From 47d4a34449c48526e1bec3ab6db7982f2a9ee9f5 Mon Sep 17 00:00:00 2001 From: tomtwinkle Date: Wed, 10 Jun 2026 20:44:52 +0900 Subject: [PATCH] Add SNS Logo & change button --- quiz-app2/src/App.vue | 49 +++++++++++++++------------ quiz-app2/src/assets/bluesky-logo.svg | 3 ++ quiz-app2/src/assets/x-logo.svg | 3 ++ 3 files changed, 33 insertions(+), 22 deletions(-) create mode 100755 quiz-app2/src/assets/bluesky-logo.svg create mode 100755 quiz-app2/src/assets/x-logo.svg diff --git a/quiz-app2/src/App.vue b/quiz-app2/src/App.vue index 5f08692..e8f6e6b 100644 --- a/quiz-app2/src/App.vue +++ b/quiz-app2/src/App.vue @@ -48,6 +48,10 @@ const conferenceLogoUrl = new URL( import.meta.url, ).href; +const xLogoUrl = new URL("./assets/x-logo.svg", import.meta.url).href; +const blueskyLogoUrl = new URL("./assets/bluesky-logo.svg", import.meta.url) + .href; + const isSingleTier = campaignTiers.length === 1; const pickRandomPhrase = (phrases: readonly I18nText[]): I18nText => @@ -107,7 +111,6 @@ const keywordMessage = ref(""); const languageMenuOpen = ref(false); const footerTapCount = ref(0); -// -- 🌍 多言語対応 (i18n) -- const selectedLanguage = ref("ja"); provide("locale", selectedLanguage); @@ -189,13 +192,9 @@ const i18n = computed(() => { open: isEn ? "Open" : "開く", keywordIncorrect: isEn ? "Incorrect keyword." : "合言葉が違います。", timeUpSummary: isEn ? "Time's up" : "タイムアップ", - - // ★ 追加項目 (SNSシェア / アンケート) shareAndFeedbackTitle: isEn ? "Share & Feedback" : "シェアとアンケート", - shareOnX: isEn ? "Post score to X" : "Xにスコアを投稿する", - shareOnBluesky: isEn - ? "Post score to Bluesky" - : "Blueskyにスコアを投稿", + shareOnX: isEn ? "Post to X" : "Xに投稿", + shareOnBluesky: isEn ? "Post to Bluesky" : "Blueskyに投稿", answerSurvey: isEn ? "Answer Survey" : "アンケートに回答", }; }); @@ -393,7 +392,6 @@ const shareText = computed(() => { ? `Cleared ${isSingleTier ? "all stages" : tierName} on Go Conference 2026 CodeLab! Correct: ${runCorrectCount.value}/${tierSize.value} Score: ${runScore.value}` : `Go Conference 2026 CodeLabで${isSingleTier ? "全問題を" : ` ${tierName} を`}クリアしました! 正解数: ${runCorrectCount.value}/${tierSize.value} スコア: ${runScore.value}`; - // クエリパラメータ等を外したクリーンなURLを共有用にする const url = typeof window !== "undefined" ? window.location.href.split("#")[0].split("?")[0] @@ -1268,20 +1266,27 @@ onBeforeUnmount(() => { {{ i18n.shareAndFeedbackTitle }}

- - {{ i18n.shareOnX }} - - - {{ i18n.shareOnBluesky }} - +
+ + X + {{ i18n.shareOnX }} + + + Bluesky + {{ i18n.shareOnBluesky }} + +
+ + diff --git a/quiz-app2/src/assets/x-logo.svg b/quiz-app2/src/assets/x-logo.svg new file mode 100755 index 0000000..56368dd --- /dev/null +++ b/quiz-app2/src/assets/x-logo.svg @@ -0,0 +1,3 @@ + + +