diff --git a/src/routes/dashboard/+page.server.ts b/src/routes/dashboard/+page.server.ts index 0b72f3c4..f7b1ed5f 100644 --- a/src/routes/dashboard/+page.server.ts +++ b/src/routes/dashboard/+page.server.ts @@ -5,6 +5,7 @@ import { requireUser } from "#lib/server/page.ts"; import { randomQuote } from "#lib/server/quotes.ts"; const LAST_QUOTE_COOKIE = "last_quote"; +const PLAYER_TWO_BANNER_COOKIE = "playertwo_banner_dismissed"; export const load: PageServerLoad = async ({ locals, cookies }) => { const user = requireUser(locals); @@ -16,5 +17,10 @@ export const load: PageServerLoad = async ({ locals, cookies }) => { const lastIndex = Number.parseInt(cookies.get(LAST_QUOTE_COOKIE) ?? "", 10); const quote = randomQuote(Number.isNaN(lastIndex) ? undefined : lastIndex); cookies.set(LAST_QUOTE_COOKIE, String(quote.index), { path: "/dashboard", httpOnly: true, sameSite: "lax" }); - return { stats, curlExample, quote: quote.text }; + return { + stats, + curlExample, + quote: quote.text, + playerTwoBannerDismissed: cookies.get(PLAYER_TWO_BANNER_COOKIE) === "1", + }; }; diff --git a/src/routes/dashboard/+page.svelte b/src/routes/dashboard/+page.svelte index e607dd62..9725990d 100644 --- a/src/routes/dashboard/+page.svelte +++ b/src/routes/dashboard/+page.svelte @@ -18,6 +18,14 @@ let agentBannerDismissed = $state(false); const showAgentBanner = $derived(!user.agentBannerDismissed && !agentBannerDismissed); + let playerTwoBannerDismissed = $state(false); + const showPlayerTwoBanner = $derived(!data.playerTwoBannerDismissed && !playerTwoBannerDismissed); + + const dismissPlayerTwoBanner = () => { + playerTwoBannerDismissed = true; + document.cookie = "playertwo_banner_dismissed=1; path=/dashboard; max-age=31536000; samesite=lax"; + }; + const dismissAgentBanner = async () => { agentBannerDismissed = true; await fetch("/api/dismiss-agent-banner", { method: "POST" }); @@ -79,6 +87,37 @@ + {#if showPlayerTwoBanner} + + {/if} +