From 470c7045429576c2ee5faed573bf69d940d6cbf7 Mon Sep 17 00:00:00 2001 From: rajat-ht Date: Wed, 18 Jun 2025 20:01:43 +0530 Subject: [PATCH 1/2] Chore: Update banner ad --- src/lib/util/promos/April2025.svelte | 61 +++++----------------------- 1 file changed, 11 insertions(+), 50 deletions(-) diff --git a/src/lib/util/promos/April2025.svelte b/src/lib/util/promos/April2025.svelte index 6b57098f..4f4d4fc6 100644 --- a/src/lib/util/promos/April2025.svelte +++ b/src/lib/util/promos/April2025.svelte @@ -21,37 +21,6 @@ const commonParams = { utm_source: C.utmSource, utm_medium: 'banner_ad' } as const; - const randomTagLines: Taglines[] = [ - { - label: 'Customize your layout and design in Mermaid Chart’s whiteboard!', - url: { - path: '/whiteboard', - params: { utm_campaign: 'whiteboard' } - } - }, - { - label: 'Customize your layout and design in Mermaid Chart’s visual editor!', - url: { - path: '/whiteboard', - params: { utm_campaign: 'visual_editor' } - } - }, - { - label: 'Customize your layout and design with Mermaid Chart’s GUI!', - url: { - path: '/whiteboard', - params: { utm_campaign: 'gui' } - } - }, - { - label: 'Customize your layout and design in Mermaid Chart!', - url: { - path: '/whiteboard', - params: { utm_campaign: 'visual_editor_whiteboard_gui' } - } - } - ]; - let taglines: Taglines[] = [ { label: 'Replace ChatGPT Pro, Mermaid.live, and Lucid Chart with Mermaid Chart', @@ -66,33 +35,25 @@ path: '/landing', params: { utm_campaign: 'team_collaboration' } } + }, + { + label: 'Customize your layout and design in Mermaid Chart’s visual editor!', + url: { + path: '/whiteboard', + params: { utm_campaign: 'visual_editor' } + } } ]; const getRandomIndex = (array: unknown[]) => Math.floor(Math.random() * array.length); - const getSessionHeadlineIndex = (): number => { - const storageKey = 'mermaidBannerIndex'; - const storedIndex = sessionStorage.getItem(storageKey); - if (storedIndex) { - return Number.parseInt(storedIndex, 10); - } - - const randomIndex = getRandomIndex(randomTagLines); - sessionStorage.setItem(storageKey, randomIndex.toString()); - return randomIndex; - }; - - const selectedHeadlineIndex = getSessionHeadlineIndex(); - const currentBannerSet = [...taglines, randomTagLines[selectedHeadlineIndex]]; - - let index = $state(getRandomIndex(currentBannerSet)); - let currentTagline = $derived(currentBannerSet[index]); + let index = $state(getRandomIndex(taglines)); + let currentTagline = $derived(taglines[index]); let shouldAnimate = $state(true); const interval = setInterval(() => { if (shouldAnimate) { - index = (index + 1) % currentBannerSet.length; + index = (index + 1) % taglines.length; } }, 5000); @@ -117,7 +78,7 @@ class="col-start-1 row-start-1 flex items-center justify-center gap-4 no-underline" in:fade={{ delay: 800 }} out:fade={{ duration: 1000 }}> - {currentTagline.label} + {currentTagline.label}