Merge pull request #6568 from mermaid-js/announcement-bar-update

chore: Update announcement bar
This commit is contained in:
Sidharth Vinod
2025-05-06 10:43:04 +05:30
committed by GitHub

View File

@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { type Ref, ref, onMounted } from 'vue'; import { onMounted, type Ref, ref } from 'vue';
interface Taglines { interface Taglines {
label: string; label: string;
@@ -15,22 +15,36 @@ const taglines: Taglines[] = [
label: 'Diagram live with teammates in Mermaid Chart', label: 'Diagram live with teammates in Mermaid Chart',
url: 'https://www.mermaidchart.com/landing?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=team_collaboration', url: 'https://www.mermaidchart.com/landing?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=team_collaboration',
}, },
];
const randomTagLines: Taglines[] = [
{ {
label: 'Use the Visual Editor in Mermaid Chart to design and build diagrams', label: 'Customize your layout and design in Mermaid Charts whiteboard!',
url: 'https://www.mermaidchart.com/landing?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=visual_editor', url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=whiteboard',
}, },
{ {
label: 'Explore the Mermaid Whiteboard from the creators of Mermaid', label: 'Customize your layout and design in Mermaid Charts visual editor!',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=whiteboard', url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=visual_editor',
},
{
label: 'Customize your layout and design with Mermaid Charts GUI!',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=gui',
},
{
label: 'Customize your layout and design in Mermaid Chart!',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=visual_editor_whiteboard_gui',
}, },
]; ];
const index: Ref<number> = ref(0); const index: Ref<number> = ref(0);
const currentBannerSet: Ref<Taglines[]> = ref(taglines);
onMounted(() => { onMounted(() => {
index.value = Math.floor(Math.random() * taglines.length); const newIndex = Math.floor(Math.random() * randomTagLines.length);
currentBannerSet.value = [...taglines, randomTagLines[newIndex]];
index.value = Math.floor(Math.random() * currentBannerSet.value.length);
setInterval(() => { setInterval(() => {
index.value = (index.value + 1) % taglines.length; index.value = (index.value + 1) % currentBannerSet.value.length;
}, 5_000); }, 5_000);
}); });
</script> </script>
@@ -41,11 +55,11 @@ onMounted(() => {
<transition name="fade" mode="out-in"> <transition name="fade" mode="out-in">
<a <a
:key="index" :key="index"
:href="taglines[index].url" :href="currentBannerSet[index].url"
target="_blank" target="_blank"
class="unstyled flex justify-center items-center gap-4 text-white tracking-wide plausible-event-name=bannerClick" class="unstyled flex justify-center items-center gap-4 text-white tracking-wide plausible-event-name=bannerClick"
> >
<span class="font-semibold">{{ taglines[index].label }}</span> <span class="font-semibold">{{ currentBannerSet[index].label }}</span>
<button class="bg-[#1E1A2E] shrink-0 rounded-lg p-1.5 px-4 font-semibold tracking-wide"> <button class="bg-[#1E1A2E] shrink-0 rounded-lg p-1.5 px-4 font-semibold tracking-wide">
Try now Try now
</button> </button>