From cfde960e63dfd7514f1c922ed7b1594931dfb99f Mon Sep 17 00:00:00 2001 From: drake Date: Thu, 16 Jan 2025 22:20:39 -0600 Subject: [PATCH] auth additions and website layout --- permissions.md | 11 ++--- src/app.css | 44 +++++++++++++----- src/lib/db/index.server.ts | 3 +- src/lib/shared.svelte.ts | 2 +- src/routes/+layout.svelte | 45 +++++++++++-------- src/routes/about/+page.svelte | 6 ++- src/routes/administration/+layout.svelte | 34 ++++++++++++++ .../administration/postings/+page.svelte | 0 src/routes/administration/tags/+page.svelte | 0 src/routes/administration/users/+page.svelte | 0 src/routes/listings/+page.svelte | 0 src/routes/signin/+page.server.ts | 5 ++- 12 files changed, 110 insertions(+), 40 deletions(-) create mode 100644 src/routes/administration/+layout.svelte create mode 100644 src/routes/administration/postings/+page.svelte create mode 100644 src/routes/administration/tags/+page.svelte create mode 100644 src/routes/administration/users/+page.svelte create mode 100644 src/routes/listings/+page.svelte diff --git a/permissions.md b/permissions.md index ab18e4d..21eb8a8 100644 --- a/permissions.md +++ b/permissions.md @@ -2,8 +2,9 @@ | Permission Value | Description | |------------------|------------------------| -| `00000001` | Read access | -| `00000010` | Submit postings access | -| `00000100` | Manage postings | -| `00001000` | Manage users | -| `00010000` | Apply | \ No newline at end of file +| `00000001` | View postings | +| `00000010` | View account | +| `00000100` | Submit postings access | +| `00001000` | Manage postings | +| `00010000` | Manage users | +| `00100000` | Apply | \ No newline at end of file diff --git a/src/app.css b/src/app.css index 8786d08..594d212 100644 --- a/src/app.css +++ b/src/app.css @@ -6,12 +6,18 @@ --text-color: #000000; --bg-color: #f4f4f4; --hover-bg-color: #e4e4f0; + --elevated-bg-color: #ffffff; + --low-emphasis-text-color: #6b6b6b; + --primary-color: #1F96F3; } [data-theme='dark'] { --text-color: #f4f4f4; - --bg-color: #010101; + --bg-color: #080808; --hover-bg-color: #1f2937; + --elevated-bg-color: #1a202c; + --low-emphasis-text-color: #999999; + --primary-color: #1F96F3; } body { @@ -24,23 +30,41 @@ h1 { @apply text-4xl } -.nav-item { - @apply rounded px-3 py-2 text-sm mr-1 +.elevated { + background-color: var(--elevated-bg-color); + @apply shadow-lg } -.nav-item:hover { +.hover-bg-color:hover { background-color: var(--hover-bg-color); } -.nav-trailing { - @apply rounded-full p-1 +.low-emphasis-text { + color: var(--low-emphasis-text-color); } -.nav-trailing:hover { - background-color: var(--hover-bg-color); +.low-emphasis-text:hover { + color: var(--text-color); } -.nav-logo:hover { - background-color: var(--hover-bg-color); +.primary-underline { + border-bottom: 2px solid var(--primary-color); +} + +.top-border { + border-top: 1px solid var(--elevated-bg-color); +} + +.bottom-border { + border-bottom: 1px solid var(--elevated-bg-color); +} + +.small-icon { + font-size: 24px !important; + font-variation-settings: + 'FILL' 0, + 'wght' 400, + 'GRAD' 0, + 'opsz' 20 } diff --git a/src/lib/db/index.server.ts b/src/lib/db/index.server.ts index d5a6fa1..e0c92a2 100644 --- a/src/lib/db/index.server.ts +++ b/src/lib/db/index.server.ts @@ -6,9 +6,8 @@ export async function createUser(username: string, password: string): Promise { diff --git a/src/lib/shared.svelte.ts b/src/lib/shared.svelte.ts index 4d8045d..9affb03 100644 --- a/src/lib/shared.svelte.ts +++ b/src/lib/shared.svelte.ts @@ -1 +1 @@ -export let userState = $state({ permissions: 0b00000001 }); +export let userState = $state({ perms: 0b00000001 }); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 7643b7c..4ecc42b 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -33,25 +33,21 @@ const JWT = getCookieValue('jwt'); if (JWT !== '') { - userState.permissions = JSON.parse(JWT.split('.')[1]).permissions; + userState.perms = JSON.parse(atob(JWT.split('.')[1])).perms; } - console.log(userState.permissions); }); - // userState.permissions = 0b00000011; - // console.log(userState.permissions); - let { children } = $props(); -
-