From c2d5188765d09d031a58919fe07c8873e7f29770 Mon Sep 17 00:00:00 2001
From: Alex <$(pass /github/email)>
Date: Wed, 29 Jan 2025 16:02:37 +0100
Subject: [PATCH] styling
---
frontend/.gitignore | 2 +
frontend/src/lib/components/InputField.svelte | 568 ++++----
frontend/src/lib/components/Modal.svelte | 247 ++--
.../src/lib/components/SmallLoader.svelte | 32 +-
.../src/lib/components/UserEditForm.svelte | 1237 ++++++++---------
frontend/src/lib/css/styles.min.css | 727 +++++-----
.../src/routes/auth/about/[id]/+page.svelte | 260 ++--
.../src/routes/auth/admin/users/+page.svelte | 94 +-
8 files changed, 1632 insertions(+), 1535 deletions(-)
diff --git a/frontend/.gitignore b/frontend/.gitignore
index a0cd727..3846182 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -35,3 +35,5 @@ Thumbs.db
!vite.config.js # Vite configuration
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
+
+!src/**
diff --git a/frontend/src/lib/components/InputField.svelte b/frontend/src/lib/components/InputField.svelte
index a75f7d9..bb619b7 100644
--- a/frontend/src/lib/components/InputField.svelte
+++ b/frontend/src/lib/components/InputField.svelte
@@ -1,304 +1,338 @@
diff --git a/frontend/src/lib/components/Modal.svelte b/frontend/src/lib/components/Modal.svelte
index db57222..a0deaf2 100644
--- a/frontend/src/lib/components/Modal.svelte
+++ b/frontend/src/lib/components/Modal.svelte
@@ -1,128 +1,155 @@
diff --git a/frontend/src/lib/components/SmallLoader.svelte b/frontend/src/lib/components/SmallLoader.svelte
index e8324aa..c4d118f 100644
--- a/frontend/src/lib/components/SmallLoader.svelte
+++ b/frontend/src/lib/components/SmallLoader.svelte
@@ -1,24 +1,24 @@
-
- {#if message}
-
{message}
- {/if}
+
+ {#if message}
+
{message}
+ {/if}
diff --git a/frontend/src/lib/components/UserEditForm.svelte b/frontend/src/lib/components/UserEditForm.svelte
index 4dd9455..22fabd2 100644
--- a/frontend/src/lib/components/UserEditForm.svelte
+++ b/frontend/src/lib/components/UserEditForm.svelte
@@ -1,660 +1,657 @@
{#if isLoading}
-
+
{:else if localUser}
-
+
+ {#each TABS as tab}
+
+ {/each}
+
+
+
+ {#if localUser.role_id === 8}
+
+ {/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{$t('licence_categories')}
+
+ {#each Object.entries(groupedCategories) as [group, categories], groupIndex}
+ {#if groupIndex > 0}
+
+ {/if}
+ {#each categories as category}
+
+
+ cat.category === category.category
+ )}
+ />
+
+
+ {$t(`licenceCategory.${category.category}`)}
+
+
+ {/each}
+ {/each}
+
+
+
+
+
+
+
+
+
+ {$t('monthly_fee')}:
+ {selectedSubscriptionModel?.monthly_fee || '-'}
+
+
+ {$t('hourly_rate')}:
+ {selectedSubscriptionModel?.hourly_rate || '-'}
+
+ {#if selectedSubscriptionModel?.included_hours_per_year}
+
+ {$t('included_hours_per_year')}:
+ {selectedSubscriptionModel?.included_hours_per_year}
+
+ {/if}
+ {#if selectedSubscriptionModel?.included_hours_per_month}
+
+ {$t('included_hours_per_month')}:
+ {selectedSubscriptionModel?.included_hours_per_month}
+
+ {/if}
+
+
+
+ {$t('details')}:
+ {selectedSubscriptionModel?.details || '-'}
+
+ {#if selectedSubscriptionModel?.conditions}
+
+ {$t('conditions')}:
+ {selectedSubscriptionModel?.conditions}
+
+ {/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {#if isUpdating}
+
+ {:else}
+
+
+ {/if}
+
+
{/if}
diff --git a/frontend/src/lib/css/styles.min.css b/frontend/src/lib/css/styles.min.css
index 19a02de..6a67add 100644
--- a/frontend/src/lib/css/styles.min.css
+++ b/frontend/src/lib/css/styles.min.css
@@ -1,46 +1,75 @@
+:root {
+ --rosewater: #f5e0dc;
+ --flamingo: #f2cdcd;
+ --pink: #f5c2e7;
+ --mauve: #cba6f7;
+ --red: #f38ba8;
+ --maroon: #eba0ac;
+ --peach: #fab387;
+ --yellow: #f9e2af;
+ --green: #a6e3a1;
+ --teal: #94e2d5;
+ --sky: #89dceb;
+ --sapphire: #74c7ec;
+ --blue: #89b4fa;
+ --lavender: #b4befe;
+ --text: #cdd6f4;
+ --subtext1: #bac2de;
+ --subtext0: #a6adc8;
+ --overlay2: #9399b2;
+ --overlay1: #7f849c;
+ --overlay0: #6c7086;
+ --surface2: #585b70;
+ --surface1: #45475a;
+ --surface0: #313244;
+ --base: #1e1e2e;
+ --mantle: #181825;
+ --crust: #11111b;
+}
+
@font-face {
- font-family: "Roboto Mono";
- font-style: normal;
- font-weight: 300;
- src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_gPq_ROW9.ttf)
- format("truetype");
+ font-family: 'Roboto Mono';
+ font-style: normal;
+ font-weight: 300;
+ src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_gPq_ROW9.ttf)
+ format('truetype');
}
@font-face {
- font-family: "Roboto Mono";
- font-style: normal;
- font-weight: 400;
- src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW9.ttf)
- format("truetype");
+ font-family: 'Roboto Mono';
+ font-style: normal;
+ font-weight: 400;
+ src: url(https://fonts.gstatic.com/s/robotomono/v22/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW9.ttf)
+ format('truetype');
}
html {
- padding: 0 30px;
- background-color: black;
- color: #9b9b9b;
- font-family: "Quicksand", sans-serif;
- font-size: 16px;
- font-weight: normal;
+ padding: 0 30px;
+ background-color: var(--base);
+ color: var(--text);
+ font-family: 'Quicksand', sans-serif;
+ font-size: 16px;
+ font-weight: normal;
}
body {
- max-width: 1200px;
- margin: 5em auto 0 auto;
+ max-width: 1200px;
+ margin: 5em auto 0 auto;
}
pre,
code {
- display: inline;
- font-family: "Roboto Mono", monospace;
- font-size: 16px;
+ display: inline;
+ font-family: 'Roboto Mono', monospace;
+ font-size: 16px;
}
input {
- font-family: "Roboto Mono", monospace;
- color: white;
- border-style: none;
- height: 21px;
- font-size: 16px;
+ font-family: 'Roboto Mono', monospace;
+ color: var(--text);
+ border-style: none;
+ height: 21px;
+ font-size: 16px;
}
button {
- font-size: 16px;
+ font-size: 16px;
}
h1,
h2,
@@ -48,506 +77,514 @@ h3,
h4,
h5,
h6 {
- margin: 0;
- font-weight: normal;
+ margin: 0;
+ font-weight: normal;
}
h2 {
- margin: 0 0 45px 0;
- color: #fff;
- font-size: 36px;
+ margin: 0 0 45px 0;
+ color: var(--lavender);
+ font-size: 36px;
}
h3 {
- margin: 0 0 2rem 0;
- color: #fff;
- font-size: 32px;
+ margin: 0 0 2rem 0;
+ color: var(--lavender);
+ font-size: 32px;
}
p {
- margin: 0 0 45px;
- line-height: 1.8;
+ margin: 0 0 45px;
+ line-height: 1.8;
}
ul {
- margin: 0 0 32px;
+ margin: 0 0 32px;
}
a {
- transition: border 0.2s ease-in-out;
- border-bottom: 1px solid transparent;
- text-decoration: none;
- color: #00b7ef;
+ transition: border 0.2s ease-in-out;
+ border-bottom: 1px solid transparent;
+ text-decoration: none;
+ color: var(--blue);
}
a:hover {
- border-bottom-color: #00b7ef;
+ border-bottom-color: var(--blue);
}
li {
- line-height: 1.8;
+ line-height: 1.8;
}
li strong {
- color: #fff;
+ color: var(--text);
}
.image {
- width: 100%;
- margin: 0 0 32px;
- padding: 0;
+ width: 100%;
+ margin: 0 0 32px;
+ padding: 0;
}
.image img {
- width: 100%;
+ width: 100%;
}
.optanon-alert-box-wrapper {
- left: 0;
+ left: 0;
}
.hidden {
- display: none !important;
+ display: none !important;
}
.hide-mobile {
- display: none;
+ display: none;
}
@media (min-width: 680px) {
- body {
- margin: 8em auto 0 auto;
- }
- .hide-mobile {
- display: initial;
- }
+ body {
+ margin: 8em auto 0 auto;
+ }
+ .hide-mobile {
+ display: initial;
+ }
}
.header {
- position: fixed;
- top: 0;
- left: 0;
- z-index: 1;
- box-sizing: border-box;
- width: 100%;
- padding: 3em 0 0;
- background: black;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ box-sizing: border-box;
+ width: 100%;
+ padding: 3em 0 0;
+ background: var(--base);
}
.header.top-banner-open {
- margin-top: 5px;
- transition: all 0.2s linear;
+ margin-top: 5px;
+ transition: all 0.2s linear;
}
.header .header-container {
- width: 100%;
- max-width: calc(1200px + 10em);
- height: 5em;
- display: flex;
- flex-direction: column;
- align-items: center;
- margin: 0 auto;
+ width: 100%;
+ max-width: calc(1200px + 10em);
+ height: 5em;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin: 0 auto;
+ background-color: var(--base);
}
.header .header-container .header-left {
- display: flex;
- flex-grow: 1;
+ display: flex;
+ flex-grow: 1;
}
.header .header-container .header-left .header-crafted-by-container {
- font-size: 18px;
- font-weight: 300;
+ font-size: 18px;
+ font-weight: 300;
}
.header .header-container .header-left .header-crafted-by-container a {
- display: flex;
- color: #9b9b9b;
- border: none;
+ display: flex;
+ color: var(--subtext0);
+ border: none;
}
.header .header-container .header-left .header-crafted-by-container a img {
- height: 28px;
+ height: 28px;
}
.header .header-container .header-left .header-crafted-by-container a span {
- display: inline-block;
- margin: 2px 1ch 0 0;
+ display: inline-block;
+ margin: 2px 1ch 0 0;
}
.header .header-container .header-left .header-crafted-by-container .auth0 {
- margin-left: 1ch;
- color: #fff;
- font-weight: bold;
+ margin-left: 1ch;
+ color: var(--text);
+ font-weight: bold;
}
.header .header-container .header-right {
- display: flex;
- flex-grow: 1;
- justify-content: space-between;
- letter-spacing: 1px;
- font-weight: 500;
+ display: flex;
+ flex-grow: 1;
+ justify-content: space-between;
+ letter-spacing: 1px;
+ font-weight: 500;
}
.header .header-container .header-right .header-nav-item {
- text-transform: uppercase;
- margin-left: 10px;
+ text-transform: uppercase;
+ margin-left: 10px;
}
.header .header-container .header-right .header-nav-item button {
- all: unset;
- cursor: pointer;
+ all: unset;
+ cursor: pointer;
}
.header .header-container .header-right .header-nav-item.active a,
.header .header-container .header-right .header-nav-item.active button {
- color: #fff;
+ color: var(--text);
}
.header .header-container .header-right a img {
- margin-top: -0.4rem;
- height: 28px;
+ margin-top: -0.4rem;
+ height: 28px;
}
.header .header-container .header-right .header-nav-item a,
.header .header-container .header-right .header-nav-item button {
- transition: color 0.3s ease-in-out;
- display: block;
- padding: 20px 0;
- border: none;
- color: #9b9b9b;
+ transition: color 0.3s ease-in-out;
+ display: block;
+ padding: 20px 0;
+ border: none;
+ color: var(--subtext0);
}
+
.header .header-container .header-right .header-nav-item:hover a,
.header .header-container .header-right .header-nav-item:hover button {
- color: #fdfff5;
+ color: var(--lavender);
}
@media (min-width: 680px) {
- .header {
- padding: 3em 5rem 0;
- }
- .header.top-banner-open {
- margin-top: 48px;
- }
- .header .header-container {
- flex-direction: row;
- }
- .header .header-container .header-right {
- justify-content: flex-end;
- }
- .header .header-container .header-right .header-nav-item {
- margin-left: 26px;
- }
+ .header {
+ padding: 3em 5rem 0;
+ }
+ .header.top-banner-open {
+ margin-top: 48px;
+ }
+ .header .header-container {
+ flex-direction: row;
+ }
+ .header .header-container .header-right {
+ justify-content: flex-end;
+ }
+ .header .header-container .header-right .header-nav-item {
+ margin-left: 26px;
+ }
}
.button-dark {
- transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
- color: white;
- text-transform: uppercase;
- font-weight: 500;
- padding: 18px 28px;
- letter-spacing: 1px;
- cursor: pointer;
- background-color: transparent;
- border: 1px solid #595b5c;
- margin: 2px;
+ transition:
+ border-color 0.3s ease-in-out,
+ background-color 0.3s ease-in-out;
+ color: white;
+ text-transform: uppercase;
+ font-weight: 500;
+ padding: 18px 28px;
+ letter-spacing: 1px;
+ cursor: pointer;
+ background-color: transparent;
+ border: 1px solid var(--surface1);
+ margin: 2px;
}
.button-dark:hover {
- border-color: #fff;
+ border-color: var(--text);
}
.button-colorful {
- transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
- color: white;
- text-transform: uppercase;
- font-weight: 500;
- padding: 18px 28px;
- letter-spacing: 1px;
- cursor: pointer;
- background-color: #d43aff;
- border: 1px solid #d43aff;
+ transition:
+ border-color 0.3s ease-in-out,
+ background-color 0.3s ease-in-out;
+ color: white;
+ text-transform: uppercase;
+ font-weight: 500;
+ padding: 18px 28px;
+ letter-spacing: 1px;
+ cursor: pointer;
+ background-color: var(--mauve);
+ border: 1px solid var(--mauve);
}
.button-colorful:hover {
- background-color: #c907ff;
- border-color: #c907ff;
+ background-color: #c907ff;
+ border-color: #c907ff;
}
.button-orange {
- transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
- color: white;
- text-transform: uppercase;
- font-weight: 500;
- padding: 18px 28px;
- letter-spacing: 1px;
- cursor: pointer;
- background-color: #eb5424;
- border: 1px solid #eb5424;
+ transition:
+ border-color 0.3s ease-in-out,
+ background-color 0.3s ease-in-out;
+ color: white;
+ text-transform: uppercase;
+ font-weight: 500;
+ padding: 18px 28px;
+ letter-spacing: 1px;
+ cursor: pointer;
+ background-color: var(--peach);
+ border: 1px solid var(--peach);
}
.button-orange:hover {
- background-color: #ca3f12;
- border-color: #ca3f12;
+ background-color: #ca3f12;
+ border-color: #ca3f12;
}
.button-colorful:disabled {
- transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
- color: white;
- text-transform: uppercase;
- font-weight: 500;
- padding: 18px 28px;
- letter-spacing: 1px;
- cursor: pointer;
- background-color: #9a9a9a;
- border: 1px solid #9a9a9a;
+ transition:
+ border-color 0.3s ease-in-out,
+ background-color 0.3s ease-in-out;
+ color: white;
+ text-transform: uppercase;
+ font-weight: 500;
+ padding: 18px 28px;
+ letter-spacing: 1px;
+ cursor: pointer;
+ background-color: var(--overlay0);
+ border: 1px solid var(--overlay0);
}
.hero-container {
- max-width: 795px;
- display: flex;
- flex-direction: column;
- align-items: center;
- margin: 0 auto 70px auto;
+ max-width: 795px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin: 0 auto 70px auto;
}
.hero-container .hero-logo {
- margin-top: 88px;
- margin-bottom: 32px;
+ margin-top: 88px;
+ margin-bottom: 32px;
}
.hero-container .hero-subtitle {
- font-size: 20px;
- text-align: center;
- line-height: 32px;
- margin: 0 0 45px 0;
+ font-size: 20px;
+ text-align: center;
+ line-height: 32px;
+ margin: 0 0 45px 0;
}
.hero-container .hero-buttons-container {
- display: flex;
+ display: flex;
}
.hero-container .hero-buttons-container button {
- margin: 0 8px;
+ margin: 0 8px;
}
@media (min-width: 680px) {
- .hero-container {
- margin: 0 auto 140px auto;
- }
+ .hero-container {
+ margin: 0 auto 140px auto;
+ }
}
.container {
- transition: opacity 0.2s ease-in-out;
- color: white;
- letter-spacing: 0;
- opacity: 1;
+ transition: opacity 0.2s ease-in-out;
+ color: white;
+ letter-spacing: 0;
+ opacity: 1;
}
.container .content {
- width: 100%;
- flex-grow: 1;
+ width: 100%;
+ flex-grow: 1;
}
.container .content .step-title {
- color: #fff;
- font-size: 20px;
- font-weight: 500;
- line-height: 86px;
- opacity: 1;
+ color: #fff;
+ font-size: 20px;
+ font-weight: 500;
+ line-height: 86px;
+ opacity: 1;
}
.container .content .step-subtitle {
- position: relative;
- top: -5px;
- font-size: 16px;
- font-weight: 300;
+ position: relative;
+ top: -5px;
+ font-size: 16px;
+ font-weight: 300;
}
@media (max-width: 680px) {
- .container .content {
- margin-top: 120px;
- }
+ .container .content {
+ margin-top: 120px;
+ }
}
@media (min-width: 680px) {
- .container {
- position: relative;
- left: 100px;
- display: flex;
- width: calc(100% - 100px);
- padding: 0;
- }
- .container .content {
- max-width: 795px;
- }
- .container .content .step-title {
- font-size: 36px;
- }
+ .container {
+ position: relative;
+ left: 100px;
+ display: flex;
+ width: calc(100% - 100px);
+ padding: 0;
+ }
+ .container .content {
+ max-width: 795px;
+ }
+ .container .content .step-title {
+ font-size: 36px;
+ }
}
.input-box {
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 10px 0;
- padding: 10px;
- width: 100%;
- height: auto;
- box-sizing: border-box;
- background-color: #2f2f2f;
- border-radius: 3px;
- font-family: "Roboto Mono", monospace;
- font-size: 13px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 10px 0;
+ padding: 10px;
+ width: 100%;
+ height: auto;
+ box-sizing: border-box;
+ background-color: var(--surface0);
+ border-radius: 3px;
+ font-family: 'Roboto Mono', monospace;
+ font-size: 13px;
}
.input-box .label {
- margin: 0 1ch 0 0;
- font-size: 16px;
+ margin: 0 1ch 0 0;
+ font-size: 16px;
}
.input-box .input {
- background-color: #494848;
- border-radius: 6px;
- outline: none;
- border: 3px solid #494848;
- width: 100%;
- max-width: 444px;
- font-size: 13px;
+ background-color: var(--surface1);
+ border: 3px solid var(--surface1);
+ border-radius: 6px;
+ outline: none;
+ width: 100%;
+ max-width: 444px;
+ font-size: 13px;
}
@media (min-width: 680px) {
- .input-box {
- padding: 10px;
- }
+ .input-box {
+ padding: 10px;
+ }
}
.btn-container {
- display: flex;
- justify-content: space-between;
- align-items: first baseline;
+ display: flex;
+ justify-content: space-between;
+ align-items: first baseline;
}
@media (max-width: 680px) {
- .btn-container {
- align-items: flex-start;
- }
- .btn-container p {
- margin-left: 1rem;
- }
+ .btn-container {
+ align-items: flex-start;
+ }
+ .btn-container p {
+ margin-left: 1rem;
+ }
}
.button-group {
- display: flex;
- gap: 0.5rem;
- margin-top: 1rem;
+ display: flex;
+ gap: 0.5rem;
+ margin-top: 1rem;
}
.btn {
- font-family: "Roboto Mono", monospace;
- letter-spacing: 1px;
- padding: 18px 28px;
- border: 1px solid;
- cursor: pointer;
- display: flex;
- align-items: center;
- gap: 0.5rem;
- transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
- border-radius: 5px;
+ font-family: 'Roboto Mono', monospace;
+ letter-spacing: 1px;
+ padding: 18px 28px;
+ border: 1px solid;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ gap: 0.5rem;
+ transition:
+ border-color 0.3s ease-in-out,
+ background-color 0.3s ease-in-out;
+ border-radius: 5px;
}
.btn.primary {
- background-color: #4361ee;
- border-color: #4361ee;
- color: white;
+ background-color: var(--blue);
+ border-color: var(--blue);
+ color: white;
}
.btn.primary:hover {
- background-color: #3651d4;
- border-color: #3651d4;
+ background-color: var(--sapphire);
+ border-color: var(--sapphire);
}
.btn.danger {
- background-color: #dc2626;
- border-color: #dc2626;
- color: white;
+ background-color: var(--red);
+ border-color: var(--red);
+ color: white;
}
.btn.danger:hover {
- background-color: #c51f1f;
- border-color: #c51f1f;
+ background-color: var(--maroon);
+ border-color: var(--maroon);
}
.warning {
- margin: 20px 0;
- padding: 1rem;
- width: 100%;
- box-sizing: border-box;
- background-color: rgb(255 228 230);
- border: 1px solid rgb(225 29 72);
- border-radius: 6px;
- color: rgb(225 29 72);
- font-size: 16px;
+ margin: 20px 0;
+ padding: 1rem;
+ width: 100%;
+ box-sizing: border-box;
+ background-color: var(--surface0);
+ border: 1px solid var(--red);
+ color: var(--red);
+ border-radius: 6px;
+ font-size: 16px;
}
.warning a {
- color: rgb(225 29 72);
- text-decoration: underline;
+ color: var(--red);
+ text-decoration: underline;
}
.warning.hidden {
- display: none;
+ display: none;
}
.error {
- margin-top: 10rem;
- padding: 30px 40px;
- background: #2f3132;
- color: #fff;
+ margin-top: 10rem;
+ padding: 30px 40px;
+ background: var(--surface0);
+ color: var(--text);
}
.error p {
- margin: 0 0 1rem;
+ margin: 0 0 1rem;
}
.error p.intro {
- font-size: 1.3rem;
+ font-size: 1.3rem;
}
.error .button-colorful {
- display: inline-block;
+ display: inline-block;
}
@media (min-width: 680px) {
- .error {
- padding: 65px 80px;
- }
+ .error {
+ padding: 65px 80px;
+ }
}
.footer-branding-container {
- color: white;
- font-weight: 300;
- margin-bottom: 73px;
+ color: white;
+ font-weight: 300;
+ margin-bottom: 73px;
}
.footer-branding-container .footer-branding {
- display: flex;
- width: 400px;
+ display: flex;
+ width: 400px;
}
.footer-branding-container .footer-branding {
- flex-direction: column;
- text-align: center;
- margin: 30px 0 0;
+ flex-direction: column;
+ text-align: center;
+ margin: 30px 0 0;
}
.footer-branding-container .footer-branding .footer-crafted-by-container {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-bottom: 16px;
- color: white;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 16px;
+ color: white;
}
.footer-branding-container .footer-branding .footer-crafted-by-container span {
- display: inline-block;
- margin: 3px 1ch 0 0;
+ display: inline-block;
+ margin: 3px 1ch 0 0;
}
.footer-branding-container
- .footer-branding
- .footer-crafted-by-container
- .footer-branded-crafted-img {
- height: 28px;
+ .footer-branding
+ .footer-crafted-by-container
+ .footer-branded-crafted-img {
+ height: 28px;
}
.footer-branding-container .footer-branding .footer-copyright {
- color: #696969;
- letter-spacing: 0.5px;
+ color: #696969;
+ letter-spacing: 0.5px;
}
.footer-container {
- width: 100%;
- color: white;
- box-sizing: border-box;
- display: flex;
- justify-content: center;
- align-items: center;
+ width: 100%;
+ color: white;
+ box-sizing: border-box;
+ display: flex;
+ justify-content: center;
+ align-items: center;
}
@media (min-width: 680px) {
- .footer-container {
- padding: 0;
- }
+ .footer-container {
+ padding: 0;
+ }
}
.simple-loader {
- --b: 20px; /* border thickness */
- --n: 15; /* number of dashes*/
- --g: 7deg; /* gap between dashes*/
- --c: #d43aff; /* the color */
+ --b: 20px; /* border thickness */
+ --n: 15; /* number of dashes*/
+ --g: 7deg; /* gap between dashes*/
+ --c: var(--mauve); /* Changed loader color to match theme */
- width: 40px; /* size */
- aspect-ratio: 1;
- border-radius: 50%;
- padding: 1px; /* get rid of bad outlines */
- background: conic-gradient(#0000, var(--c)) content-box;
- --_m: /* we use +/-1deg between colors to avoid jagged edges */ repeating-conic-gradient(
- #0000 0deg,
- #000 1deg calc(360deg / var(--n) - var(--g) - 1deg),
- #0000 calc(360deg / var(--n) - var(--g)) calc(360deg / var(--n))
- ),
- radial-gradient(
- farthest-side,
- #0000 calc(98% - var(--b)),
- #000 calc(100% - var(--b))
- );
- -webkit-mask: var(--_m);
- mask: var(--_m);
- -webkit-mask-composite: destination-in;
- mask-composite: intersect;
- animation: load 1s infinite steps(var(--n));
+ width: 40px; /* size */
+ aspect-ratio: 1;
+ border-radius: 50%;
+ padding: 1px; /* get rid of bad outlines */
+ background: conic-gradient(#0000, var(--c)) content-box;
+ --_m: /* we use +/-1deg between colors to avoid jagged edges */ repeating-conic-gradient(
+ #0000 0deg,
+ #000 1deg calc(360deg / var(--n) - var(--g) - 1deg),
+ #0000 calc(360deg / var(--n) - var(--g)) calc(360deg / var(--n))
+ ),
+ radial-gradient(farthest-side, #0000 calc(98% - var(--b)), #000 calc(100% - var(--b)));
+ -webkit-mask: var(--_m);
+ mask: var(--_m);
+ -webkit-mask-composite: destination-in;
+ mask-composite: intersect;
+ animation: load 1s infinite steps(var(--n));
}
@keyframes load {
- to {
- transform: rotate(1turn);
- }
+ to {
+ transform: rotate(1turn);
+ }
}
diff --git a/frontend/src/routes/auth/about/[id]/+page.svelte b/frontend/src/routes/auth/about/[id]/+page.svelte
index d383b1c..6fb9630 100644
--- a/frontend/src/routes/auth/about/[id]/+page.svelte
+++ b/frontend/src/routes/auth/about/[id]/+page.svelte
@@ -1,156 +1,156 @@
-
- {#if user.status}
-
- Status:
-
- {$t(`userStatus.${user.status}`, {
- default: "unknown status",
- })}
- {$t(`userRole.${user.role_id}`, { default: "unknown role" })}
-
-
- {/if}
-
- Name:
- {`${user.first_name} ${user.last_name}`}
-
- {#if user.email}
-
- Email:
- {user.email}
-
- {/if}
- {#if user.address}
-
- Adresse:
-
- {user.address}
- {`${user.zip_code} ${user.city}`}
-
-
- {/if}
- {#if user.phone}
-
- Telefon:
- {user.phone}
-
- {/if}
- {#if user.date_of_birth}
-
- Geburtstag:
- {user.date_of_birth}
-
- {/if}
- {#if user.notes}
-
- {$t("notes")}:
- {user.notes}
-
- {/if}
-
+
+ {#if user.status}
+
+ Status:
+
+ {$t(`userStatus.${user.status}`, {
+ default: 'unknown status'
+ })}
+ {$t(`userRole.${user.role_id}`, { default: 'unknown role' })}
+
+
+ {/if}
+
+ Name:
+ {`${user.first_name} ${user.last_name}`}
+
+ {#if user.email}
+
+ Email:
+ {user.email}
+
+ {/if}
+ {#if user.address}
+
+ Adresse:
+
+ {user.address}
+ {`${user.zip_code} ${user.city}`}
+
+
+ {/if}
+ {#if user.phone}
+
+ Telefon:
+ {user.phone}
+
+ {/if}
+ {#if user.date_of_birth}
+
+ Geburtstag:
+ {user.date_of_birth}
+
+ {/if}
+ {#if user.notes}
+
+ {$t('notes')}:
+ {user.notes}
+
+ {/if}
+
-
-
-
+
+
+
{#if showModal}
-
-
-
+
+
+
{/if}
diff --git a/frontend/src/routes/auth/admin/users/+page.svelte b/frontend/src/routes/auth/admin/users/+page.svelte
index 4c412fb..4d96ff6 100644
--- a/frontend/src/routes/auth/admin/users/+page.svelte
+++ b/frontend/src/routes/auth/admin/users/+page.svelte
@@ -1,50 +1,50 @@
@@ -57,7 +57,7 @@
class="nav-link {activeSection === 'users' ? 'active' : ''}"
on:click={() => setActiveSection('users')}
>
-
+
{users.length}
{$t('users')}
@@ -67,7 +67,7 @@
class="nav-link {activeSection === 'subscriptions' ? 'active' : ''}"
on:click={() => setActiveSection('subscriptions')}
>
-
+
{subscriptions.length}
{$t('subscriptions')}
@@ -77,7 +77,7 @@
class="nav-link {activeSection === 'payments' ? 'active' : ''}"
on:click={() => setActiveSection('payments')}
>
-
+
{$t('payments')}
@@ -90,7 +90,7 @@
@@ -124,11 +124,11 @@
@@ -140,7 +140,7 @@