From ceeb703d40c6499c6342e06195943ad62a78c3d2 Mon Sep 17 00:00:00 2001 From: Kazuki Yamada Date: Sun, 8 Jun 2025 12:24:35 +0900 Subject: [PATCH] fix(website): Address PR review feedback for tooltip functionality MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use onUnmounted for proper event listener cleanup instead of return function - Move mouseenter event to tooltip-container to handle disabled button cases - Remove duplicate CSS definition for .desktop-only class - Ensure v-if condition is properly applied to mobile-only spacer div 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../components/Home/TryItResultContent.vue | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/client/components/Home/TryItResultContent.vue b/website/client/components/Home/TryItResultContent.vue index 40028de..6bcf842 100644 --- a/website/client/components/Home/TryItResultContent.vue +++ b/website/client/components/Home/TryItResultContent.vue @@ -4,7 +4,7 @@ import themeTomorrowUrl from 'ace-builds/src-noconflict/theme-tomorrow?url'; import themeTomorrowNightUrl from 'ace-builds/src-noconflict/theme-tomorrow_night?url'; import { BarChart2, Copy, Download, GitFork, HeartHandshake, PackageSearch, Share, Star } from 'lucide-vue-next'; import { useData } from 'vitepress'; -import { computed, onMounted, ref, watch } from 'vue'; +import { computed, onMounted, onUnmounted, ref, watch } from 'vue'; import { VAceEditor } from 'vue3-ace-editor'; import type { PackResult } from '../api/client'; import { @@ -73,6 +73,12 @@ const handleShare = async (event: Event) => { event.preventDefault(); event.stopPropagation(); + // Only allow sharing on mobile devices with Web Share API support + if (!isMobile.value || !canShare.value) { + console.log('Share is only available on mobile devices'); + return; + } + const success = await shareResult(props.result.content, props.result.format, props.result); if (success) { shared.value = true; @@ -125,18 +131,17 @@ const supportMessage = computed(() => ({ color: messages[currentMessageIndex.value].color, })); +const handleResize = () => { + isMobile.value = window.innerWidth <= 768; +}; + onMounted(() => { isMobile.value = window.innerWidth <= 768; - - const handleResize = () => { - isMobile.value = window.innerWidth <= 768; - }; - window.addEventListener('resize', handleResize); +}); - return () => { - window.removeEventListener('resize', handleResize); - }; +onUnmounted(() => { + window.removeEventListener('resize', handleResize); }); @@ -198,14 +203,13 @@ onMounted(() => { Download
-
+