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 @@
- {#if type === "checkbox"} - - {:else} - {label} - {/if} -
- {#if error} - {error} - {/if} - {#if type === "select"} - - {:else if type === "textarea"} - + {:else if type != 'checkbox'} + + {/if} +
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} -
- -

{$t("user.edit")}

- {#if form?.success} -

- Um einen fehlerhaften upload Ihres Bildes zu vermeiden, clicke bitte auf - den "Update" Button unten. -

- {/if} - {#if form?.errors} - {#each form?.errors as error (error.id)} -

- {$t(error.field) + ": " + $t(error.key)} -

- {/each} - {/if} + + +

{$t('user.edit')}

+ {#if form?.success} +

+ Um einen fehlerhaften upload Ihres Bildes zu vermeiden, clicke bitte auf den "Update" Button + unten. +

+ {/if} + {#if form?.errors} + {#each form?.errors as error (error.id)} +

+ {$t(error.field) + ': ' + $t(error.key)} +

+ {/each} + {/if} - + -
- {#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} -
- +
+ {#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 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 @@

{$t('users')}

@@ -124,11 +124,11 @@
@@ -140,7 +140,7 @@

{$t('subscriptions')}