リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: PolyMap - 世界の言語・方言インタラクティブマップ
言語トリビアカード「今日の言語」ウィジェットの追加
1. 目的
アプリを毎日開く動機を作るため、訪問ごとに1言語をピックアップして「今日の言語」としてトップに表示する常設ウィジェットを追加する。ユーザーの学習習慣づけと再訪率向上が狙い。
2. 具体的な仕様
【表示タイミング・決定ロジック】
- ページロード時にJavaScriptで「今日の日付文字列(YYYY-MM-DD)」をseedにして、80言語配列のインデックスを決定する(例: seed = 日付のハッシュ % 80)。
- 同じ日は誰でも同じ言語が表示される(DB不要・サーバー不要)。
- LocalStorageに「最後に表示した日付」を保存し、日付が変わったらNew Badgeをウィジェットに表示する。
【ウィジェット配置】
- PCレイアウト: 右パネルの最上部(検索ボックスの直下、言語カードより上)に固定カードとして配置。
- スマホレイアウト: 地図タブ・パネルタブの両方で最上部にスクロールせず常時表示されるスティッキーバナーとして配置(高さ最大80px)。
【カード内コンテンツ】
- ヘッダー行: 「📅 今日の言語」ラベル+日付+New Badge(条件付き)。
- 言語名(日本語・現地語表記)と国旗絵文字。
- トリビア1文(例:「スワヒリ語はアフリカで最も広く使われるバンツー語族の言語です」)。各言語に1件ずつ静的データとして80件分を既存の言語データオブジェクトに`trivia`プロパティとして追加。
- 「詳細を見る」ボタン: クリックで既存の言語詳細カードパネルを開き、地図上の該当国にフォーカスする(既存のselect/highlight関数を呼び出す)。
- あいさつフレーズ「こんにちは」のネイティブ表記+音声再生ボタン(既存SpeechSynthesis処理を流用)。
【スタイル】
- 語族カラーレジェンドと同じ色体系で、該当語族の色をカード左ボーダー(4px)に使用。
- 既存CSSのカード・ポップアップスタイルを継承し、新規クラス `.today-language-widget` のみ追加。
3. 既存機能との整合
- データは既存の80言語オブジェクト配列に`trivia`フィールドを追記するだけで、他のプロパティ・処理は一切変更しない。
- 「詳細を見る」は既存の言語選択イベントを発火させるだけで、カード描画ロジックを再実装しない。
- クイズ・比較モード・お気に入りの動作には一切影響しない。
- ウィジェットはCSSで `display: none` 切り替え可能にし、既存タブ切替ロジックと競合しないようにする。
アプリを毎日開く動機を作るため、訪問ごとに1言語をピックアップして「今日の言語」としてトップに表示する常設ウィジェットを追加する。ユーザーの学習習慣づけと再訪率向上が狙い。
2. 具体的な仕様
【表示タイミング・決定ロジック】
- ページロード時にJavaScriptで「今日の日付文字列(YYYY-MM-DD)」をseedにして、80言語配列のインデックスを決定する(例: seed = 日付のハッシュ % 80)。
- 同じ日は誰でも同じ言語が表示される(DB不要・サーバー不要)。
- LocalStorageに「最後に表示した日付」を保存し、日付が変わったらNew Badgeをウィジェットに表示する。
【ウィジェット配置】
- PCレイアウト: 右パネルの最上部(検索ボックスの直下、言語カードより上)に固定カードとして配置。
- スマホレイアウト: 地図タブ・パネルタブの両方で最上部にスクロールせず常時表示されるスティッキーバナーとして配置(高さ最大80px)。
【カード内コンテンツ】
- ヘッダー行: 「📅 今日の言語」ラベル+日付+New Badge(条件付き)。
- 言語名(日本語・現地語表記)と国旗絵文字。
- トリビア1文(例:「スワヒリ語はアフリカで最も広く使われるバンツー語族の言語です」)。各言語に1件ずつ静的データとして80件分を既存の言語データオブジェクトに`trivia`プロパティとして追加。
- 「詳細を見る」ボタン: クリックで既存の言語詳細カードパネルを開き、地図上の該当国にフォーカスする(既存のselect/highlight関数を呼び出す)。
- あいさつフレーズ「こんにちは」のネイティブ表記+音声再生ボタン(既存SpeechSynthesis処理を流用)。
【スタイル】
- 語族カラーレジェンドと同じ色体系で、該当語族の色をカード左ボーダー(4px)に使用。
- 既存CSSのカード・ポップアップスタイルを継承し、新規クラス `.today-language-widget` のみ追加。
3. 既存機能との整合
- データは既存の80言語オブジェクト配列に`trivia`フィールドを追記するだけで、他のプロパティ・処理は一切変更しない。
- 「詳細を見る」は既存の言語選択イベントを発火させるだけで、カード描画ロジックを再実装しない。
- クイズ・比較モード・お気に入りの動作には一切影響しない。
- ウィジェットはCSSで `display: none` 切り替え可能にし、既存タブ切替ロジックと競合しないようにする。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (polymap))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「PolyMap - 世界の言語・方言インタラクティブマップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=polymap
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/polymap/
ご利用ありがとうございます!
ご要望いただいた「PolyMap - 世界の言語・方言インタラクティブマップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=polymap
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/polymap/
ご利用ありがとうございます!
Echo
Iris