From ced66c5807575cd29f6aa5632e8ad02b38c8448a Mon Sep 17 00:00:00 2001
From: ivar
Date: Sun, 28 Apr 2024 22:37:30 +0200
Subject: WIP new frontend
---
.../src/routes/(main)/(app)/+layout.svelte | 379 +++++++++++++++++++++
.../src/routes/(main)/(app)/home/+page.svelte | 1 +
.../src/routes/(main)/(app)/org/+page.svelte | 4 +
.../src/routes/(main)/(app)/profile/+page.svelte | 4 +
.../src/routes/(main)/(app)/projects/+page.svelte | 118 +++++++
.../routes/(main)/(app)/projects/[id]/+page.svelte | 5 +
.../(main)/(app)/projects/create/+page.svelte | 59 ++++
.../src/routes/(main)/(app)/settings/+page.svelte | 205 +++++++++++
.../src/routes/(main)/(app)/tickets/+page.svelte | 4 +
.../src/routes/(main)/(app)/todo/+page.svelte | 4 +
.../src/routes/(main)/(app)/wiki/+page.svelte | 4 +
.../src/routes/(main)/(public)/+layout.svelte | 18 +
.../src/routes/(main)/(public)/portal/+page.svelte | 26 ++
.../src/routes/(main)/(public)/portal/+page.ts | 9 +
.../(main)/(public)/reset-password/+page.svelte | 81 +++++
.../routes/(main)/(public)/reset-password/+page.ts | 11 +
.../(public)/reset-password/[id]/+page.server.ts | 11 +
.../(public)/reset-password/[id]/+page.svelte | 82 +++++
.../(main)/(public)/reset-password/[id]/+page.ts | 11 +
.../routes/(main)/(public)/sign-in/+page.svelte | 155 +++++++++
.../src/routes/(main)/(public)/sign-in/+page.ts | 11 +
.../routes/(main)/(public)/sign-in/index.spec.js | 12 +
.../src/routes/(main)/(public)/sign-in/index.ts | 20 ++
.../routes/(main)/(public)/sign-up/+page.svelte | 106 ++++++
.../src/routes/(main)/(public)/sign-up/+page.ts | 11 +
code/frontend/src/routes/(main)/+page.svelte | 1 +
code/frontend/src/routes/+layout.server.ts | 44 +++
code/frontend/src/routes/+layout.svelte | 50 +++
code/frontend/src/routes/+layout.ts | 10 +
29 files changed, 1456 insertions(+)
create mode 100644 code/frontend/src/routes/(main)/(app)/+layout.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/home/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/org/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/profile/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/projects/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/projects/[id]/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/projects/create/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/settings/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/tickets/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/todo/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(app)/wiki/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(public)/+layout.svelte
create mode 100644 code/frontend/src/routes/(main)/(public)/portal/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(public)/portal/+page.ts
create mode 100644 code/frontend/src/routes/(main)/(public)/reset-password/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(public)/reset-password/+page.ts
create mode 100644 code/frontend/src/routes/(main)/(public)/reset-password/[id]/+page.server.ts
create mode 100644 code/frontend/src/routes/(main)/(public)/reset-password/[id]/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(public)/reset-password/[id]/+page.ts
create mode 100644 code/frontend/src/routes/(main)/(public)/sign-in/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(public)/sign-in/+page.ts
create mode 100644 code/frontend/src/routes/(main)/(public)/sign-in/index.spec.js
create mode 100644 code/frontend/src/routes/(main)/(public)/sign-in/index.ts
create mode 100644 code/frontend/src/routes/(main)/(public)/sign-up/+page.svelte
create mode 100644 code/frontend/src/routes/(main)/(public)/sign-up/+page.ts
create mode 100644 code/frontend/src/routes/(main)/+page.svelte
create mode 100644 code/frontend/src/routes/+layout.server.ts
create mode 100644 code/frontend/src/routes/+layout.svelte
create mode 100644 code/frontend/src/routes/+layout.ts
(limited to 'code/frontend/src/routes')
diff --git a/code/frontend/src/routes/(main)/(app)/+layout.svelte b/code/frontend/src/routes/(main)/(app)/+layout.svelte
new file mode 100644
index 0000000..3141931
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/+layout.svelte
@@ -0,0 +1,379 @@
+
+
+{#if showEmailValidatedNotif}
+ A list of all the projects in your organsation.
+ This information will be displayed publicly so be careful what you share.
+ Manage how information is displayed on your
+ account.
+ {$LL.or().toLowerCase()}
+
+ {$LL.signIntoYourAccount().toLowerCase()}
+
+
+ {$LL.or().toLowerCase()}
+
+ {$LL.signIntoYourAccount().toLowerCase()}
+
+ Checking your request...
+ {$LL.or().toLowerCase()}
+
+ {$LL.createANewAccount().toLowerCase()}
+
+
+ {$LL.or().toLowerCase()}
+
+ {$LL.signIntoYourAccount().toLowerCase()}
+
+ Welcome Home
\ No newline at end of file
diff --git a/code/frontend/src/routes/(main)/(app)/org/+page.svelte b/code/frontend/src/routes/(main)/(app)/org/+page.svelte
new file mode 100644
index 0000000..429ec25
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/org/+page.svelte
@@ -0,0 +1,4 @@
+
+
+$ORGNAME
diff --git a/code/frontend/src/routes/(main)/(app)/profile/+page.svelte b/code/frontend/src/routes/(main)/(app)/profile/+page.svelte
new file mode 100644
index 0000000..7c6eb3e
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/profile/+page.svelte
@@ -0,0 +1,4 @@
+
+
+Hi, Ivar
diff --git a/code/frontend/src/routes/(main)/(app)/projects/+page.svelte b/code/frontend/src/routes/(main)/(app)/projects/+page.svelte
new file mode 100644
index 0000000..2585331
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/projects/+page.svelte
@@ -0,0 +1,118 @@
+
+
+Projects
+
+
+ {#each $headerRows as headerRow (headerRow.id)}
+
+
+ {#each headerRow.cells as cell (cell.id)}
+
+
+
+
+ {#each row.cells as cell (cell.id)}
+ {@const materialisedCell = cell.render()}
+
+
+ {#if cell.id === "name"}
+
+
+ {$page.params.id}
diff --git a/code/frontend/src/routes/(main)/(app)/projects/create/+page.svelte b/code/frontend/src/routes/(main)/(app)/projects/create/+page.svelte
new file mode 100644
index 0000000..d710edc
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/projects/create/+page.svelte
@@ -0,0 +1,59 @@
+
+
+Create a new project
+
diff --git a/code/frontend/src/routes/(main)/(app)/settings/+page.svelte b/code/frontend/src/routes/(main)/(app)/settings/+page.svelte
new file mode 100644
index 0000000..8e99661
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/settings/+page.svelte
@@ -0,0 +1,205 @@
+
+
+Settings
+ Profile
+
+
+
+
+
+
+
+
+
+
Account
+
+
+ Tickets
diff --git a/code/frontend/src/routes/(main)/(app)/todo/+page.svelte b/code/frontend/src/routes/(main)/(app)/todo/+page.svelte
new file mode 100644
index 0000000..e29f263
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/todo/+page.svelte
@@ -0,0 +1,4 @@
+
+
+Todo
diff --git a/code/frontend/src/routes/(main)/(app)/wiki/+page.svelte b/code/frontend/src/routes/(main)/(app)/wiki/+page.svelte
new file mode 100644
index 0000000..1762d43
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(app)/wiki/+page.svelte
@@ -0,0 +1,4 @@
+
+
+Wiki
diff --git a/code/frontend/src/routes/(main)/(public)/+layout.svelte b/code/frontend/src/routes/(main)/(public)/+layout.svelte
new file mode 100644
index 0000000..6da653c
--- /dev/null
+++ b/code/frontend/src/routes/(main)/(public)/+layout.svelte
@@ -0,0 +1,18 @@
+
+
+Warping...
+
+ {$LL.resetPasswordPage.requestAPasswordReset()}
+
+
+ {$LL.resetPasswordPage.setANewPassword()}
+
+
+ {$LL.signInPage.signIn()}
+
+
+ {$LL.signUpPage.createYourNewAccount()}
+
+
Hold on...
diff --git a/code/frontend/src/routes/+layout.server.ts b/code/frontend/src/routes/+layout.server.ts new file mode 100644 index 0000000..00c8326 --- /dev/null +++ b/code/frontend/src/routes/+layout.server.ts @@ -0,0 +1,44 @@ +import {api_base, CookieNames} from "$configuration"; +import {cached_result_async, CacheKeys} from "$utils/cache"; +import {get_md5_hash} from "$utils/crypto-helpers"; +import {error, redirect} from "@sveltejs/kit"; +import type {LayoutServerLoad} from "./$types"; + +export const load: LayoutServerLoad = async ({route, cookies, locals, fetch}) => { + const isBaseRoute = route.id === "/(main)"; + const isPortalRoute = route.id === "/(main)/(public)/portal"; + const isPublicRoute = (isBaseRoute || (route.id?.startsWith("/(main)/(public)") ?? false)) ?? true; + const sessionCookieValue = cookies.get(CookieNames.session); + let sessionIsValid = false; + if ((sessionCookieValue?.length > 0 ?? false)) { + const sessionHash = get_md5_hash(sessionCookieValue); + sessionIsValid = (await cached_result_asyncYou seem to be offline, please check your internet connection.
+