Compare changes

Choose any two refs to compare.

+19 -19
backend-rs/src/server.rs
··· 28 use tokio::sync::{Mutex, MutexGuard}; 29 30 use crate::config::{LuminaConfig, LuminaLogConfig}; 31 - use crate::serve::notfound; 32 use assets::{fonts, vec_string_assets_anons_svg, STR_CLEAN_CUSTOMSTYLES_CSS}; 33 34 /// ## API's to the front-end. ··· 279 secret_key.clone(), 280 )) 281 .default_service(web::to(notfound)) 282 - .route("/", web::get().to(serve::root)) 283 - .route("/home", web::get().to(serve::homepage)) 284 - .route("/login", web::get().to(serve::login)) 285 - .route("/signup", web::get().to(serve::signup)) 286 - .route("/session/logout", web::get().to(serve::logout)) 287 - .route("/home/", web::get().to(serve::homepage)) 288 - .route("/login/", web::get().to(serve::login)) 289 - .route("/signup/", web::get().to(serve::signup)) 290 - .route("/session/logout/", web::get().to(serve::logout)) 291 - .route("/app.js", web::get().to(serve::appjs)) 292 - .route("/app.js.map", web::get().to(serve::appjsmap)) 293 .route( 294 "/api/fe/fetch-page", 295 web::post().to(api_fe::pageservresponder), ··· 307 "/api/fe/auth-create/check-username", 308 web::post().to(api_fe::check_username), 309 ) 310 - .route("/red-cross.svg", web::get().to(serve::red_cross_svg)) 311 - .route("/spinner.svg", web::get().to(serve::spinner_svg)) 312 - .route("/green-check.svg", web::get().to(serve::green_check_svg)) 313 - .route("/logo.svg", web::get().to(serve::logo_svg)) 314 - .route("/favicon.ico", web::get().to(serve::logo_png)) 315 - .route("/logo.png", web::get().to(serve::logo_png)) 316 .service(avatar) 317 .service(serve_fonts) 318 .app_data(web::Data::clone(&server_q)) ··· 418 } 419 420 mod config; 421 - mod serve; 422 423 #[doc = r"Font file server"] 424 #[get("/fonts/{a:.*}")]
··· 28 use tokio::sync::{Mutex, MutexGuard}; 29 30 use crate::config::{LuminaConfig, LuminaLogConfig}; 31 + use crate::pages::notfound; 32 use assets::{fonts, vec_string_assets_anons_svg, STR_CLEAN_CUSTOMSTYLES_CSS}; 33 34 /// ## API's to the front-end. ··· 279 secret_key.clone(), 280 )) 281 .default_service(web::to(notfound)) 282 + .route("/", web::get().to(pages::root)) 283 + .route("/home", web::get().to(pages::homepage)) 284 + .route("/login", web::get().to(pages::login)) 285 + .route("/signup", web::get().to(pages::signup)) 286 + .route("/session/logout", web::get().to(pages::logout)) 287 + .route("/home/", web::get().to(pages::homepage)) 288 + .route("/login/", web::get().to(pages::login)) 289 + .route("/signup/", web::get().to(pages::signup)) 290 + .route("/session/logout/", web::get().to(pages::logout)) 291 + .route("/app.js", web::get().to(pages::appjs)) 292 + .route("/app.js.map", web::get().to(pages::appjsmap)) 293 .route( 294 "/api/fe/fetch-page", 295 web::post().to(api_fe::pageservresponder), ··· 307 "/api/fe/auth-create/check-username", 308 web::post().to(api_fe::check_username), 309 ) 310 + .route("/red-cross.svg", web::get().to(pages::red_cross_svg)) 311 + .route("/spinner.svg", web::get().to(pages::spinner_svg)) 312 + .route("/green-check.svg", web::get().to(pages::green_check_svg)) 313 + .route("/logo.svg", web::get().to(pages::logo_svg)) 314 + .route("/favicon.ico", web::get().to(pages::logo_png)) 315 + .route("/logo.png", web::get().to(pages::logo_png)) 316 .service(avatar) 317 .service(serve_fonts) 318 .app_data(web::Data::clone(&server_q)) ··· 418 } 419 420 mod config; 421 + mod pages; 422 423 #[doc = r"Font file server"] 424 #[get("/fonts/{a:.*}")]
+17
.run/Run (with Rust backend and Gleam frontend) (1).run.xml
···
··· 1 + <component name="ProjectRunConfigurationManager"> 2 + <configuration default="false" name="Run (with Rust backend and Gleam frontend) (1)" type="ShConfigurationType"> 3 + <option name="SCRIPT_TEXT" value="bash ./build.sh --frontend=gleam --backend=rust --run" /> 4 + <option name="INDEPENDENT_SCRIPT_PATH" value="true" /> 5 + <option name="SCRIPT_PATH" value="./build.sh" /> 6 + <option name="SCRIPT_OPTIONS" value="" /> 7 + <option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" /> 8 + <option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" /> 9 + <option name="INDEPENDENT_INTERPRETER_PATH" value="true" /> 10 + <option name="INTERPRETER_PATH" value="/usr/bin/zsh" /> 11 + <option name="INTERPRETER_OPTIONS" value="" /> 12 + <option name="EXECUTE_IN_TERMINAL" value="true" /> 13 + <option name="EXECUTE_SCRIPT_FILE" value="false" /> 14 + <envs /> 15 + <method v="2" /> 16 + </configuration> 17 + </component>
+17
.run/Watch (with Rust backend and Gleam frontend).run.xml
···
··· 1 + <component name="ProjectRunConfigurationManager"> 2 + <configuration default="false" name="Watch (with Rust backend and Gleam frontend)" type="ShConfigurationType"> 3 + <option name="SCRIPT_TEXT" value="bash ./watch.sh --frontend=gleam --backend=rust" /> 4 + <option name="INDEPENDENT_SCRIPT_PATH" value="true" /> 5 + <option name="SCRIPT_PATH" value="./build.sh" /> 6 + <option name="SCRIPT_OPTIONS" value="" /> 7 + <option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" /> 8 + <option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" /> 9 + <option name="INDEPENDENT_INTERPRETER_PATH" value="true" /> 10 + <option name="INTERPRETER_PATH" value="/usr/bin/zsh" /> 11 + <option name="INTERPRETER_OPTIONS" value="" /> 12 + <option name="EXECUTE_IN_TERMINAL" value="true" /> 13 + <option name="EXECUTE_SCRIPT_FILE" value="false" /> 14 + <envs /> 15 + <method v="2" /> 16 + </configuration> 17 + </component>
-7
backend-rs/frontend_assets/svg/add.svg
··· 1 - <?xml version="1.0" encoding="UTF-8"?> 2 - <!-- 3 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 4 - ~ 5 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 6 - --> 7 - <svg width="120" height="120" version="1.1" viewBox="0 0 120 120" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(3.0862 0 0 3.0862 24.842 20.186)" display="none" fill="none" stroke="#1c274c" stroke-width="1.5"><path d="m15.287 3.1518-0.9268 0.92688-8.5213 8.5212h-1e-5c-0.57715 0.5772-0.86573 0.8657-1.1139 1.1839-0.29277 0.3754-0.54376 0.7815-0.74856 1.2112-0.17361 0.3643-0.30266 0.7515-0.56078 1.5258l-1.3611 4.0834c-0.12702 0.381-0.02785 0.8011 0.25618 1.0852 0.28403 0.284 0.70415 0.3832 1.0852 0.2562l0.80208-0.2674 3.2813-1.0938h1e-5c0.77434-0.2581 1.1615-0.3871 1.5258-0.5607 0.42971-0.2048 0.83584-0.4558 1.2112-0.7486 0.3182-0.2482 0.6067-0.5368 1.1839-1.1139l8.5212-8.5213 0.9269-0.92687c1.5357-1.5357 1.5357-4.0256 0-5.5613-1.5357-1.5357-4.0256-1.5357-5.5613 0z"/><path d="m14.36 4.0781s0.1159 1.9696 1.8538 3.7075 3.7075 1.8538 3.7075 1.8538m-15.723 12.038-1.8761-1.8762" opacity=".5"/></g><g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="60.481" cy="59.218" rx="53.378" ry="53.18" fill-opacity=".098814" opacity=".854" stroke="currentColor" stroke-width="2.8898"/><g stroke="currentColor"><path transform="matrix(.18738 .032737 -.032737 .18738 32.779 64.063)" d="m23.999 84.377 8.5638-61.703 49.155 38.268z" stroke-width="2.7789"/><path transform="matrix(.43357 .44112 -.79833 .78466 94.362 -13.574)" d="m24.951 75.234c-2.5778-3.0222-0.16522-33.42 2.857-35.998 3.0222-2.5778 33.42-0.16522 35.998 2.857 2.5778 3.0222 0.16522 33.42-2.857 35.998s-33.42 0.16522-35.998-2.857z" stroke-width="2.7789"/><path d="m44.869 57.785-6.2376 12.805" stroke-width="2.2881"/><path d="m44.009 77.824 13.937-2.9366" stroke-width="2.2881"/></g></g><ellipse transform="rotate(-33.998)" cx="46.958" cy="77.102" rx="5.2378" ry="10.761" opacity=".85" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.7789"/></svg>
···
-6
backend-rs/frontend_assets/svg/arrow-right.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg20" width="50" height="50" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" version="1.1" viewBox="0 0 50 50"><defs id="defs20"><clipPath id="p.0-1"><path id="path1-2" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><clipPath id="p.0-1-4"><path id="path1-2-0" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath></defs><clipPath id="p.0"><path id="path1" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><path id="arrowright" style="fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:2.848;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;paint-order:fill markers stroke" d="m 30.152807,9.1863138 a 7.7145349,0.13753011 41.944235 0 0 5.615234,5.2304682 7.7145349,0.13753011 41.944235 0 0 5.859375,5.082031 7.7145349,0.13753011 41.944235 0 0 -5.613281,-5.230468 7.7145349,0.13753011 41.944235 0 0 -5.861328,-5.0820312 z M 45.035619,22.438267 a 0.42024437,0.94349396 0 0 0 -0.419922,0.943359 0.42024437,0.94349396 0 0 0 0.419922,0.945313 0.42024437,0.94349396 0 0 0 0.419922,-0.945313 0.42024437,0.94349396 0 0 0 -0.419922,-0.943359 z M 18.87351,23.049595 A 14.878937,0.26167485 0 0 0 3.9946033,23.311313 14.878937,0.26167485 0 0 0 18.87351,23.573032 14.878937,0.26167485 0 0 0 33.752416,23.311313 14.878937,0.26167485 0 0 0 18.87351,23.049595 Z m 22.796875,4.263672 a 0.13753011,7.7145349 48.055765 0 0 -5.859375,5.082031 0.13753011,7.7145349 48.055765 0 0 -5.615234,5.230469 0.13753011,7.7145349 48.055765 0 0 5.859374,-5.082032 0.13753011,7.7145349 48.055765 0 0 5.615235,-5.230468 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/avatar1.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" id="svg20" width="50" height="50" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" version="1.1" viewBox="0 0 50 50"><defs id="defs20"><clipPath id="p.0-1"><path id="path1-2" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><clipPath id="p.0-1-4"><path id="path1-2-0" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath></defs><clipPath id="p.0"><path id="path1" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><ellipse style="display:block;fill:#c4c4c4;fill-opacity:.348548;stroke:none;stroke-width:6.38572;stroke-dasharray:none;shape-rendering:auto" id="path2" cx="25.036" cy="25.14" rx="24.894" ry="24.993"/><path id="path3" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 13.675942,34.154429 3.3403878,63.076639" style="stroke-width:.104845"/><path id="path4" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 13.675942,34.154429 3.3403878,63.076639"/><path id="path5" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 3.3394916,63.076641 26.463401,62.627244" style="stroke-width:.104845"/><path id="path6" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 3.3394916,63.076641 26.463401,62.627244"/><path id="path7" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 37.137291,33.627544 49.257679,62.051776" style="stroke-width:.104845"/><path id="path8" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 37.137291,33.627544 49.257679,62.051776"/><path id="path9" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 49.257334,62.050424 26.137015,62.62735" style="stroke-width:.104845"/><path id="path10" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 49.257334,62.050424 26.137015,62.62735"/><path id="path11" fill="#cfe2f3" fill-rule="evenodd" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z" style="fill:#b9bbee;fill-opacity:1;stroke-width:.104845"/><path id="path12" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z"/><path id="path13" fill="#434343" fill-rule="evenodd" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z" style="stroke-width:.104845"/><path id="path14" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z"/><path id="path20" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548"/><path id="path15" fill="#434343" fill-rule="evenodd" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z" style="stroke-width:.104845"/><path id="path16" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z"/><path id="path17" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396" style="stroke-width:.104845"/><path id="path18" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396"/><path id="path19" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548" style="stroke-width:.104845"/><path style="fill:maroon;fill-opacity:.348548;stroke-width:.108022" id="path21" d="M 3.5645052,62.796866 C 3.6113167,62.628582 12.372818,38.099617 12.938598,36.543302 l 0.276237,-0.759135 0.848439,0.750487 c 1.871046,1.654958 3.780284,2.690927 6.22895,3.37969 1.610931,0.452965 2.540168,0.572693 4.478365,0.574688 1.354292,0.0016 1.848306,-0.03327 2.692999,-0.172274 3.687715,-0.621914 7.078461,-2.478145 9.331288,-5.108942 l 0.593271,-0.692819 0.105003,0.225485 c 0.554477,1.190483 11.566724,27.158366 11.529936,27.189496 -0.08494,0.07117 -21.916135,0.603955 -36.430422,0.88877 -9.9347255,0.19489 -9.0927079,0.196886 -9.0278297,-0.01995 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/avatar2.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg20" width="50" height="50" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" version="1.1" viewBox="0 0 50 50"><defs id="defs20"><clipPath id="p.0-1"><path id="path1-2" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><clipPath id="p.0-1-4"><path id="path1-2-0" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath></defs><clipPath id="p.0"><path id="path1" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><ellipse style="display:block;fill:#c4c4c4;fill-opacity:.348548;stroke:none;stroke-width:6.38572;stroke-dasharray:none;shape-rendering:auto" id="path2" cx="25.036" cy="25.14" rx="24.894" ry="24.993"/><path id="path3" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 13.675942,34.154429 3.3403878,63.076639" style="stroke-width:.104845"/><path id="path4" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 13.675942,34.154429 3.3403878,63.076639"/><path id="path5" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 3.3394916,63.076641 26.463401,62.627244" style="stroke-width:.104845"/><path id="path6" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 3.3394916,63.076641 26.463401,62.627244"/><path id="path7" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 37.137291,33.627544 49.257679,62.051776" style="stroke-width:.104845"/><path id="path8" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 37.137291,33.627544 49.257679,62.051776"/><path id="path9" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 49.257334,62.050424 26.137015,62.62735" style="stroke-width:.104845"/><path id="path10" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 49.257334,62.050424 26.137015,62.62735"/><path id="path11" fill="#cfe2f3" fill-rule="evenodd" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z" style="fill:#eeddb9;fill-opacity:1;stroke-width:.104845"/><path id="path12" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z"/><path id="path13" fill="#434343" fill-rule="evenodd" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z" style="stroke-width:.104845"/><path id="path14" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z"/><path id="path20" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548"/><path id="path15" fill="#434343" fill-rule="evenodd" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z" style="stroke-width:.104845"/><path id="path16" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z"/><path id="path17" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396" style="stroke-width:.104845"/><path id="path18" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396"/><path id="path19" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548" style="stroke-width:.104845"/><path style="fill:#002780;fill-opacity:.34854802;stroke-width:.108022" id="path21" d="M 3.5645052,62.796866 C 3.6113167,62.628582 12.372818,38.099617 12.938598,36.543302 l 0.276237,-0.759135 0.848439,0.750487 c 1.871046,1.654958 3.780284,2.690927 6.22895,3.37969 1.610931,0.452965 2.540168,0.572693 4.478365,0.574688 1.354292,0.0016 1.848306,-0.03327 2.692999,-0.172274 3.687715,-0.621914 7.078461,-2.478145 9.331288,-5.108942 l 0.593271,-0.692819 0.105003,0.225485 c 0.554477,1.190483 11.566724,27.158366 11.529936,27.189496 -0.08494,0.07117 -21.916135,0.603955 -36.430422,0.88877 -9.9347255,0.19489 -9.0927079,0.196886 -9.0278297,-0.01995 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/avatar3.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg20" width="50" height="50" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" version="1.1" viewBox="0 0 50 50"><defs id="defs20"><clipPath id="p.0-1"><path id="path1-2" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><clipPath id="p.0-1-4"><path id="path1-2-0" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath></defs><clipPath id="p.0"><path id="path1" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><ellipse style="display:block;fill:#c4c4c4;fill-opacity:.348548;stroke:none;stroke-width:6.38572;stroke-dasharray:none;shape-rendering:auto" id="path2" cx="25.036" cy="25.14" rx="24.894" ry="24.993"/><path id="path3" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 13.675942,34.154429 3.3403878,63.076639" style="stroke-width:.104845"/><path id="path4" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 13.675942,34.154429 3.3403878,63.076639"/><path id="path5" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 3.3394916,63.076641 26.463401,62.627244" style="stroke-width:.104845"/><path id="path6" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 3.3394916,63.076641 26.463401,62.627244"/><path id="path7" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 37.137291,33.627544 49.257679,62.051776" style="stroke-width:.104845"/><path id="path8" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 37.137291,33.627544 49.257679,62.051776"/><path id="path9" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 49.257334,62.050424 26.137015,62.62735" style="stroke-width:.104845"/><path id="path10" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 49.257334,62.050424 26.137015,62.62735"/><path id="path11" fill="#cfe2f3" fill-rule="evenodd" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z" style="fill:#a8ffa3;fill-opacity:1;stroke-width:.104845"/><path id="path12" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z"/><path id="path13" fill="#434343" fill-rule="evenodd" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z" style="stroke-width:.104845"/><path id="path14" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z"/><path id="path20" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548"/><path id="path15" fill="#434343" fill-rule="evenodd" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z" style="stroke-width:.104845"/><path id="path16" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z"/><path id="path17" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396" style="stroke-width:.104845"/><path id="path18" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396"/><path id="path19" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548" style="stroke-width:.104845"/><path style="fill:#9704ff;fill-opacity:.34854802;stroke-width:.108022" id="path21" d="M 3.5645052,62.796866 C 3.6113167,62.628582 12.372818,38.099617 12.938598,36.543302 l 0.276237,-0.759135 0.848439,0.750487 c 1.871046,1.654958 3.780284,2.690927 6.22895,3.37969 1.610931,0.452965 2.540168,0.572693 4.478365,0.574688 1.354292,0.0016 1.848306,-0.03327 2.692999,-0.172274 3.687715,-0.621914 7.078461,-2.478145 9.331288,-5.108942 l 0.593271,-0.692819 0.105003,0.225485 c 0.554477,1.190483 11.566724,27.158366 11.529936,27.189496 -0.08494,0.07117 -21.916135,0.603955 -36.430422,0.88877 -9.9347255,0.19489 -9.0927079,0.196886 -9.0278297,-0.01995 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/avatar4.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg20" width="50" height="50" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" version="1.1" viewBox="0 0 50 50"><defs id="defs20"><clipPath id="p.0-1"><path id="path1-2" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><clipPath id="p.0-1-4"><path id="path1-2-0" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath></defs><clipPath id="p.0"><path id="path1" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><ellipse style="display:block;fill:#c4c4c4;fill-opacity:.348548;stroke:none;stroke-width:6.38572;stroke-dasharray:none;shape-rendering:auto" id="path2" cx="25.036" cy="25.14" rx="24.894" ry="24.993"/><path id="path3" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 13.675942,34.154429 3.3403878,63.076639" style="stroke-width:.104845"/><path id="path4" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 13.675942,34.154429 3.3403878,63.076639"/><path id="path5" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 3.3394916,63.076641 26.463401,62.627244" style="stroke-width:.104845"/><path id="path6" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 3.3394916,63.076641 26.463401,62.627244"/><path id="path7" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 37.137291,33.627544 49.257679,62.051776" style="stroke-width:.104845"/><path id="path8" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 37.137291,33.627544 49.257679,62.051776"/><path id="path9" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 49.257334,62.050424 26.137015,62.62735" style="stroke-width:.104845"/><path id="path10" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 49.257334,62.050424 26.137015,62.62735"/><path id="path11" fill="#cfe2f3" fill-rule="evenodd" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z" style="fill:#e0eae0;fill-opacity:1;stroke-width:.104845"/><path id="path12" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z"/><path id="path13" fill="#434343" fill-rule="evenodd" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z" style="stroke-width:.104845"/><path id="path14" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z"/><path id="path20" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548"/><path id="path15" fill="#434343" fill-rule="evenodd" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z" style="stroke-width:.104845"/><path id="path16" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z"/><path id="path17" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396" style="stroke-width:.104845"/><path id="path18" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396"/><path id="path19" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548" style="stroke-width:.104845"/><path style="fill:#36b2ac;fill-opacity:.34854802;stroke-width:.108022" id="path21" d="M 3.5645052,62.796866 C 3.6113167,62.628582 12.372818,38.099617 12.938598,36.543302 l 0.276237,-0.759135 0.848439,0.750487 c 1.871046,1.654958 3.780284,2.690927 6.22895,3.37969 1.610931,0.452965 2.540168,0.572693 4.478365,0.574688 1.354292,0.0016 1.848306,-0.03327 2.692999,-0.172274 3.687715,-0.621914 7.078461,-2.478145 9.331288,-5.108942 l 0.593271,-0.692819 0.105003,0.225485 c 0.554477,1.190483 11.566724,27.158366 11.529936,27.189496 -0.08494,0.07117 -21.916135,0.603955 -36.430422,0.88877 -9.9347255,0.19489 -9.0927079,0.196886 -9.0278297,-0.01995 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/avatar5.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg20" width="50" height="50" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" version="1.1" viewBox="0 0 50 50"><defs id="defs20"><clipPath id="p.0-1"><path id="path1-2" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><clipPath id="p.0-1-4"><path id="path1-2-0" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath></defs><clipPath id="p.0"><path id="path1" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><ellipse style="display:block;fill:#c4c4c4;fill-opacity:.348548;stroke:none;stroke-width:6.38572;stroke-dasharray:none;shape-rendering:auto" id="path2" cx="25.036" cy="25.14" rx="24.894" ry="24.993"/><path id="path3" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 13.675942,34.154429 3.3403878,63.076639" style="stroke-width:.104845"/><path id="path4" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 13.675942,34.154429 3.3403878,63.076639"/><path id="path5" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 3.3394916,63.076641 26.463401,62.627244" style="stroke-width:.104845"/><path id="path6" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 3.3394916,63.076641 26.463401,62.627244"/><path id="path7" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 37.137291,33.627544 49.257679,62.051776" style="stroke-width:.104845"/><path id="path8" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 37.137291,33.627544 49.257679,62.051776"/><path id="path9" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 49.257334,62.050424 26.137015,62.62735" style="stroke-width:.104845"/><path id="path10" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 49.257334,62.050424 26.137015,62.62735"/><path id="path11" fill="#cfe2f3" fill-rule="evenodd" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z" style="fill:#643267;fill-opacity:1;stroke-width:.104845"/><path id="path12" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z"/><path id="path13" fill="#434343" fill-rule="evenodd" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z" style="stroke-width:.104845"/><path id="path14" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z"/><path id="path20" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548"/><path id="path15" fill="#434343" fill-rule="evenodd" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z" style="stroke-width:.104845"/><path id="path16" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z"/><path id="path17" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396" style="stroke-width:.104845"/><path id="path18" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396"/><path id="path19" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548" style="stroke-width:.104845"/><path style="fill:#6bd800;fill-opacity:.51393187;stroke-width:.108022" id="path21" d="M 3.5645052,62.796866 C 3.6113167,62.628582 12.372818,38.099617 12.938598,36.543302 l 0.276237,-0.759135 0.848439,0.750487 c 1.871046,1.654958 3.780284,2.690927 6.22895,3.37969 1.610931,0.452965 2.540168,0.572693 4.478365,0.574688 1.354292,0.0016 1.848306,-0.03327 2.692999,-0.172274 3.687715,-0.621914 7.078461,-2.478145 9.331288,-5.108942 l 0.593271,-0.692819 0.105003,0.225485 c 0.554477,1.190483 11.566724,27.158366 11.529936,27.189496 -0.08494,0.07117 -21.916135,0.603955 -36.430422,0.88877 -9.9347255,0.19489 -9.0927079,0.196886 -9.0278297,-0.01995 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/avatar6.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg20" width="50" height="50" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" version="1.1" viewBox="0 0 50 50"><defs id="defs20"><clipPath id="p.0-1"><path id="path1-2" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><clipPath id="p.0-1-4"><path id="path1-2-0" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath></defs><clipPath id="p.0"><path id="path1" d="M 0,0 H 960 V 720 H 0 Z" clip-rule="nonzero"/></clipPath><ellipse style="display:block;fill:#c4c4c4;fill-opacity:.348548;stroke:none;stroke-width:6.38572;stroke-dasharray:none;shape-rendering:auto" id="path2" cx="25.036" cy="25.14" rx="24.894" ry="24.993"/><path id="path3" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 13.675942,34.154429 3.3403878,63.076639" style="stroke-width:.104845"/><path id="path4" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 13.675942,34.154429 3.3403878,63.076639"/><path id="path5" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 3.3394916,63.076641 26.463401,62.627244" style="stroke-width:.104845"/><path id="path6" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 3.3394916,63.076641 26.463401,62.627244"/><path id="path7" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 37.137291,33.627544 49.257679,62.051776" style="stroke-width:.104845"/><path id="path8" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 37.137291,33.627544 49.257679,62.051776"/><path id="path9" fill="#000" fill-opacity="0" fill-rule="evenodd" d="M 49.257334,62.050424 26.137015,62.62735" style="stroke-width:.104845"/><path id="path10" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="M 49.257334,62.050424 26.137015,62.62735"/><path id="path11" fill="#cfe2f3" fill-rule="evenodd" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z" style="fill:#454;fill-opacity:1;stroke-width:.104845"/><path id="path12" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 9.6085775,26.677672 v 0 c 0,-7.605971 6.7859175,-13.771827 15.1567725,-13.771827 q 7.578387,0 15.156777,0 0,6.885913 0,13.771827 v 0 c 0,7.605972 -6.785918,13.771829 -15.156777,13.771829 v 0 c -8.370854,0 -15.1567725,-6.165857 -15.1567725,-13.771829 z"/><path id="path13" fill="#434343" fill-rule="evenodd" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z" style="stroke-width:.104845"/><path id="path14" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 14.49534,21.551888 v 0 c 0,-1.267803 0.992846,-2.295558 2.217581,-2.295558 v 0 c 0.588139,0 1.152192,0.241852 1.568067,0.672353 0.415878,0.430502 0.649516,1.014385 0.649516,1.623205 v 0 c 0,1.267801 -0.992845,2.295557 -2.217583,2.295557 v 0 c -1.224735,0 -2.217581,-1.027756 -2.217581,-2.295557 z"/><path id="path20" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548"/><path id="path15" fill="#434343" fill-rule="evenodd" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z" style="stroke-width:.104845"/><path id="path16" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 26.060287,21.551888 v 0 c 0,-1.267803 0.992843,-2.295558 2.217583,-2.295558 v 0 c 0.588137,0 1.152191,0.241852 1.568069,0.672353 0.415875,0.430502 0.649513,1.014385 0.649513,1.623205 v 0 c 0,1.267801 -0.992847,2.295557 -2.217582,2.295557 v 0 c -1.22474,0 -2.217583,-1.027756 -2.217583,-2.295557 z"/><path id="path17" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396" style="stroke-width:.104845"/><path id="path18" fill-rule="evenodd" stroke="#000" stroke-linecap="butt" stroke-linejoin="round" stroke-width=".105" d="m 16.124261,30.350767 c 1.176125,0 1.764191,0.516197 2.352254,1.032392 0.588061,0.5162 1.176126,1.032396 2.352253,1.032396"/><path id="path19" fill="#000" fill-opacity="0" fill-rule="evenodd" d="m 20.920344,32.493238 c 1.379928,0 2.069892,-0.210275 2.759856,-0.420549 0.689963,-0.210275 1.379927,-0.420548 2.759858,-0.420548" style="stroke-width:.104845"/><path style="fill:#d89800;fill-opacity:.51393187;stroke-width:.108022" id="path21" d="M 3.5645052,62.796866 C 3.6113167,62.628582 12.372818,38.099617 12.938598,36.543302 l 0.276237,-0.759135 0.848439,0.750487 c 1.871046,1.654958 3.780284,2.690927 6.22895,3.37969 1.610931,0.452965 2.540168,0.572693 4.478365,0.574688 1.354292,0.0016 1.848306,-0.03327 2.692999,-0.172274 3.687715,-0.621914 7.078461,-2.478145 9.331288,-5.108942 l 0.593271,-0.692819 0.105003,0.225485 c 0.554477,1.190483 11.566724,27.158366 11.529936,27.189496 -0.08494,0.07117 -21.916135,0.603955 -36.430422,0.88877 -9.9347255,0.19489 -9.0927079,0.196886 -9.0278297,-0.01995 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/bell.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg1" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true" class="inline w-6 h-6" version="1.1" viewBox="0 0 24 24"><path id="path1" stroke-linecap="round" stroke-linejoin="round" d="M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"/><ellipse style="stroke-opacity:1;stroke-dasharray:none;stroke-width:.9;stroke:#000;fill-rule:evenodd;fill:red" id="path2" cx="16.526" cy="19.078" class="svg_activenotification" rx="1.919" ry="1.817"/></svg>
···
-7
backend-rs/frontend_assets/svg/boost.svg
··· 1 - <?xml version="1.0" encoding="UTF-8"?> 2 - <!-- 3 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 4 - ~ 5 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 6 - --> 7 - <svg width="120" height="120" version="1.1" viewBox="0 0 120 120" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><ellipse cx="58.299" cy="60.059" rx="42.156" ry="40.068" fill-opacity=".098814" opacity=".85" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1034"/><g transform="matrix(-.46196 -.12948 -.14495 .51715 104.99 42.454)" fill-opacity=".9885" opacity=".85" stroke="currentColor" stroke-linecap="square"><rect transform="matrix(-.61519 -.78838 .72963 -.68384 0 0)" x="-140.46" y="5.9193" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5232" style="paint-order:fill markers stroke"/><rect x="21.656" y="25.317" width="3.2053" height="67.868" ry=".27051" stroke-width="4.514" style="paint-order:fill markers stroke"/><rect transform="matrix(-.61519 .78838 .72963 .68384 0 0)" x="32.372" y="69.376" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5232" style="paint-order:fill markers stroke"/><rect transform="rotate(90)" x="89.925" y="-88.832" width="3.2437" height="67.064" ry=".2673" stroke-width="4.514" style="paint-order:fill markers stroke"/><rect transform="matrix(-.64475 -.76439 .75555 -.6551 0 0)" x="-150.67" y="-2.4582" width="3.5364" height="26.57" ry=".1059" stroke-width="4.5142" style="paint-order:fill markers stroke"/><rect transform="matrix(-.61519 .78838 .72963 .68384 0 0)" x="-6.9496" y="119.46" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5227" style="paint-order:fill markers stroke"/><rect transform="matrix(-.64475 .76439 .75555 .6551 0 0)" x="-12.385" y="115.05" width="3.5364" height="26.57" ry=".1059" stroke-width="4.5142" style="paint-order:fill markers stroke"/></g><g transform="matrix(.46196 .12948 .14495 -.51715 13.238 80.586)" fill-opacity=".9885" opacity=".85" stroke="currentColor" stroke-linecap="square"><rect transform="matrix(-.61519 -.78838 .72963 -.68384 0 0)" x="-140.46" y="5.9193" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5232" style="paint-order:fill markers stroke"/><rect x="21.656" y="25.317" width="3.2053" height="67.868" ry=".27051" stroke-width="4.514" style="paint-order:fill markers stroke"/><rect transform="matrix(-.61519 .78838 .72963 .68384 0 0)" x="32.372" y="69.376" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5232" style="paint-order:fill markers stroke"/><rect transform="rotate(90)" x="89.925" y="-88.832" width="3.2437" height="67.064" ry=".2673" stroke-width="4.514" style="paint-order:fill markers stroke"/><rect transform="matrix(-.64475 -.76439 .75555 -.6551 0 0)" x="-150.67" y="-2.4582" width="3.5364" height="26.57" ry=".1059" stroke-width="4.5142" style="paint-order:fill markers stroke"/><rect transform="matrix(-.61519 .78838 .72963 .68384 0 0)" x="-6.9496" y="119.46" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5227" style="paint-order:fill markers stroke"/><rect transform="matrix(-.64475 .76439 .75555 .6551 0 0)" x="-12.385" y="115.05" width="3.5364" height="26.57" ry=".1059" stroke-width="4.5142" style="paint-order:fill markers stroke"/></g></svg>
···
-17
backend-rs/frontend_assets/svg/comment.svg
··· 1 - <?xml version="1.0" encoding="UTF-8"?> 2 - <!-- 3 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 4 - ~ 5 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 6 - --> 7 - <svg width="120" height="120" version="1.1" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"> 8 - <g transform="matrix(-.70451 0 0 .69982 104.54 6.742)" fill-opacity=".9885" stroke="currentColor" stroke-linecap="square"> 9 - <rect transform="matrix(-.61519 -.78838 .72963 -.68384 0 0)" x="-140.46" y="5.9193" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5232" style="paint-order:fill markers stroke"/> 10 - <rect x="21.656" y="25.317" width="3.2053" height="67.868" ry=".27051" stroke-width="4.514" style="paint-order:fill markers stroke"/> 11 - <rect transform="matrix(-.61519 .78838 .72963 .68384 0 0)" x="32.372" y="69.376" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5232" style="paint-order:fill markers stroke"/> 12 - <rect transform="rotate(90)" x="89.925" y="-88.832" width="3.2437" height="67.064" ry=".2673" stroke-width="4.514" style="paint-order:fill markers stroke"/> 13 - <rect transform="matrix(-.64475 -.76439 .75555 -.6551 0 0)" x="-150.67" y="-2.4582" width="3.5364" height="26.57" ry=".1059" stroke-width="4.5142" style="paint-order:fill markers stroke"/> 14 - <rect transform="matrix(-.61519 .78838 .72963 .68384 0 0)" x="-6.9496" y="119.46" width="2.0121" height="14.936" ry=".059533" stroke-width="4.5227" style="paint-order:fill markers stroke"/> 15 - <rect transform="matrix(-.64475 .76439 .75555 .6551 0 0)" x="-12.385" y="115.05" width="3.5364" height="26.57" ry=".1059" stroke-width="4.5142" style="paint-order:fill markers stroke"/> 16 - </g> 17 - </svg>
···
-6
backend-rs/frontend_assets/svg/green_check.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" style="display:block;shape-rendering:auto" id="svg12" width="10" height="10" preserveAspectRatio="xMidYMid" version="1.1" viewBox="0 0 5 5"><defs id="defs12"><linearGradient id="linearGradient7"><stop style="stop-color:#d3d3d3;stop-opacity:1" id="stop8" offset="0"/><stop style="stop-color:#d3d3d3;stop-opacity:0" id="stop9" offset="1"/></linearGradient></defs><ellipse style="display:block;shape-rendering:auto;fill:#c4c4c4;stroke-width:.6375;fill-opacity:.34854773;stroke-dasharray:none;stroke:none" id="path2" cx="2.511" cy="2.511" rx="2.483" ry="2.497"/><path style="fill:#0f0;stroke-width:.323941" id="path1" d="m 1.3269245,1.5156002 c 0.1393806,-0.00489 0.2772916,-0.029078 0.4152688,-0.048014 0.025488,-0.0035 0.081815,-0.011673 0.1025075,-0.00509 0.00293,9.347e-4 -0.00115,0.00702 0.00132,0.0088 0.00526,0.00377 0.022336,-0.00756 0.027597,-0.00379 0.00495,0.00355 0.00176,0.011729 0.00264,0.0176 0.00397,0.026466 3.55e-4,0.04936 -0.00784,0.072923 -0.00622,0.017874 0.011863,0.062224 0.011876,0.079199 1.91e-5,0.03279 -0.00538,0.065736 -0.00389,0.099323 0.003,0.066958 0.020415,0.1361167 0.030355,0.2023963 0.021997,0.1466642 0.043993,0.2933281 0.065989,0.4399921 0.015182,0.1012244 0.022315,0.208489 0.046192,0.3079945 0.010398,0.043339 0.02408,0.086978 0.038194,0.1294718 0.0047,0.01412 0.00252,0.029707 0.0066,0.044 0.00813,0.028486 0.02459,0.057255 0.031595,0.085473 0.00815,0.032823 0.00509,0.097506 0.019796,0.1319979 0.00422,0.0099 0.012928,-0.018339 0.014437,-0.028925 0.00763,-0.053416 0.035616,-0.1040133 0.061673,-0.1521602 0.00949,-0.017528 0.038442,-0.060164 0.044635,-0.077974 0.00196,-0.00563 -0.0041,-0.011839 -0.00264,-0.017601 0.0098,-0.038652 0.014972,-0.063276 0.022278,-0.101848 0.00567,-0.029961 0.034861,-0.049865 0.044636,-0.077974 0.00262,-0.00754 -0.00659,-0.018855 -0.00397,-0.0264 0.00553,-0.015906 0.023101,-0.025547 0.031516,-0.04025 0.00666,-0.011618 0.00715,-0.025766 0.013114,-0.037725 0.02929,-0.058677 0.1052461,-0.104809 0.1365842,-0.1534607 0.00514,-0.00798 0.00144,-0.019023 0.00525,-0.027662 0.013087,-0.029798 0.039744,-0.057152 0.052515,-0.088035 0.00361,-0.00871 8.213e-4,-0.0193 0.00525,-0.027662 0.025269,-0.047798 0.066769,-0.090794 0.09191,-0.1383482 0.024264,-0.045897 0.041335,-0.096475 0.062994,-0.1433602 0.017293,-0.037435 0.051758,-0.063635 0.069592,-0.099362 0.00133,-0.00267 -0.00318,-0.00643 -0.00132,-0.0088 0.00186,-0.00237 0.00734,0.00111 0.0092,-0.00126 0.00371,-0.00474 -0.00635,-0.012857 -0.00264,-0.0176 0.00185,-0.00237 0.00734,0.00111 0.0092,-0.00126 0.00186,-0.00237 -0.0023,-0.00599 -0.00132,-0.0088 0.00138,-0.00398 0.00526,-0.0067 0.00788,-0.010063 0.00349,-0.018441 0.00515,-0.03729 0.010478,-0.055325 0.00608,-0.020562 0.017806,-0.03929 0.028877,-0.057848 0.014154,-0.023728 0.033648,-0.04452 0.045955,-0.069173 0.00298,-0.00599 0.00241,-0.013559 0.00656,-0.018862 0.00415,-0.0053 0.012928,-0.00602 0.017079,-0.011329 0.0067,-0.00855 0.00775,-0.020373 0.014437,-0.028925 0.012408,-0.015849 0.053261,-0.04705 0.065672,-0.062899 0.011543,-0.014747 0.010385,-0.040356 0.019678,-0.056586 0.024247,-0.042359 0.050559,-0.084621 0.074831,-0.127023 0.00276,-0.00482 0.00168,-0.044078 0.0026,-0.045262 0.00813,-0.010393 0.070227,-0.00964 0.08279,-0.011357 0.050123,-0.00688 0.2347721,-0.035977 0.2391704,-0.032826 0.00249,0.00178 -0.00116,0.00702 0.00132,0.0088 0.00318,0.00227 0.054872,-0.00753 0.055193,-0.00757 0.042975,-0.00589 0.2015482,-0.044077 0.2312916,-0.022763 0.00965,0.00692 0.00877,0.058479 0.010558,0.070399 0.00847,0.05647 -0.011556,0.1619356 -0.053754,0.2049592 -0.029007,0.029577 -0.061027,0.054924 -0.090625,0.084284 -0.021287,0.021117 -0.03536,0.04803 -0.055153,0.070437 -0.017328,0.019613 -0.090118,0.081583 -0.095869,0.1119479 -0.00305,0.016112 4.505e-4,0.029151 -0.0026,0.045262 -0.00278,0.014692 -0.01917,0.030801 -0.020997,0.047787 -0.00262,0.024357 -0.00726,0.048285 -0.00784,0.072923 0.035952,0.029065 -0.010092,0.03065 -0.011796,0.046524 -0.00127,0.011784 0.0075,0.023535 0.00529,0.035199 -0.0075,0.039597 -0.00397,0.1121668 -0.01568,0.1458477 -0.00414,0.011935 -0.017595,0.019023 -0.023637,0.030187 -0.017663,0.032636 -0.030201,0.096274 -0.045915,0.1320351 -0.01133,0.025771 -0.022,0.051886 -0.035436,0.076712 -0.010065,0.018607 -0.030908,0.030995 -0.039395,0.050311 -0.00379,0.00865 -0.00182,0.018881 -0.00525,0.027662 -0.1090605,0.2798502 0.014303,-0.048289 -0.057754,0.1156978 -0.01826,0.041556 -0.031432,0.090389 -0.045915,0.132035 -0.00887,0.025486 0.00272,0.055171 -0.00652,0.081724 -0.00489,0.014059 -0.016795,0.025145 -0.022318,0.038986 -0.00595,0.014908 -0.00534,0.031813 -0.011796,0.046524 -0.031416,0.071497 -0.091898,0.1278488 -0.1405037,0.1899225 -0.045895,0.058612 -0.086435,0.1208723 -0.1326244,0.1798601 -0.027898,0.035627 -0.055299,0.07739 -0.08667,0.1106856 -0.00748,0.00794 -0.018261,0.01283 -0.024958,0.021387 -0.051467,0.065728 0.050898,-0.035662 -0.022318,0.038986 -0.038362,0.039113 -0.067069,0.080493 -0.1037483,0.1220108 -0.0072,0.00816 -0.018967,0.012375 -0.024958,0.021387 -0.00969,0.014584 -0.012129,0.032734 -0.020998,0.047787 -0.048236,0.081878 -0.054868,0.074472 -0.1089873,0.1496729 -0.1177969,0.1636876 0.035137,-0.04153 -0.066952,0.1169615 -0.00493,0.00765 -0.020753,0.00553 -0.026277,0.012582 -0.00262,0.00336 -0.00261,0.024308 -0.00525,0.027662 -0.00123,0.00157 -0.035157,0.00622 -0.036795,0.00505 -0.00248,-0.00178 0.00116,-0.00702 -0.00132,-0.0088 -0.00389,-0.00278 -0.064894,-0.024554 -0.069672,-0.026362 -0.045239,-0.017118 -0.041467,-0.010049 -0.077551,-0.016299 -0.00863,-0.0015 -0.012728,-0.01243 -0.021037,-0.015075 -0.00929,-0.00296 -0.019887,-0.00138 -0.028917,-0.00501 -0.027662,-0.011119 -0.05166,-0.033196 -0.081506,-0.042695 -0.035476,-0.011288 -0.080173,-0.015408 -0.116985,-0.028849 -0.054014,-0.019721 -0.1042196,-0.053369 -0.1603798,-0.067798 -0.00598,-0.00153 -0.012515,0.00439 -0.018398,0.00252 -0.00421,-0.00134 -0.020109,-0.054248 -0.019757,-0.069136 0.00127,-0.053764 0.021508,-0.1135489 0.031438,-0.1659723 0.00815,-0.042999 -5.144e-4,-0.111949 -0.00404,-0.1521235 C 1.664044,3.1233123 1.6246767,2.9375429 1.5971214,2.7538145 1.5879482,2.692646 1.5666183,2.6222172 1.5680868,2.5602179 1.5697777,2.4886934 1.5756091,2.4160872 1.5732126,2.3439717 1.570723,2.269314 1.5499403,2.1888002 1.5388979,2.1151758 1.5311626,2.0636007 1.5306434,1.998637 1.5138215,1.9479789 1.4964698,1.8957362 1.4757364,1.8468165 1.4624693,1.7933694 1.4517651,1.750263 1.4353479,1.687349 1.440033,1.6437721 c 4.488e-4,-0.00417 0.0071,-0.00593 0.00788,-0.010063 0.00429,-0.022602 -0.010078,-0.062767 -0.021077,-0.077937 -0.00353,-0.00487 0.00232,-0.014047 -0.00264,-0.0176 -0.00526,-0.00377 -0.014459,-0.00251 -0.019718,-0.00628 -0.00495,-0.00355 0.00232,-0.014047 -0.00264,-0.0176 -0.00526,-0.00377 -0.014459,-0.00251 -0.019718,-0.00628 -0.00248,-0.00178 0.00174,-0.00922 -0.00132,-0.0088 -0.018651,0.00256 -0.035915,0.010916 -0.053874,0.016375 z"/></svg>
···
-100
backend-rs/frontend_assets/svg/luminalogo-0.svg
··· 1 - <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 - <!-- 3 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 4 - ~ 5 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 6 - --> 7 - 8 - <svg 9 - id="svg1" 10 - width="120" 11 - height="120" 12 - version="1.1" 13 - viewBox="0 0 120 120" 14 - sodipodi:docname="luminalogo-0.svg" 15 - inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" 16 - inkscape:export-filename="../png/luminalogo-0.png" 17 - inkscape:export-xdpi="96" 18 - inkscape:export-ydpi="96" 19 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 20 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 21 - xmlns="http://www.w3.org/2000/svg" 22 - xmlns:svg="http://www.w3.org/2000/svg"> 23 - <defs 24 - id="defs1" /> 25 - <sodipodi:namedview 26 - id="namedview1" 27 - pagecolor="#ffffff" 28 - bordercolor="#000000" 29 - borderopacity="0.25" 30 - inkscape:showpageshadow="2" 31 - inkscape:pageopacity="0.0" 32 - inkscape:pagecheckerboard="0" 33 - inkscape:deskcolor="#d1d1d1" 34 - inkscape:zoom="3.2785512" 35 - inkscape:cx="14.3356" 36 - inkscape:cy="36.601533" 37 - inkscape:window-width="1920" 38 - inkscape:window-height="1128" 39 - inkscape:window-x="0" 40 - inkscape:window-y="0" 41 - inkscape:window-maximized="1" 42 - inkscape:current-layer="svg1" /> 43 - <g 44 - id="layer1" 45 - transform="translate(-1.1977755,1.3276101)"> 46 - <ellipse 47 - style="fill:#ffcc00" 48 - id="path1" 49 - cx="32.622002" 50 - cy="99.763" 51 - rx="14.187" 52 - ry="13.374" /> 53 - <ellipse 54 - style="fill:#000080" 55 - id="path2" 56 - cx="107.5645" 57 - cy="46.181362" 58 - rx="13.374" 59 - ry="15.091" /> 60 - <ellipse 61 - style="fill:#4d4d4d" 62 - id="path3" 63 - cx="26.115999" 64 - cy="28.646" 65 - rx="26.837999" 66 - ry="27.561001" /> 67 - <ellipse 68 - style="fill:#d38d5f" 69 - id="path4" 70 - cx="78.708" 71 - cy="30.181999" 72 - rx="6.5970001" 73 - ry="6.3260002" /> 74 - <path 75 - style="fill:#000000" 76 - id="path8" 77 - d="m 28.555366,54.21905 c 4.698985,33.615811 4.698985,33.615811 4.698985,33.615811" /> 78 - <path 79 - style="fill:#ffaeae;fill-opacity:1" 80 - id="path12" 81 - d="m 26.748065,29.459017 9.036508,67.231623 -0.72292,0.18073" /> 82 - <path 83 - style="fill:#790000;fill-opacity:1;stroke-width:2.16341" 84 - id="path14" 85 - d="m 112.07197,52.140484 -80.699252,-12.786469 2.519513,5.460883 v 0 0" 86 - sodipodi:nodetypes="ccccc" /> 87 - <path 88 - style="fill:#cd0909;fill-opacity:1" 89 - id="path13" 90 - d="m 35.423113,96.69064 42.83305,-65.424321 0.90365,0.542191 -42.833049,66.147241 h -0.18073 z" /> 91 - <path 92 - style="fill:#ff0000;stroke-width:3.57723" 93 - id="path15" 94 - d="M 82.607667,34.648745 111.7959,52.394116 v 0 L 78.614522,29.156547 Z" /> 95 - <path 96 - style="fill:#b94646;fill-opacity:1" 97 - id="path16" 98 - d="m 74.641559,29.820478 -39.760637,7.409937 v 0 l 38.676256,-9.397969 v 0 0 z" /> 99 - </g> 100 - </svg>
···
-109
backend-rs/frontend_assets/svg/luminalogo-1.svg
··· 1 - <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 - <!-- 3 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 4 - ~ 5 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 6 - --> 7 - 8 - <svg 9 - id="svg1" 10 - width="120" 11 - height="120" 12 - version="1.1" 13 - viewBox="0 0 120 120" 14 - sodipodi:docname="luminalogo-1.svg" 15 - inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" 16 - inkscape:export-filename="../png/luminalogo-1.png" 17 - inkscape:export-xdpi="96" 18 - inkscape:export-ydpi="96" 19 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 20 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 21 - xmlns="http://www.w3.org/2000/svg" 22 - xmlns:svg="http://www.w3.org/2000/svg"> 23 - <defs 24 - id="defs1" /> 25 - <sodipodi:namedview 26 - id="namedview1" 27 - pagecolor="#ffffff" 28 - bordercolor="#000000" 29 - borderopacity="0.25" 30 - inkscape:showpageshadow="2" 31 - inkscape:pageopacity="0.0" 32 - inkscape:pagecheckerboard="0" 33 - inkscape:deskcolor="#d1d1d1" 34 - inkscape:zoom="4.112263" 35 - inkscape:cx="57.875675" 36 - inkscape:cy="49.607721" 37 - inkscape:window-width="1920" 38 - inkscape:window-height="1128" 39 - inkscape:window-x="0" 40 - inkscape:window-y="0" 41 - inkscape:window-maximized="1" 42 - inkscape:current-layer="svg1" /> 43 - <g 44 - id="layer2" 45 - style="display:inline;fill:#ff6f08;fill-opacity:0.524951" 46 - transform="translate(10.078565,21.743467)"> 47 - <path 48 - style="fill:#ff6f08;fill-opacity:0.524951" 49 - id="path6" 50 - d="m 59.920493,35.97327 c 0.02434,0.290094 0.06487,0.579283 0.07303,0.870282 0.01131,0.403437 -0.0064,0.807188 -0.01469,1.210697 -0.05537,2.686992 -0.310969,5.349396 -0.604281,8.019455 -0.106169,2.837652 -0.638764,5.639873 -0.814527,8.470747 -0.04226,0.680659 -0.07323,2.790624 -0.08607,3.501434 0.0277,2.689403 -8.45e-4,5.379505 -0.125408,8.066236 -0.09936,1.501992 0.01475,3.011357 0.197177,4.502895 0.18554,1.065579 0.406733,2.12569 0.658557,3.177578 0.233487,0.829929 0.428099,1.672688 0.697953,2.4918 0.15861,0.674107 0.418834,1.299222 0.727503,1.915881 0.521263,0.912555 1.196993,1.709777 1.883529,2.499603 0.639982,0.672658 1.363774,1.299117 2.168539,1.769866 12.558905,7.34636 8.506542,5.38692 13.682471,7.860804 0.665028,0.338812 1.374121,0.551272 2.082153,0.77281 0.438852,0.137313 0.703704,0.256905 1.149913,0.34846 0.177844,0.03649 0.359571,0.05048 0.539356,0.07573 0.518886,0.0311 1.040244,0.104878 1.5614,0.08885 0.497768,-0.01531 0.989018,-0.11971 1.479493,-0.19632 0.659206,-0.181827 1.298249,-0.439176 1.917167,-0.729161 0.307243,-0.133551 0.607881,-0.290232 0.927638,-0.393461 0.135487,-0.04374 0.27761,-0.06488 0.412977,-0.108988 1.890769,-0.616103 -0.88541,0.226671 0.938814,-0.319168 0.377858,-0.131535 0.778978,-0.142572 1.168105,-0.209501 0.214806,-0.03695 0.425372,-0.09579 0.639657,-0.135645 0,0 -12.209607,-8.45218 -12.209607,-8.45218 v 0 c -0.581512,0.164075 -1.167576,0.309306 -1.728315,0.540912 -0.842263,0.281829 -1.708842,0.493059 -2.530454,0.836332 -0.511785,0.204425 -1.015543,0.435988 -1.576605,0.465593 -0.892182,0.09574 -1.79237,-0.03477 -2.659459,-0.252228 -1.159405,-0.36404 -2.314346,-0.742668 -3.367466,-1.365985 -4.542034,-2.579233 -0.799218,-0.456481 11.000309,6.391652 0.21726,0.126092 -0.437465,-0.24722 -0.652055,-0.377806 -0.268427,-0.163349 -0.753488,-0.482226 -1.018052,-0.678238 -0.139255,-0.103172 -0.271663,-0.21528 -0.407494,-0.322919 -0.394614,-0.35058 -0.753781,-0.719271 -1.107072,-1.111628 -0.02426,-0.02695 -0.540442,-0.611006 -0.582238,-0.67203 -0.07216,-0.105355 -0.119835,-0.225532 -0.179752,-0.338298 -0.186438,-0.243567 -0.312176,-0.486041 -0.465793,-0.748918 -0.159681,-0.273254 -0.34586,-0.526382 -0.411041,-0.84603 -0.258232,-0.838446 -0.627088,-1.640644 -0.869039,-2.486231 -0.291198,-1.025474 -0.507349,-2.072221 -0.767053,-3.106035 -0.02222,-0.09355 -0.276309,-1.16084 -0.289439,-1.22702 -0.211621,-1.06661 -0.281172,-2.157808 -0.361743,-3.239794 -0.202839,-2.776164 -0.369193,-5.556343 -0.435037,-8.33941 -0.134457,-4.010728 -0.185302,-8.049303 0.412949,-12.028841 0.394999,-2.900178 0.828375,-5.83255 1.755081,-8.621441 0.07983,-0.24024 0.185911,-0.470944 0.278866,-0.706415 z" /> 51 - </g> 52 - <g 53 - id="layer1-5" 54 - transform="translate(0.73545524,-0.09329462)"> 55 - <ellipse 56 - style="fill:#ffcc00" 57 - id="path1-3" 58 - cx="32.622002" 59 - cy="99.763" 60 - rx="14.187" 61 - ry="13.374" /> 62 - <ellipse 63 - style="fill:#000080" 64 - id="path2-5" 65 - cx="107.5645" 66 - cy="46.181362" 67 - rx="13.374" 68 - ry="15.091" /> 69 - <ellipse 70 - style="fill:#4d4d4d" 71 - id="path3-6" 72 - cx="26.115999" 73 - cy="28.646" 74 - rx="26.837999" 75 - ry="27.561001" /> 76 - <ellipse 77 - style="fill:#d38d5f" 78 - id="path4-2" 79 - cx="78.708" 80 - cy="30.181999" 81 - rx="6.5970001" 82 - ry="6.3260002" /> 83 - <path 84 - style="fill:#000000" 85 - id="path8-9" 86 - d="m 28.555366,54.21905 c 4.698985,33.615811 4.698985,33.615811 4.698985,33.615811" /> 87 - <path 88 - style="fill:#ffaeae;fill-opacity:1" 89 - id="path12-1" 90 - d="m 26.748065,29.459017 9.036508,67.231623 -0.72292,0.18073" /> 91 - <path 92 - style="fill:#790000;fill-opacity:1;stroke-width:2.16341" 93 - id="path14-2" 94 - d="m 112.07197,52.140484 -80.699252,-12.786469 2.519513,5.460883 v 0 0" 95 - sodipodi:nodetypes="ccccc" /> 96 - <path 97 - style="fill:#cd0909;fill-opacity:1" 98 - id="path13-7" 99 - d="m 35.423113,96.69064 42.83305,-65.424321 0.90365,0.542191 -42.833049,66.147241 h -0.18073 z" /> 100 - <path 101 - style="fill:#ff0000;stroke-width:3.57723" 102 - id="path15-0" 103 - d="M 82.607667,34.648745 111.7959,52.394116 v 0 L 78.614522,29.156547 Z" /> 104 - <path 105 - style="fill:#b94646;fill-opacity:1" 106 - id="path16-9" 107 - d="m 74.641559,29.820478 -39.760637,7.409937 v 0 l 38.676256,-9.397969 v 0 0 z" /> 108 - </g> 109 - </svg>
···
-21
backend-rs/frontend_assets/svg/push.svg
··· 1 - <?xml version="1.0" encoding="UTF-8"?> 2 - <!-- 3 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 4 - ~ 5 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 6 - --> 7 - <svg width="120" height="120" version="1.1" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"> 8 - <g transform="matrix(.66012 0 0 .80825 20.221 10.123)" fill="currentColor" stroke="currentColor" stroke-width="0"> 9 - <rect x="42.838" y="52.905" width="35.279" height="54.95" ry="7.0208" stroke-linecap="square" stroke-linejoin="bevel" style="paint-order:markers fill stroke"/> 10 - <g stroke-miterlimit="25.4"> 11 - <rect transform="matrix(-.79708 -.60388 -.60082 .79938 0 0)" x="-123.04" y="-24.688" width="59.5" height="6.6488" rx=".6593" ry="1.9825" style="paint-order:markers fill stroke"/> 12 - <rect transform="matrix(-.79527 -.60625 -.59845 .80116 0 0)" x="-119.49" y="-17.281" width="51.33" height="5.7404" rx=".56877" ry="1.7116" style="paint-order:markers fill stroke"/> 13 - <rect transform="matrix(-.79539 -.6061 -.5986 .80105 0 0)" x="-116.87" y="-10.047" width="42.871" height="4.7942" rx=".47504" ry="1.4295" style="paint-order:markers fill stroke"/> 14 - <rect transform="matrix(-.79418 -.60768 -.59701 .80224 0 0)" x="-127.08" y="-33.89" width="67.224" height="7.5215" rx=".74488" ry="2.2427" style="paint-order:markers fill stroke"/> 15 - <rect transform="matrix(.79708 -.60388 .60082 .79938 0 0)" x="-25.766" y="49.102" width="59.5" height="6.6488" rx=".6593" ry="1.9825" style="paint-order:markers fill stroke"/> 16 - <rect transform="matrix(.79527 -.60625 .59845 .80116 0 0)" x="-21.988" y="56.801" width="51.33" height="5.7404" rx=".56877" ry="1.7116" style="paint-order:markers fill stroke"/> 17 - <rect transform="matrix(.79539 -.6061 .5986 .80105 0 0)" x="-19.39" y="64.017" width="42.871" height="4.7942" rx=".47504" ry="1.4295" style="paint-order:markers fill stroke"/> 18 - <rect transform="matrix(.79418 -.60768 .59701 .80224 0 0)" x="-29.442" y="40.37" width="67.224" height="7.5215" rx=".74488" ry="2.2427" style="paint-order:markers fill stroke"/> 19 - </g> 20 - </g> 21 - </svg>
···
-6
backend-rs/frontend_assets/svg/red_cross.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" style="display:block;shape-rendering:auto" id="svg12" width="10" height="10" preserveAspectRatio="xMidYMid" version="1.1" viewBox="0 0 5 5"><ellipse style="display:block;fill:#c4c4c4;fill-opacity:.348548;stroke:none;stroke-width:.6375;stroke-dasharray:none;shape-rendering:auto" id="path2" cx="2.476" cy="2.538" rx="2.483" ry="2.497"/><path style="fill:#ff2a2a;stroke-width:.444338" id="path1" d="m 2.588645,1.9822203 c 0.024583,-0.016861 0.047324,-0.036989 0.073751,-0.050582 0.039331,-0.020231 0.093979,-0.042019 0.1352102,-0.063227 0.030274,-0.015572 -0.011097,0.036706 0.036876,-0.012645 0.063613,-0.065443 -0.1015306,0.026935 0.073751,-0.063227 0.066262,-0.034085 0.1310751,-0.051028 0.1966694,-0.088518 0.00702,-0.00401 0.016644,-0.04689 0.024583,-0.063228 0.012414,-0.025543 0.044391,-0.033023 0.061459,-0.050582 0.039322,-0.040454 0.00962,-0.028148 0.036876,-0.050582 0.027212,-0.022395 0.088166,-0.065411 0.1106266,-0.088518 0.039226,-0.040355 0.068414,-0.1336104 0.098335,-0.1643914 0.033201,-0.034157 0.048957,-0.029218 0.073751,-0.063227 0.00777,-0.010664 0.00313,-0.028511 0.012292,-0.037937 0.00647,-0.00666 0.018105,-0.00598 0.024584,-0.012645 0.00647,-0.00666 0.00721,-0.017449 0.012292,-0.025291 0.019551,-0.030171 0.057846,-0.041471 0.086043,-0.063227 0.048656,-0.037542 7.842e-4,-0.013454 0.049168,-0.063227 0.00647,-0.00667 0.018105,-0.00598 0.024584,-0.012645 0.00289,-0.00298 -0.0029,-0.009665 0,-0.0126453 0.00289,-0.002979 0.00939,0.002979 0.012292,0 0.0029,-0.002979 -0.0029,-0.009665 0,-0.0126453 0.018591,-0.0191262 0.057222,-0.037721 0.073751,-0.0632274 0.00694,-0.0107114 -0.00848,-0.0418542 0,-0.0505819 0.011768,-0.0121058 0.030824,0.0101553 0.036876,0.0126453 0.015685,0.006455 0.033483,0.006192 0.049168,0.0126453 0.018809,0.00774 0.177731,0.15527439 0.1843775,0.16439139 0.030692,0.0421 0.0074,0.1366685 0.024584,0.1896822 0.00366,0.01131 0.017344,0.015981 0.024583,0.025291 0.012798,0.016457 0.021137,0.03709 0.036876,0.050582 0.00995,0.00854 0.025287,0.00669 0.036876,0.012645 0.051156,0.026314 -0.01314,-8.743e-4 0.012292,0.025291 0.0029,0.00298 0.00939,-0.00297 0.012292,0 0.014516,0.014935 -0.00829,0.076164 -0.012292,0.088518 -0.00875,0.027021 -0.054294,0.077631 -0.086043,0.088518 -0.011661,0.00399 -0.025882,-0.00565 -0.036876,0 -0.013213,0.0068 -0.026429,0.014544 -0.036876,0.025291 -0.00289,0.00297 0.0029,0.00966 0,0.012645 -0.035218,0.036231 -0.098407,0.038012 -0.1352102,0.075873 -0.012292,0.012645 -0.026445,0.023629 -0.036876,0.037936 -0.01437,0.019711 -0.013719,0.066164 -0.024584,0.088518 -0.011089,0.022815 -0.03839,0.041052 -0.049168,0.063227 -0.00183,0.00377 0.00366,0.010761 0,0.012645 -0.00733,0.00378 -0.017254,-0.00377 -0.024584,0 -0.112867,0.058057 0.084282,-0.00939 -0.061459,0.050582 -0.00761,0.00314 -0.017254,-0.00377 -0.024584,0 -0.00367,0.00188 0.00183,0.00888 0,0.012645 -0.00777,0.015995 -0.026445,0.023629 -0.036876,0.037937 -0.00777,0.010663 -0.00313,0.028511 -0.012292,0.037937 -0.0029,0.00297 -0.00939,-0.00298 -0.012292,0 -0.0029,0.00297 0.00183,0.00888 0,0.012645 -0.00493,0.01015 -0.047983,0.062009 -0.049168,0.063227 -0.00647,0.00666 -0.017254,0.00699 -0.024584,0.012645 -0.013907,0.01073 -0.022412,0.028016 -0.036876,0.037937 -0.037762,0.025899 -0.086259,0.044371 -0.1229184,0.063227 -0.021433,0.011025 -0.041125,0.060184 -0.061459,0.075873 -0.00655,0.00506 -0.016809,-0.00267 -0.024583,0 -0.010994,0.00378 -0.014218,0.019959 -0.024584,0.025292 -0.00733,0.00377 -0.017254,-0.00378 -0.024583,0 -0.040324,0.020741 -0.019842,0.01795 -0.098335,0.025291 -0.018689,0.00175 -0.1013298,-0.00956 -0.1106266,0 -0.00289,0.00298 0.0029,0.00966 0,0.012645 -0.00289,0.00297 -0.00939,-0.00298 -0.012292,0 -0.0029,0.00297 0.00183,0.00888 0,0.012645 -0.00984,0.020237 -0.076955,0.057728 -0.098335,0.063227 -0.018194,0.00468 -0.045092,0.00423 -0.061459,0.012645 -0.020731,0.010664 0.032778,0.033721 0.049168,0.050582 0.014972,0.015403 0.00576,0.028253 0.024584,0.037937 0.00733,0.00378 0.018789,-0.00596 0.024583,0 0.0029,0.00298 -0.0029,0.00966 0,0.012645 0.025432,0.026164 -9.989e-4,-0.039982 0.024584,0.012645 0.010879,0.022385 -0.018284,0.00433 0.012292,0.025291 0.023428,0.016068 0.053535,0.029785 0.073751,0.050582 0.00647,0.00666 0.00581,0.018627 0.012292,0.025292 0.00647,0.00666 0.018106,0.00598 0.024584,0.012645 0.048382,0.049774 5.126e-4,0.025686 0.049168,0.063227 0.013133,0.010133 0.078735,0.051951 0.086043,0.063228 0.023286,-0.00144 0.00819,0.029506 0.012292,0.037937 0.0041,0.00843 0.020486,0.00422 0.024584,0.012645 0.00366,0.00754 0,0.016861 0,0.025291 0.00819,0.00843 0.018621,0.015067 0.024583,0.025292 0.029656,0.015266 0.00295,0.044003 0.012292,0.063227 0.045644,0.093913 0.1085448,0.1650372 0.1597939,0.2529098 0.022295,0.038226 0.035407,0.076288 0.061459,0.1138094 0.08353,0.1203058 -0.046884,-0.088744 0.061459,0.050582 0.021249,0.027327 0.043591,0.1115268 0.061459,0.1391004 0.014363,0.022165 0.065879,0.064226 0.073751,0.088518 0.00259,0.008 -0.00259,0.017293 0,0.025292 0.00924,0.028512 0.057309,0.0505 0.073751,0.075873 0.031998,0.049378 -0.013913,5.273e-4 0.036876,0.063228 0.023739,0.029305 0.055523,0.054941 0.086043,0.075873 0.054745,0.037547 0.097763,0.1029273 0.073751,0.1770368 -0.00579,0.017884 -0.011627,0.037253 -0.024584,0.050582 -0.00782,0.00805 -0.033476,0.017219 -0.049168,0.025292 -0.028761,0.014794 -0.054828,0.052523 -0.086043,0.063227 -0.00777,0.00267 -0.017052,-0.00332 -0.024584,0 -0.038773,0.017095 -0.072896,0.043819 -0.1106266,0.063228 -0.00819,0.00421 -0.015892,0.00966 -0.024583,0.012645 -0.00777,0.00267 -0.018789,-0.00596 -0.024584,0 -0.025432,0.026164 0.038864,-0.00102 -0.012292,0.025291 -0.044184,0.022727 -0.080246,0.061737 -0.1352102,0.075873 -0.011925,0.00306 -0.024951,-0.00306 -0.036876,0 -0.00563,0.00145 -0.00711,0.00998 -0.012292,0.012645 -0.035044,0.018024 -0.031715,-0.00937 -0.036874,-0.025295 -0.00183,-0.00566 -0.01046,-0.00699 -0.012292,-0.012645 -0.00259,-0.008 0.00366,-0.017751 0,-0.025291 -0.013319,-0.027399 -0.069646,-0.059 -0.086044,-0.07587 -0.014952,-0.015382 -0.055233,-0.1074042 -0.061459,-0.1138094 -0.00289,-0.00298 -0.00939,0.00297 -0.012292,0 -0.0029,-0.00298 0.0029,-0.00966 0,-0.012645 C 3.2700976,4.049 3.2582446,4.04881 3.2524046,4.030789 3.2418846,3.998321 3.2612846,4.000233 3.2401126,3.967562 3.2090576,3.919641 3.0109646,3.7535137 3.006568,3.7399443 c -0.00647,-0.019994 0.00402,-0.042561 0,-0.063227 -0.00989,-0.050887 -0.00897,-0.00581 -0.024583,-0.037937 -0.00367,-0.00754 0.00367,-0.017751 0,-0.025292 -0.025578,-0.052627 8.498e-4,0.013519 -0.024584,-0.012645 -0.037728,-0.038814 0.00718,-0.010515 -0.012292,-0.050582 -0.00183,-0.00378 -0.00939,0.00298 -0.012292,0 -0.00515,-0.0053 -0.00857,-0.030273 -0.012292,-0.037937 C 2.904647,3.4796563 2.86456,3.4558263 2.846774,3.4238063 2.834482,3.3985153 2.822191,3.3732243 2.809898,3.3479333 2.801708,3.3395033 2.791277,3.3328663 2.785315,3.3226423 2.764213,3.2864603 2.768143,3.1407743 2.760732,3.0950235 2.739328,2.962907 2.763872,3.0856035 2.736149,3.0570865 2.732969,3.0538165 2.713099,2.9495885 2.711566,2.9432771 2.701378,2.9013521 2.667917,2.8661121 2.650107,2.8294677 c -0.010638,-0.02189 -0.0043,-0.055008 -0.024584,-0.075873 -0.00289,-0.00298 -0.01046,0.00378 -0.012292,0 -0.00367,-0.00754 0.00455,-0.018277 0,-0.025292 -0.029942,-0.046206 -0.017994,0.013559 -0.036876,-0.025291 -0.00848,-0.017442 0.014886,-0.01131 -0.012292,-0.025292 -0.020804,-0.010701 -0.06594,0.072446 -0.073751,0.088518 -0.00367,0.00754 0.00367,0.017751 0,0.025292 -0.00787,0.016191 -0.01912,0.033721 -0.024584,0.050582 -0.00388,0.011997 0.00869,0.028994 0,0.037937 -0.00647,0.00666 -0.018106,0.00599 -0.024583,0.012645 -0.0029,0.00298 0.00227,0.00914 0,0.012645 -0.015462,0.02386 -0.051421,0.058644 -0.073751,0.075873 -0.00733,0.00565 -0.018105,0.00599 -0.024583,0.012645 -0.00571,0.00588 -0.019663,0.040463 -0.036876,0.050582 -0.015003,0.00882 -0.08956,0.041554 -0.1106265,0.063227 -0.010446,0.010746 -0.014138,0.02719 -0.024584,0.037937 -0.00289,0.00298 -0.00973,-0.00329 -0.012292,0 -0.014925,0.019192 -0.01822,0.047874 -0.036876,0.063227 -0.024366,0.020054 -0.059582,0.020923 -0.086043,0.037937 -0.011704,0.00753 -0.019355,0.039824 -0.024583,0.050582 -0.024132,0.049652 -0.09477,0.082606 -0.1352102,0.1138094 -0.022711,0.017524 -0.091043,0.111309 -0.098335,0.1138095 -0.00777,0.00267 -0.01681,-0.00267 -0.024583,0 -0.046077,0.015801 -0.065427,0.091107 -0.086043,0.1264549 -0.01982,0.033983 -0.056264,0.065184 -0.073751,0.1011639 -0.00183,0.00377 0.0029,0.00966 0,0.012645 -0.00289,0.00298 -0.00939,-0.00298 -0.012292,0 -0.0029,0.00298 0.00183,0.00888 0,0.012645 -0.00863,0.017757 -0.043934,0.032553 -0.049168,0.037937 -0.00647,0.00666 -0.00721,0.017449 -0.012292,0.025291 -0.022512,0.034741 -0.06138,0.050422 -0.073751,0.075874 -0.020848,0.042896 -0.079956,0.056966 -0.1106267,0.088518 -0.028427,0.029245 -0.06721,0.123497 -0.1106265,0.1011639 -0.028295,-0.014554 0.00536,-0.014833 -0.024583,-0.037936 -0.020731,-0.015996 -0.051531,-0.011575 -0.073751,-0.025291 -0.019875,-0.012268 -0.028437,-0.039918 -0.049167,-0.050582 -0.071947,-0.037009 -0.026523,0.0071 -0.073751,-0.025291 -0.0269216,-0.018464 -0.0447372,-0.060949 -0.073751,-0.075873 -0.003667,-0.00188 -0.0104596,0.00377 -0.0122917,0 -0.003667,-0.00754 0.002593,-0.017293 0,-0.025292 -0.0127889,-0.03947 -0.008195,0.00422 -0.0245838,-0.012645 -0.002896,-0.00298 0.002274,-0.00914 0,-0.012645 -0.0150818,-0.023274 -0.0352081,-0.030756 -0.0491673,-0.037937 -0.0183236,-0.00943 -0.0223895,-0.035679 -0.0368755,-0.050582 -0.003286,-0.00338 -0.0662452,-0.033013 -0.0491673,-0.050582 0.0462463,-0.047577 0.12805774,-0.031499 0.18437752,-0.037937 0.0148159,-0.00169 0.10289445,-0.059964 0.11062645,-0.075873 0.012321,-0.025351 -0.020322,-1.271e-4 0.012292,-0.025291 0.034501,-0.02662 0.087161,-0.048285 0.1106265,-0.088518 0.00667,-0.01143 0.0065,-0.026013 0.012292,-0.037937 -0.00262,-0.02629 0.019086,-0.0051 0.024583,-0.012645 0.010994,-0.015081 0.01442,-0.034897 0.024583,-0.050582 0.017409,-0.026866 0.044024,-0.048968 0.061459,-0.075873 0.00499,-0.00771 0.019592,-0.042877 0.024583,-0.050582 0.048391,-0.074676 0.1332565,-0.11956 0.1843774,-0.1896823 0.01536,-0.021069 0.012962,-0.057939 0.024584,-0.075873 0.00643,-0.00992 0.019401,-0.014627 0.024583,-0.025291 0.00721,-0.014835 0.00436,-0.046917 0.012292,-0.063227 0.00483,-0.00994 0.068599,-0.095864 0.073751,-0.101164 0.022628,-0.023279 0.04815,-0.043474 0.073751,-0.063227 0.010366,-0.008 0.027714,-0.00322 0.036876,-0.012645 0.01639,-0.01686 -0.026075,-0.012134 0.012292,-0.025291 0.00777,-0.00267 0.018789,0.00596 0.024583,0 0.00579,-0.00596 -0.00455,-0.018277 0,-0.025292 0.016566,-0.025563 0.095562,-0.047728 0.1229183,-0.075873 0.030129,-0.030995 0.011953,-0.050232 0.036876,-0.075873 0.00614,-0.00632 0.018438,-0.00632 0.024583,-0.012645 0.0029,-0.00298 -0.00289,-0.00966 0,-0.012645 0.0041,-0.00422 0.032778,-0.00843 0.036876,-0.012645 0.0029,-0.00298 -0.00341,-0.010307 0,-0.012645 0.044667,-0.030635 0.1844223,-0.012692 0.2089611,-0.037937 0.02093,-0.021532 -0.028585,-0.046318 -0.036876,-0.050582 -0.02159,-0.011105 -0.2502661,-0.114834 -0.2581286,-0.1391004 -0.00259,-0.008 0.00366,-0.017751 0,-0.025292 -0.00183,-0.00378 -0.00939,0.00298 -0.012292,0 -0.00289,-0.00298 0.00183,-0.00888 0,-0.012645 C 1.9059826,2.183598 1.8972376,2.171122 1.8880096,2.159255 1.8771506,2.14529 1.8589086,2.137314 1.8511336,2.121318 c -0.00183,-0.00378 0.0029,-0.00966 0,-0.012645 -0.00515,-0.0053 -0.029426,-0.00882 -0.036875,-0.012645 -0.015548,-0.008 -0.022969,-0.027207 -0.036876,-0.037937 -0.031015,-0.023931 -0.076572,-0.025913 -0.098335,-0.063228 -0.00667,-0.01143 -0.00511,-0.026846 -0.012292,-0.037937 -0.00227,-0.00351 -0.00819,0 -0.012292,0 -0.00409,-0.00421 -0.0097,-0.00731 -0.012292,-0.012645 C 1.6328416,1.925092 1.6308526,1.901523 1.6175876,1.881054 1.5997116,1.853468 1.5536686,1.835527 1.5438366,1.805181 c -0.00259,-0.008 0.00259,-0.017294 0,-0.025291 C 1.5433589,1.77841 1.4875416,1.698455 1.4823776,1.691372 1.4791576,1.686942 1.4249436,1.61964 1.4209186,1.615499 1.3980186,1.59194 1.3508026,1.572397 1.3348756,1.539626 1.2789196,1.4244943 1.3629996,1.555913 1.2979996,1.489044 1.2915296,1.482384 1.2921796,1.470418 1.2857076,1.463753 1.2792376,1.457093 1.2676026,1.457763 1.2611246,1.451108 1.2552546,1.445068 1.2429416,1.409305 1.2365416,1.400526 1.1702296,1.309567 1.2501906,1.427213 1.1873736,1.362589 1.1575196,1.331876 1.1910236,1.34402 1.1627906,1.324652 1.1551706,1.319422 1.1446856,1.318662 1.1382076,1.312007 1.1144574,1.287574 1.1004984,1.247921 1.0767485,1.223489 c -0.0029,-0.00298 -0.00863,0.00188 -0.012292,0 -0.051156,-0.026314 0.01314,8.743e-4 -0.012292,-0.025291 -0.025432,-0.026164 9.945e-4,0.039982 -0.024584,-0.012645 -0.00183,-0.00377 0.0029,-0.00966 0,-0.012645 -0.0029,-0.00298 -0.00863,0.00188 -0.012292,0 -0.010365,-0.00534 -0.014218,-0.019959 -0.0245838,-0.025291 -0.00733,-0.00378 -0.0187893,0.00596 -0.0245838,0 -0.002896,-0.00297 0,-0.00843 0,-0.012645 0,-0.039942 0.0183801,-0.01682 0.0491673,-0.037936 0.00762,-0.00523 0.0041,-0.021076 0.012292,-0.025291 0.018755,-0.00965 0.1130412,-0.023386 0.1229185,-0.025291 0.2155432,-0.041577 0.082499,-0.018774 0.1597938,-0.050582 0.035425,-0.0145779 0.077813,-0.008412 0.1106266,-0.0252911 0.017926,-0.009221 0.019664,-0.0202295 0.024583,-0.0252911 0.012292,-0.0126453 0.049168,0 0.061459,-0.0126453 0.00897,-0.00923 0.025828,-0.0689105 0.036876,-0.0632274 0.018826,0.009684 0.00961,0.0225347 0.024583,0.0379364 0.0066,0.00679 0.094854,0.0768248 0.1106265,0.10116389 0.015246,0.023527 0.019894,0.053639 0.036876,0.075873 0.047859,0.062665 0.1006457,0.1061086 0.1597938,0.151746 0.037651,0.029051 -0.020154,-0.00809 0.024583,0.037936 0.017933,0.018449 0.1123921,0.068676 0.1229185,0.1011639 0.00518,0.015995 -0.00398,0.034224 0,0.050582 0.016687,0.068666 0.071311,0.1245724 0.1229183,0.1643914 0.00733,0.00565 0.018106,0.00598 0.024583,0.012645 0.012383,0.012739 0.016732,0.038466 0.024584,0.050582 0.011364,0.017536 0.022389,0.035679 0.036876,0.050582 0.00647,0.00666 0.019502,0.0048 0.024583,0.012645 0.01216,0.018765 -2.993e-4,0.024983 0.012292,0.037937 0.00647,0.00666 0.019502,0.0048 0.024583,0.012645 0.00455,0.00701 -0.00367,0.017751 0,0.025291 0.012292,0.025292 0.024584,0.018968 0.036876,0.037937 0.019982,0.030834 0.060173,0.073227 0.073751,0.1011639 0.00183,0.00378 -0.0029,0.00966 0,0.012645 0.0029,0.00297 0.00863,-0.00188 0.012292,0 0.011879,0.00611 0.043227,0.038361 0.049168,0.050582 0.00183,0.00378 -0.0029,0.00967 0,0.012645 0.00579,0.00596 0.018789,-0.00596 0.024583,0 0.0029,0.00298 -0.0029,0.00967 0,0.012645 0.00244,0.0025 0.045802,0.00207 0.049167,0 0.017567,-0.010844 0.032778,-0.025291 0.049168,-0.037937 z"/></svg>
···
-6
backend-rs/frontend_assets/svg/spinner.svg
··· 1 - <!-- 2 - ~ Copyright (c) 2024, MLC 'Strawmelonjuice' Bloeiman 3 - ~ 4 - ~ Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 - --> 6 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" style="display:block;shape-rendering:auto" id="svg12" width="10" height="10" preserveAspectRatio="xMidYMid" version="1.1" viewBox="0 0 5 5"><ellipse style="display:block;shape-rendering:auto;fill:#928e85;fill-opacity:.348548;stroke:none;stroke-width:.6375;stroke-dasharray:none" id="path2" cx="2.485" cy="2.5" rx="2.483" ry="2.497"/><g id="g1" transform="matrix(0.08486573,0,0,0.08243763,-1.689977,-1.6176723)"><rect id="rect1" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.9166666666666666s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g2" transform="matrix(0.07349589,0.04121881,-0.04243287,0.07139307,1.0001591,-3.1263857)"><rect id="rect2" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.8333333333333334s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g3" transform="matrix(0.04243287,0.07139307,-0.07349589,0.04121881,4.1064607,-3.1263857)"><rect id="rect3" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.75s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g4" transform="matrix(0,0.08243763,-0.08486573,0,6.7965963,-1.6176723)"><rect id="rect4" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.6666666666666666s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g5" transform="matrix(-0.04243287,0.07139307,-0.07349589,-0.04121881,8.3497475,0.99549531)"><rect id="rect5" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.5833333333333334s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g6" transform="matrix(-0.07349589,0.04121881,-0.04243287,-0.07139307,8.3497475,4.0129221)"><rect id="rect6" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.5s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g7" transform="matrix(-0.08486573,0,0,-0.08243763,6.7965963,6.62609)"><rect id="rect7" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.4166666666666667s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g8" transform="matrix(-0.07349589,-0.04121881,0.04243287,-0.07139307,4.1064607,8.1348033)"><rect id="rect8" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.3333333333333333s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g9" transform="matrix(-0.04243287,-0.07139307,0.07349589,-0.04121881,1.0001591,8.1348033)"><rect id="rect9" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.25s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g10" transform="matrix(0,-0.08243763,0.08486573,0,-1.689977,6.62609)"><rect id="rect10" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.16666666666666666s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g11" transform="matrix(0.04243287,-0.07139307,0.07349589,0.04121881,-3.2431278,4.0129221)"><rect id="rect11" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="-0.08333333333333333s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g><g id="g12" transform="matrix(0.07349589,-0.04121881,0.04243287,0.07139307,-3.2431278,0.99549531)"><rect id="rect12" width="6" height="12" x="47" y="24" fill="#fe718d" rx="3" ry="6"><animate attributeName="opacity" begin="0s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></g></svg>
···
+14 -14
backend-rs/src/assets.rs
··· 35 } 36 } 37 38 - pub const STR_ASSETS_LOGO_SVG: &str = include_str!("../frontend_assets/svg/luminalogo-1.svg"); 39 40 - pub const STR_ASSETS_BTN_NEW_SVG: &str = include_str!("../frontend_assets/svg/add.svg"); 41 42 - pub const STR_ASSETS_BTN_PUSH_SVG: &str = include_str!("../frontend_assets/svg/push.svg"); 43 44 - pub const STR_ASSETS_BTN_COMMENT_SVG: &str = include_str!("../frontend_assets/svg/comment.svg"); 45 46 - pub const STR_ASSETS_BTN_BOOST_SVG: &str = include_str!("../frontend_assets/svg/boost.svg"); 47 48 - pub const STR_ASSETS_GREEN_CHECK_SVG: &str = include_str!("../frontend_assets/svg/green_check.svg"); 49 50 - pub const STR_ASSETS_SPINNER_SVG: &str = include_str!("../frontend_assets/svg/spinner.svg"); 51 52 - pub const STR_ASSETS_RED_CROSS_SVG: &str = include_str!("../frontend_assets/svg/red_cross.svg"); 53 - pub const STR_ASSETS_ANON_SVG: &str = include_str!("../frontend_assets/svg/avatar1.svg"); 54 55 pub fn vec_string_assets_anons_svg() -> Vec<String> { 56 vec![ 57 STR_ASSETS_ANON_SVG.to_string(), 58 - include_str!("../frontend_assets/svg/avatar2.svg").to_string(), 59 - include_str!("../frontend_assets/svg/avatar3.svg").to_string(), 60 - include_str!("../frontend_assets/svg/avatar4.svg").to_string(), 61 - include_str!("../frontend_assets/svg/avatar5.svg").to_string(), 62 - include_str!("../frontend_assets/svg/avatar6.svg").to_string(), 63 ] 64 } 65
··· 35 } 36 } 37 38 + pub const STR_ASSETS_LOGO_SVG: &str = include_str!("../../backend/priv/static/svg/luminalogo-1.svg"); 39 40 + pub const STR_ASSETS_BTN_NEW_SVG: &str = include_str!("../../backend/priv/static/svg/add.svg"); 41 42 + pub const STR_ASSETS_BTN_PUSH_SVG: &str = include_str!("../../backend/priv/static/svg/push.svg"); 43 44 + pub const STR_ASSETS_BTN_COMMENT_SVG: &str = include_str!("../../backend/priv/static/svg/comment.svg"); 45 46 + pub const STR_ASSETS_BTN_BOOST_SVG: &str = include_str!("../../backend/priv/static/svg/boost.svg"); 47 48 + pub const STR_ASSETS_GREEN_CHECK_SVG: &str = include_str!("../../backend/priv/static/svg/green_check.svg"); 49 50 + pub const STR_ASSETS_SPINNER_SVG: &str = include_str!("../../backend/priv/static/svg/spinner.svg"); 51 52 + pub const STR_ASSETS_RED_CROSS_SVG: &str = include_str!("../../backend/priv/static/svg/red_cross.svg"); 53 + pub const STR_ASSETS_ANON_SVG: &str = include_str!("../../backend/priv/static/svg/avatar1.svg"); 54 55 pub fn vec_string_assets_anons_svg() -> Vec<String> { 56 vec![ 57 STR_ASSETS_ANON_SVG.to_string(), 58 + include_str!("../../backend/priv/static/svg/avatar2.svg").to_string(), 59 + include_str!("../../backend/priv/static/svg/avatar3.svg").to_string(), 60 + include_str!("../../backend/priv/static/svg/avatar4.svg").to_string(), 61 + include_str!("../../backend/priv/static/svg/avatar5.svg").to_string(), 62 + include_str!("../../backend/priv/static/svg/avatar6.svg").to_string(), 63 ] 64 } 65
+21 -16
backend-rs/src/api_fe.rs
··· 16 use serde::{Deserialize, Serialize}; 17 use tokio::sync::{Mutex, MutexGuard}; 18 19 use crate::database::users::auth::{check, AuthResponse}; 20 use crate::database::users::{add, SafeUser}; 21 use crate::database::{self}; ··· 103 email: "unset".to_string(), 104 }, 105 }; 106 - let userd_maybe = database::fetch::user(&config, database::fetch::UserDataDiscriminator::Username(username_b)).unwrap_or(None); 107 if let Some(userd) = userd_maybe { 108 d.user = SafeUser { 109 username: userd.username, ··· 141 let ip = coninfo.realip_remote_addr().unwrap_or("<unknown IP>"); 142 match result { 143 AuthResponse::Success(user_id) => { 144 - let user = database::fetch::user(&config, database::fetch::UserDataDiscriminator::Id( user_id.to_string())) 145 - .unwrap() 146 - .unwrap(); 147 let username = user.username; 148 info!("User '{0}' logged in succesfully from {1}", username, ip); 149 session.insert("userid", user.id).unwrap(); ··· 188 let ip = coninfo.realip_remote_addr().unwrap_or("<unknown IP>"); 189 match result { 190 Ok(user_id) => { 191 - let user = database::fetch::user(&config, database::fetch::UserDataDiscriminator::Id( user_id.to_string())) 192 - .unwrap() 193 - .unwrap(); 194 let username = user.username; 195 session.insert("userid", user.id).unwrap(); 196 session.insert("username", username).unwrap(); ··· 271 let location = data.location.clone(); 272 let id_ = session.get::<i64>("userid").unwrap_or(Some(-100)); 273 let id = id_.unwrap_or(-100); 274 - let user: database::users::User = 275 - database::fetch::user(&config, database::fetch::UserDataDiscriminator::Id( id.to_string())) 276 - .unwrap() 277 - .unwrap(); 278 let server_vars = server_vars_mutex.lock().await.clone(); 279 let config: LuminaConfig = server_vars.clone().config; 280 let o: FEPageServeResponse = match location.as_str() { ··· 287 side: String::new(), 288 message: vec![899, 901], 289 }, 290 - "test" => FEPageServeResponse { message: vec![], side: String::new(), main: { 291 let mut s = format!( 292 "<h1>Post fetched from DB (dynamically rendered using HandleBars)</h1>\n{}\n", 293 &database::fetch::post(&config, 1) ··· 298 ); 299 s.push_str(include_str!("../frontend_assets/html/examplepost.html")); 300 s 301 - }, }, 302 "notifications-centre" => FEPageServeResponse { 303 main: String::from("Notifications should show up here!"), 304 side: String::from(""), ··· 357 .insert_header(CacheControl(vec![CacheDirective::NoCache])) 358 .body(r#"{"Ok": false, "Why": "TooShort"}"#.to_string()); 359 } 360 - if database::fetch::user(&config.clone(), database::fetch::UserDataDiscriminator::Username(username.clone())) 361 - .unwrap_or(None) 362 - .is_some() 363 { 364 return HttpResponse::build(StatusCode::OK) 365 .content_type("text/json; charset=utf-8")
··· 16 use serde::{Deserialize, Serialize}; 17 use tokio::sync::{Mutex, MutexGuard}; 18 19 + use crate::database::fetch::user_by_id; 20 use crate::database::users::auth::{check, AuthResponse}; 21 use crate::database::users::{add, SafeUser}; 22 use crate::database::{self}; ··· 104 email: "unset".to_string(), 105 }, 106 }; 107 + let userd_maybe = database::fetch::user( 108 + &config, 109 + database::fetch::UserDataDiscriminator::Username(username_b), 110 + ) 111 + .unwrap_or(None); 112 if let Some(userd) = userd_maybe { 113 d.user = SafeUser { 114 username: userd.username, ··· 146 let ip = coninfo.realip_remote_addr().unwrap_or("<unknown IP>"); 147 match result { 148 AuthResponse::Success(user_id) => { 149 + let user = user_by_id(&config, user_id).unwrap(); 150 let username = user.username; 151 info!("User '{0}' logged in succesfully from {1}", username, ip); 152 session.insert("userid", user.id).unwrap(); ··· 191 let ip = coninfo.realip_remote_addr().unwrap_or("<unknown IP>"); 192 match result { 193 Ok(user_id) => { 194 + let user = database::fetch::user_by_id(&config, user_id).unwrap(); 195 let username = user.username; 196 session.insert("userid", user.id).unwrap(); 197 session.insert("username", username).unwrap(); ··· 272 let location = data.location.clone(); 273 let id_ = session.get::<i64>("userid").unwrap_or(Some(-100)); 274 let id = id_.unwrap_or(-100); 275 + let user: database::users::User = database::fetch::user_by_id(&config, id).unwrap(); 276 let server_vars = server_vars_mutex.lock().await.clone(); 277 let config: LuminaConfig = server_vars.clone().config; 278 let o: FEPageServeResponse = match location.as_str() { ··· 285 side: String::new(), 286 message: vec![899, 901], 287 }, 288 + "test" => FEPageServeResponse { 289 + message: vec![], 290 + side: String::new(), 291 + main: { 292 let mut s = format!( 293 "<h1>Post fetched from DB (dynamically rendered using HandleBars)</h1>\n{}\n", 294 &database::fetch::post(&config, 1) ··· 299 ); 300 s.push_str(include_str!("../frontend_assets/html/examplepost.html")); 301 s 302 + }, 303 + }, 304 "notifications-centre" => FEPageServeResponse { 305 main: String::from("Notifications should show up here!"), 306 side: String::from(""), ··· 359 .insert_header(CacheControl(vec![CacheDirective::NoCache])) 360 .body(r#"{"Ok": false, "Why": "TooShort"}"#.to_string()); 361 } 362 + if database::fetch::user( 363 + &config.clone(), 364 + database::fetch::UserDataDiscriminator::Username(username.clone()), 365 + ) 366 + .unwrap_or(None) 367 + .is_some() 368 { 369 return HttpResponse::build(StatusCode::OK) 370 .content_type("text/json; charset=utf-8")
+147 -51
backend-rs/src/database/fetch.rs
··· 4 * Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 */ 6 7 - use crate::database::{LuminaDBConnection}; 8 use crate::post::PostInfo; 9 use crate::{database, LuminaConfig}; 10 use std::io::{Error, ErrorKind}; 11 - use crate::database::users::User; 12 13 pub enum UserDataDiscriminator { 14 - Id(String), 15 Username(String), 16 Email(String), 17 } 18 impl UserDataDiscriminator { 19 pub fn from_str(a: (impl AsRef<str>, impl AsRef<str>)) -> Self { 20 match a.0.as_ref() { 21 - "id" => UserDataDiscriminator::Id(a.1.as_ref().to_string()), 22 "username" => UserDataDiscriminator::Username(a.1.as_ref().to_string()), 23 "email" => UserDataDiscriminator::Email(a.1.as_ref().to_string()), 24 _ => panic!("Invalid discriminator"), ··· 31 config: &LuminaConfig, 32 discriminator: UserDataDiscriminator, 33 ) -> Result<Option<User>, Error> { 34 - let (discriminator_col, discriminator_1) = match discriminator { 35 - UserDataDiscriminator::Id(id) => ("id", id), 36 - UserDataDiscriminator::Username(username) => ("username", username), 37 - UserDataDiscriminator::Email(email) => ("email", email), 38 - }; 39 match config.db_connect() { 40 LuminaDBConnection::SQLite(conn) => { 41 let mut stmt = conn 42 - .prepare( 43 - 44 - r#"SELECT * FROM Users WHERE ? = '?'"#, 45 - ) 46 47 - .unwrap() 48 - ; 49 debug!("{:?}", stmt); 50 - let mut res = stmt 51 - .query_map((discriminator_col,discriminator_1.as_str()), |row| { 52 - Ok({ 53 - serde_json::to_string(&User { 54 - id: row.get(0)?, 55 - username: row.get(1)?, 56 - password: row.get(2)?, 57 - email: row.get(3)?, 58 - }) 59 - .unwrap() 60 }) 61 - }) 62 .unwrap(); 63 - // println!("{:?}", res.nth(0)); 64 - match res.next() { 65 - None => Ok(None), 66 - Some(r) => match r { 67 - Ok(s) => { 68 - let res: User = serde_json::from_str(&s)?; 69 - Ok(Some(res)) 70 - } 71 - Err(f) => { 72 - eprintln!("{:?}", f); 73 - Err(Error::new(ErrorKind::Other, "Unparseable data.")) 74 - } 75 - }, 76 } 77 } 78 - LuminaDBConnection::POSTGRES(_) => { 79 - todo!("Postgres not implemented yet."); 80 } 81 } 82 } 83 84 /// Fetches post from database 85 - pub fn post( 86 - config: &LuminaConfig, 87 - id: u128, 88 - ) -> Result<Option<PostInfo>, Error> { 89 match config.db_connect() { 90 LuminaDBConnection::SQLite(conn) => { 91 let mut stmt = conn 92 - .prepare( 93 - 94 - r#"SELECT * FROM posts_pool WHERE `postid` = ?"#, 95 - 96 - 97 - ) 98 .unwrap(); 99 debug!("{:?}", stmt); 100 let mut res = stmt
··· 4 * Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 5 */ 6 7 + use crate::database::users::User; 8 + use crate::database::LuminaDBConnection; 9 use crate::post::PostInfo; 10 use crate::{database, LuminaConfig}; 11 use std::io::{Error, ErrorKind}; 12 13 pub enum UserDataDiscriminator { 14 + Id(i64), 15 Username(String), 16 Email(String), 17 } 18 impl UserDataDiscriminator { 19 pub fn from_str(a: (impl AsRef<str>, impl AsRef<str>)) -> Self { 20 match a.0.as_ref() { 21 + "id" => UserDataDiscriminator::Id(a.1.as_ref().parse().unwrap()), 22 "username" => UserDataDiscriminator::Username(a.1.as_ref().to_string()), 23 "email" => UserDataDiscriminator::Email(a.1.as_ref().to_string()), 24 _ => panic!("Invalid discriminator"), ··· 31 config: &LuminaConfig, 32 discriminator: UserDataDiscriminator, 33 ) -> Result<Option<User>, Error> { 34 + match discriminator { 35 + UserDataDiscriminator::Id(id) => Ok(user_by_id(config, id)), 36 + UserDataDiscriminator::Username(username) => Ok(user_by_username(config, username)), 37 + UserDataDiscriminator::Email(email) => Ok(user_by_email(config, email)), 38 + } 39 + } 40 + 41 + /// Fetches user from database by id 42 + pub fn user_by_id(config: &LuminaConfig, id: i64) -> Option<User> { 43 match config.db_connect() { 44 LuminaDBConnection::SQLite(conn) => { 45 let mut stmt = conn 46 + .prepare(r#"SELECT * FROM Users WHERE `id` = $1"#) 47 + .unwrap(); 48 + debug!("{:?}", stmt); 49 + let mut res = stmt.query([id.to_string()]).unwrap(); 50 + let res = res.next().unwrap().unwrap(); 51 + match (|| -> Result<(i64, String, String, String), rusqlite::Error> { 52 + let c: i64 = res.get(0)?; 53 + let username = res.get(1)?; 54 + let password = res.get(2)?; 55 + let email = res.get(3)?; 56 + Ok((c, username, password, email)) 57 + })() { 58 + Ok((a, username, password, email)) => Some(User { 59 + id: a, 60 + username, 61 + password, 62 + email, 63 + }), 64 + Err(_) => None, 65 + } 66 + } 67 + LuminaDBConnection::POSTGRES(mut client) => { 68 + match client.query(r#"SELECT * FROM Users WHERE `id` = $1"#, &[&id]) { 69 + Ok(res) => { 70 + let res = res.get(0)?; 71 + let id: i64 = res.get(0); 72 + let username: String = res.get(1); 73 + let password: String = res.get(2); 74 + let email: String = res.get(3); 75 + Some(User { 76 + id, 77 + username, 78 + password, 79 + email, 80 + }) 81 + } 82 + Err(_) => None, 83 + } 84 + } 85 + } 86 + } 87 88 + /// Fetches user from database by username 89 + pub fn user_by_username(config: &LuminaConfig, username: String) -> Option<User> { 90 + match config.db_connect() { 91 + LuminaDBConnection::SQLite(conn) => { 92 + let mut stmt = conn 93 + .prepare(r#"SELECT * FROM Users WHERE `username` = $1"#) 94 + .unwrap(); 95 debug!("{:?}", stmt); 96 + let mut res = stmt.query([username]).unwrap(); 97 + let res = match res.next() { 98 + Ok(d) => d?, 99 + Err(e) => { 100 + error!("SQLite user fetch error. {:#}", e); 101 + panic!("{:#}", e) 102 + } 103 + }; 104 + match (|| -> Result<(i64, String, String, String), rusqlite::Error> { 105 + let id: i64 = res.get(0)?; 106 + let c = res.get(1)?; 107 + let password = res.get(2)?; 108 + let email = res.get(3)?; 109 + Ok((id, c, password, email)) 110 + })() { 111 + Ok((id, a, password, email)) => Some(User { 112 + id, 113 + username: a, 114 + password, 115 + email, 116 + }), 117 + Err(_) => None, 118 + } 119 + } 120 + LuminaDBConnection::POSTGRES(mut client) => { 121 + match client.query(r#"SELECT * FROM Users WHERE `username` = $1"#, &[&username]) { 122 + Ok(res) => { 123 + let res = res.get(0)?; 124 + let id: i64 = res.get(0); 125 + let username: String = res.get(1); 126 + let password: String = res.get(2); 127 + let email: String = res.get(3); 128 + Some(User { 129 + id, 130 + username, 131 + password, 132 + email, 133 }) 134 + } 135 + Err(_) => None, 136 + } 137 + } 138 + } 139 + } 140 + 141 + /// Fetches user from database by email 142 + pub fn user_by_email(config: &LuminaConfig, email: String) -> Option<User> { 143 + match config.db_connect() { 144 + LuminaDBConnection::SQLite(conn) => { 145 + let mut stmt = conn 146 + .prepare(r#"SELECT * FROM Users WHERE `email` = $1"#) 147 .unwrap(); 148 + debug!("{:?}", stmt); 149 + let mut res = stmt.query([email]).unwrap(); 150 + let res = res.next().unwrap()?; 151 + match (|| -> Result<(i64, String, String, String), rusqlite::Error> { 152 + let c: i64 = res.get(0)?; 153 + let username = res.get(1)?; 154 + let password = res.get(2)?; 155 + let email = res.get(3)?; 156 + Ok((c, username, password, email)) 157 + })() { 158 + Ok((a, username, password, email)) => Some(User { 159 + id: a, 160 + username, 161 + password, 162 + email, 163 + }), 164 + Err(_) => None, 165 } 166 } 167 + LuminaDBConnection::POSTGRES(mut client) => { 168 + match client.query(r#"SELECT * FROM Users WHERE `id` = $1"#, &[&email]) { 169 + Ok(res) => { 170 + let res = res.get(0)?; 171 + let id: i64 = res.get(0); 172 + let username: String = res.get(1); 173 + let password: String = res.get(2); 174 + let email: String = res.get(3); 175 + Some(User { 176 + id, 177 + username, 178 + password, 179 + email, 180 + }) 181 + } 182 + Err(_) => None, 183 + } 184 } 185 } 186 } 187 188 /// Fetches post from database 189 + pub fn post(config: &LuminaConfig, id: u128) -> Result<Option<PostInfo>, Error> { 190 match config.db_connect() { 191 LuminaDBConnection::SQLite(conn) => { 192 let mut stmt = conn 193 + .prepare(r#"SELECT * FROM posts_pool WHERE `postid` = ?"#) 194 .unwrap(); 195 debug!("{:?}", stmt); 196 let mut res = stmt
+2 -3
backend-rs/src/post.rs
··· 8 use serde::{Deserialize, Serialize}; 9 10 use crate::assets::STR_ASSETS_POST_RENDERS_HANDLEBARS; 11 - use crate::database::{fetch, IIExchangedUserInfo}; 12 use crate::database::users::User; 13 use crate::LuminaConfig; 14 15 #[derive(Debug, Serialize, Deserialize)] ··· 67 68 impl PostInfo { 69 pub fn to_formatted(&self, config: &LuminaConfig) -> PostPreRenderData { 70 - let author_u: User = 71 - fetch::user(config, fetch::UserDataDiscriminator::Id( self.author_id.to_string())).unwrap().unwrap(); 72 73 let author = IIExchangedUserInfo { 74 id: self.author_id,
··· 8 use serde::{Deserialize, Serialize}; 9 10 use crate::assets::STR_ASSETS_POST_RENDERS_HANDLEBARS; 11 use crate::database::users::User; 12 + use crate::database::{fetch, IIExchangedUserInfo}; 13 use crate::LuminaConfig; 14 15 #[derive(Debug, Serialize, Deserialize)] ··· 67 68 impl PostInfo { 69 pub fn to_formatted(&self, config: &LuminaConfig) -> PostPreRenderData { 70 + let author_u: User = fetch::user_by_id(config, self.author_id).unwrap(); 71 72 let author = IIExchangedUserInfo { 73 id: self.author_id,
+1 -1
backend-rs/frontend_assets/html/home.html
··· 278 class="hidden h-full lg:block bg-brown-200 overflow-clip dark:bg-neutral-600" 279 ></div> 280 <div 281 - class="h-full col-span-4 overflow-auto contentkeeper no:lg:p-12 bg-brown-100 dark:bg-neutral-700" 282 > 283 <div 284 id="mainright"
··· 278 class="hidden h-full lg:block bg-brown-200 overflow-clip dark:bg-neutral-600" 279 ></div> 280 <div 281 + class="h-full col-span-4 overflow-auto contentkeeper no:lg:p-12 bg-fuchsia-50 dark:bg-darkish-550" 282 > 283 <div 284 id="mainright"
+2 -4
backend/src/lumina/web/pages.gleam
··· 459 html.input([ 460 attribute.type_("password"), 461 attribute.required(True), 462 - attribute.placeholder( 463 - "โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข", 464 - ), 465 attribute.id("password"), 466 attribute.class( 467 "py-2 px-4 w-full rounded-lg border focus:ring-blue-500 form-input text-slate-600", ··· 996 html.div( 997 [ 998 attribute.class( 999 - "h-full col-span-4 overflow-auto contentkeeper no:lg:p-12 bg-brown-100 dark:bg-neutral-700", 1000 ), 1001 ], 1002 [
··· 459 html.input([ 460 attribute.type_("password"), 461 attribute.required(True), 462 + attribute.placeholder("โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข"), 463 attribute.id("password"), 464 attribute.class( 465 "py-2 px-4 w-full rounded-lg border focus:ring-blue-500 form-input text-slate-600", ··· 994 html.div( 995 [ 996 attribute.class( 997 + "h-full col-span-4 overflow-auto contentkeeper no:lg:p-12 bg-fuchsia-50 dark:bg-darkish-550", 998 ), 999 ], 1000 [
+9 -5
frontend/src/frontend/other/funnyrandomusername.gleam
··· 2 // Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 3 const both = [ 4 "strawberry", "hat", "burger", "flat", "orange", "toothpaste", "nerd", "koala", 5 - "sample", 6 ] 7 8 const first = [ 9 "straw", "hacker", "hat", "strawberry", "apple", "rotten", "shrimp", "feared-", 10 - "smelly", 11 ] 12 13 const last = [ ··· 30 |> list.append(both) 31 |> list.shuffle() 32 |> list.first() 33 - start 34 - <> end 35 - |> string.replace("--", "-") 36 }
··· 2 // Licensed under the BSD 3-Clause License. See the LICENSE file for more info. 3 const both = [ 4 "strawberry", "hat", "burger", "flat", "orange", "toothpaste", "nerd", "koala", 5 + "sample", "boss", 6 ] 7 8 const first = [ 9 "straw", "hacker", "hat", "strawberry", "apple", "rotten", "shrimp", "feared-", 10 + "smelly", "girl", 11 ] 12 13 const last = [ ··· 30 |> list.append(both) 31 |> list.shuffle() 32 |> list.first() 33 + case end == start { 34 + True -> funnyrandomusername() 35 + False -> 36 + start 37 + <> end 38 + |> string.replace("--", "-") 39 + } 40 }
+5 -4
package.json
··· 4 "devDependencies": { 5 "@biomejs/biome": "latest", 6 "@types/bun": "latest", 7 - "tailwindcss": "latest", 8 "autoprefixer": "latest", 9 "postcss": "latest", 10 - "typescript": "^5.6.3", 11 "postcss-cli": "^11.0.0", 12 - "clean-css-cli": "^5.6.3", 13 - "bun": "latest" 14 }, 15 "dependencies": { 16 "axios": "^1.7.7",
··· 4 "devDependencies": { 5 "@biomejs/biome": "latest", 6 "@types/bun": "latest", 7 "autoprefixer": "latest", 8 + "bun": "latest", 9 + "clean-css-cli": "^5.6.3", 10 + "daisyui": "^4.12.23", 11 "postcss": "latest", 12 "postcss-cli": "^11.0.0", 13 + "tailwindcss": "latest", 14 + "typescript": "^5.6.3" 15 }, 16 "dependencies": { 17 "axios": "^1.7.7",
-4
nodemon.json
··· 1 - { 2 - "ext": "ts,rs,gleam,svg,handlebars,hb,pcss,css", 3 - "ignore": ["./*/build/**", "./backend/priv/generated/**"] 4 - }
···