From 6d6da7ca3a72d62a92cc8792e2688b4195af739b Mon Sep 17 00:00:00 2001 From: Karsa Date: Wed, 8 Apr 2026 10:01:52 +0200 Subject: [PATCH] feat(docs): use `initOnMounted: true` for `useSessionStorage` in `CarbonAdOverlay` (#4275) * feat(docs): use computed for `hide-ad` * Update CarbonAdOverlay.vue * Update CarbonAdOverlay.vue * feat(site): add initOnMounted: true to useSessionStorage in CarbonAdOverlay.vue --- .../theme/components/icons/CarbonAdOverlay.vue | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue b/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue index a6bd9dbec..ba80e8257 100644 --- a/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue +++ b/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue @@ -5,11 +5,18 @@ import IconButton from '../base/IconButton.vue'; import VPDocAsideCarbonAds from 'vitepress/dist/client/theme-default/components/VPDocAsideCarbonAds.vue'; import { x } from '../../../data/iconNodes'; import Icon from '@lucide/vue/src/Icon'; -import { onMounted, ref } from 'vue'; +import { computed, onMounted, ref } from 'vue'; const { theme } = useData(); -const showAd = useSessionStorage('show-carbon-ads', true); +const showAd = useSessionStorage('show-carbon-ads', true, { + initOnMounted: true, +}); const carbonLoaded = ref(true); +const shouldHideAd = computed(() => !showAd.value || !carbonLoaded.value); + +function hideAd() { + showAd.value = false; +} defineProps<{ drawerOpen: boolean; @@ -28,13 +35,13 @@ onMounted(() => {
{ .floating-ad.hide-ad { transform: translateX(224px); opacity: 0; + pointer-events: none; } .floating-ad.drawer-open.hide-ad { @@ -96,6 +104,7 @@ onMounted(() => { position: absolute; top: 8px; right: 8px; + z-index: 3; background-color: transparent; }