aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/routes/(main)/(app)/+layout.svelte
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-12-13 14:48:11 +0100
committerivarlovlie <git@ivarlovlie.no>2022-12-13 14:48:21 +0100
commita8219611cbebbd27501d9f30c804979048b98107 (patch)
tree632dbab8b724f0148b06525771d85ad6ddb55e35 /code/app/src/routes/(main)/(app)/+layout.svelte
parentdb2d937a38d5c309e3c6aa14f2eaf3cfe58f415e (diff)
downloadgreatoffice-a8219611cbebbd27501d9f30c804979048b98107.tar.xz
greatoffice-a8219611cbebbd27501d9f30c804979048b98107.zip
feat: A whole slew of things
- Use a md5 hash of the session cookie value as key for session validity check - Introduce global state - Introduce a common interface for form logic, and implement it on the sign-in form - Introduce static resolve() on all services instead of new-upping all over. - Implement /portal on the frontend to support giving the frontend a inital context from server or anywhere. - Show a notification when users sign in for the first time after validating their email
Diffstat (limited to 'code/app/src/routes/(main)/(app)/+layout.svelte')
-rw-r--r--code/app/src/routes/(main)/(app)/+layout.svelte27
1 files changed, 24 insertions, 3 deletions
diff --git a/code/app/src/routes/(main)/(app)/+layout.svelte b/code/app/src/routes/(main)/(app)/+layout.svelte
index e57bc3b..936e0a7 100644
--- a/code/app/src/routes/(main)/(app)/+layout.svelte
+++ b/code/app/src/routes/(main)/(app)/+layout.svelte
@@ -22,12 +22,13 @@
TransitionRoot,
} from "@rgossiaux/svelte-headlessui";
import { DialogPanel } from "@developermuch/dev-svelte-headlessui";
- import { Input } from "$components";
+ import { Input, Notification } from "$components";
import { goto } from "$app/navigation";
import { page } from "$app/stores";
+ import { onMount } from "svelte";
+ import { fgs, sgs } from "$help/global-state";
- const accountService = new AccountService();
-
+ const accountService = AccountService.resolve();
const session = {
profile: {
username: "Brukernavn",
@@ -37,6 +38,12 @@
let sidebarOpen = false;
let sidebarSearchValue: string | undefined;
+ let showEmailValidatedNotif = false;
+
+ onMount(() => {
+ showEmailValidatedNotif = fgs("showEmailValidatedAlertWhenLoggedIn") === "true";
+ if (showEmailValidatedNotif) sgs("showEmailValidatedAlertWhenLoggedIn", false);
+ });
function sign_out() {
accountService.end_session(() => goto("/sign-in"));
@@ -71,6 +78,20 @@
];
</script>
+{#if showEmailValidatedNotif}
+ <Notification
+ title="Email successfully validated"
+ subtitle="Because of this, you now have gained access to more functionality"
+ show={true}
+ />
+
+ <Notification
+ title="Email successfully validated"
+ subtitle="Because of this, you now have gained access to more functionality"
+ show={true}
+ />
+{/if}
+
<div class="min-h-full">
<!-- Mobile sidebar -->
<TransitionRoot show={sidebarOpen}>