From 7a109f3bd91797e9f3c5ad101893f0eedaf536e0 Mon Sep 17 00:00:00 2001 From: Ludvig Svedberg Date: Mon, 17 Feb 2025 21:12:16 +0100 Subject: [PATCH] Fix data being leaked due to app page title (#721) --- src/lib/components/nav/SetPageTitle.svelte | 10 ++++------ src/lib/stores/pageTitle.ts | 3 --- src/routes/(app)/+layout.svelte | 4 ++-- src/routes/(nollning)/nollning/PostRevealHeader.svelte | 5 ++++- src/routes/+layout.svelte | 8 ++++++-- src/routes/AppHeader.svelte | 5 ++++- 6 files changed, 20 insertions(+), 15 deletions(-) delete mode 100644 src/lib/stores/pageTitle.ts diff --git a/src/lib/components/nav/SetPageTitle.svelte b/src/lib/components/nav/SetPageTitle.svelte index d54312110..6ab2424f8 100644 --- a/src/lib/components/nav/SetPageTitle.svelte +++ b/src/lib/components/nav/SetPageTitle.svelte @@ -1,18 +1,16 @@ diff --git a/src/lib/stores/pageTitle.ts b/src/lib/stores/pageTitle.ts deleted file mode 100644 index ab234a4da..000000000 --- a/src/lib/stores/pageTitle.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { writable } from "svelte/store"; - -export const pageTitle = writable("D-sektionen"); diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index cbfe9d5f6..c97042339 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -1,5 +1,7 @@ diff --git a/src/routes/(nollning)/nollning/PostRevealHeader.svelte b/src/routes/(nollning)/nollning/PostRevealHeader.svelte index 5ca60bc91..289008e27 100644 --- a/src/routes/(nollning)/nollning/PostRevealHeader.svelte +++ b/src/routes/(nollning)/nollning/PostRevealHeader.svelte @@ -3,7 +3,6 @@ import LoadingButton from "$lib/components/LoadingButton.svelte"; import NavIcon from "$lib/components/NavIcon.svelte"; import NotificationModal from "$lib/components/NotificationModal.svelte"; - import { pageTitle } from "$lib/stores/pageTitle"; import { i18n } from "$lib/utils/i18n"; import { signIn } from "@auth/sveltekit/client"; import NotificationBell from "../../NotificationBell.svelte"; @@ -12,6 +11,8 @@ import { appBottomNavRoutes, getPostRevealRoute, getRoutes } from "./routes"; import type { PostRevealLayoutData } from "./+layout.server"; import type { NotificationGroup } from "$lib/utils/notifications/group"; + import { getContext } from "svelte"; + import type { Writable } from "svelte/store"; $: routes = getRoutes(); $: bottomNavRoutes = appBottomNavRoutes(routes); @@ -28,6 +29,8 @@ let notificationModal: HTMLDialogElement; let notifications: NotificationGroup[] | undefined = undefined; + + let pageTitle = getContext>("pageTitle"); import { i18n } from "$lib/utils/i18n"; - import { ParaglideJS } from "@inlang/paraglide-js-adapter-sveltekit"; - import "../app.css"; import { languageTag } from "$paraglide/runtime"; + import { ParaglideJS } from "@inlang/paraglide-js-adapter-sveltekit"; import dayjs from "dayjs"; + import "../app.css"; /* Recommended for fraud detection */ import "@stripe/stripe-js"; + import { setContext } from "svelte"; + import { writable } from "svelte/store"; export let data; @@ -13,6 +15,8 @@ const locale = languageTag(); dayjs.locale(locale); })(); + let pageTitle = writable("D-sektionen"); + setContext("pageTitle", pageTitle); diff --git a/src/routes/AppHeader.svelte b/src/routes/AppHeader.svelte index d31f48ae6..445dbefc7 100644 --- a/src/routes/AppHeader.svelte +++ b/src/routes/AppHeader.svelte @@ -3,13 +3,14 @@ import LoadingButton from "$lib/components/LoadingButton.svelte"; import NavIcon from "$lib/components/NavIcon.svelte"; import NotificationModal from "$lib/components/NotificationModal.svelte"; - import { pageTitle } from "$lib/stores/pageTitle"; import { i18n } from "$lib/utils/i18n"; import type { NotificationGroup } from "$lib/utils/notifications/group"; import { signIn } from "@auth/sveltekit/client"; import type { GlobalAppLoadData } from "./(app)/+layout.server"; import NotificationBell from "./NotificationBell.svelte"; import { appBottomNavRoutes, getRoutes } from "./routes"; + import { getContext } from "svelte"; + import type { Writable } from "svelte/store"; $: pageData = $page.data as typeof $page.data & GlobalAppLoadData; $: notificationsPromise = pageData["notificationsPromise"]; @@ -21,6 +22,8 @@ let notificationModal: HTMLDialogElement; let notifications: NotificationGroup[] | undefined = undefined; + + let pageTitle = getContext>("pageTitle");