From 85597585dac89139dfe4366228e849f595e35430 Mon Sep 17 00:00:00 2001 From: bytedream Date: Wed, 4 Oct 2023 14:28:35 +0200 Subject: [PATCH] make error toast global in admin routes --- package-lock.json | 2 +- package.json | 2 +- src/lib/stores.ts | 11 +++++++++++ src/routes/admin/+layout.svelte | 11 ++++++++++- src/routes/admin/login/+page.svelte | 17 +++++------------ 5 files changed, 28 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0d594cb..319e6b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "eslint-config-prettier": "^8.5.0", "eslint-plugin-svelte": "^2.30.0", "postcss": "^8.4.27", - "prettier": "^2.8.0", + "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.1", "sass": "^1.66.1", "svelte": "^4.0.5", diff --git a/package.json b/package.json index 0bb4457..ff535f8 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "eslint-config-prettier": "^8.5.0", "eslint-plugin-svelte": "^2.30.0", "postcss": "^8.4.27", - "prettier": "^2.8.0", + "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.1", "sass": "^1.66.1", "svelte": "^4.0.5", diff --git a/src/lib/stores.ts b/src/lib/stores.ts index cdf8bcd..d6c19ca 100644 --- a/src/lib/stores.ts +++ b/src/lib/stores.ts @@ -4,5 +4,16 @@ import { writable } from 'svelte/store'; export const playAudio: Writable = persisted('playAudio', false); +export const errorMessage: Writable = (() => { + const store: Writable = writable(null); + return { + subscribe: store.subscribe, + set: (value) => { + if (value != null) store.set(null); + store.set(value); + }, + update: store.update + }; +})(); export const reportCount: Writable = writable(0); export const adminCount: Writable = writable(0); diff --git a/src/routes/admin/+layout.svelte b/src/routes/admin/+layout.svelte index bab7137..f07f540 100644 --- a/src/routes/admin/+layout.svelte +++ b/src/routes/admin/+layout.svelte @@ -5,7 +5,8 @@ import { buttonTriggeredRequest } from '$lib/components/utils'; import { goto } from '$app/navigation'; import type { LayoutData } from './$types'; - import { adminCount, reportCount } from '$lib/stores'; + import { adminCount, errorMessage, reportCount } from '$lib/stores'; + import ErrorToast from '$lib/components/Toast/ErrorToast.svelte'; async function logout() { const response = await fetch(`${env.PUBLIC_BASE_PATH}/admin/logout`, { @@ -21,6 +22,8 @@ export let data: LayoutData; if (data.reportCount) $reportCount = data.reportCount; if (data.adminCount) $adminCount = data.adminCount; + + errorMessage.subscribe(console.log); {#if $page.url.pathname !== `${env.PUBLIC_BASE_PATH}/admin/login`} @@ -71,3 +74,9 @@ {/if} + +{#if $errorMessage} + + {$errorMessage} + +{/if} diff --git a/src/routes/admin/login/+page.svelte b/src/routes/admin/login/+page.svelte index 4f5ebad..2781931 100644 --- a/src/routes/admin/login/+page.svelte +++ b/src/routes/admin/login/+page.svelte @@ -1,13 +1,13 @@
@@ -82,7 +79,3 @@
- - - Nutzername oder Passwort falsch -