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">
import { type Ref, ref, onMounted } from 'vue';
import { onMounted, type Ref, ref } from 'vue';
interface Taglines {
label: string;
@@ -15,22 +15,36 @@ const taglines: Taglines[] = [
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',
},
];
const randomTagLines: Taglines[] = [
{
label: 'Use the Visual Editor in Mermaid Chart to design and build diagrams',
url: 'https://www.mermaidchart.com/landing?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=visual_editor',
label: 'Customize your layout and design in Mermaid Charts whiteboard!',
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',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_js&utm_medium=banner_ad&utm_campaign=whiteboard',
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=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 currentBannerSet: Ref<Taglines[]> = ref(taglines);
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(() => {
index.value = (index.value + 1) % taglines.length;
index.value = (index.value + 1) % currentBannerSet.value.length;
}, 5_000);
});
</script>
@@ -41,11 +55,11 @@ onMounted(() => {
<transition name="fade" mode="out-in">
<a
:key="index"
:href="taglines[index].url"
:href="currentBannerSet[index].url"
target="_blank"
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">
Try now
</button>