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 }}
-
+
+
+
+ {{ i18n.shareOnX }}
+
+
+
+ {{ 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 @@
+