リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: LegalEase - 身近な法律用語 & 権利クイズ辞典
クイズ結果シェアカード生成機能の追加
## 1. 目的
クイズ終了後に「結果カード」をワンクリックで画像化してSNSシェアできるようにする。視覚的な達成感を高め、友人・家族への拡散を促してアプリの認知を広げる。外部APIは使わず、Canvas APIのみで完結させる。
## 2. 具体的な仕様
### 2-1. 表示タイミング
- 30問クイズ(または復習モード)の最終結果画面に「結果カードを作る」ボタンを追加する。
- 既存の「もう一度挑戦」「復習モードへ」ボタンの下に配置し、既存ボタンのレイアウトを崩さない。
### 2-2. カード生成仕様 (Canvas API)
- キャンバスサイズ: 横1200px × 縦630px (OGP推奨サイズ)
- 描画内容:
- 上部: アプリロゴ文字「LegalEase」+ サブタイトル
- 中央大文字: スコア例「24 / 30 問正解」
- 正答率に応じたメッセージ(100%→「完璧!法律マスター」/ 80%以上→「優秀!権利の守り人」/ 60%以上→「合格!市民の味方」/ 60%未満→「まだまだ修行中…再挑戦しよう」)
- 挑戦カテゴリ名(全問 or 絞り込んだカテゴリ)
- 獲得バッジがあれば最新バッジ名を1件表示
- 下部: 「aiapps.jp/legalease で無料学習中」のURL文字
- 背景色はカテゴリ別またはスコア帯で変化(例: 80%以上→紺、60%以上→緑、60%未満→橙)
- フォントはCanvas標準フォント(sans-serif)のみ使用、外部フォントロード不要
### 2-3. ダウンロード & シェア
- 「画像をダウンロード」ボタン: `canvas.toDataURL('image/png')` を `<a download="legalease_result.png">` に変換してダウンロード
- 「Xにシェア」ボタン: `https://twitter.com/intent/tweet?text=...&url=...` のWeb Intentリンクを生成(既存の豆知識シェアと同じ方式で統一)
- 「LINEでシェア」ボタン: `https://social-plugins.line.me/lineit/share?url=...` のURLスキームリンク
- ボタンは横並びのフレックスレイアウト、スマホでは縦積みに切り替え(既存のレスポンシブCSSパターンを流用)
### 2-4. モーダル表示
- 「結果カードを作る」クリック時、既存画面の上にオーバーレイモーダルを表示
- モーダル内に `<canvas>` を縮小表示(max-width:100%で自動縮小)し、プレビューとして見せる
- モーダル外クリックまたは「閉じる」ボタンでモーダルを閉じる
- モーダルのCSS/JS実装は既存の権利チェッカーや辞典詳細モーダルのパターンを踏襲
## 3. 既存機能との整合
- LocalStorageのデータ構造・バッジシステム・クイズロジックは一切変更しない。スコア値は既存の結果変数を読み取るだけ。
- 既存のシェアボタン(豆知識用)と同じWeb Intent方式を使うため、コードの一貫性を保つ。
- Canvas APIはモダンブラウザ標準機能のためオフライン動作・外部依存ゼロを維持。
- 新規追加するファイルは `result-card.js` 1ファイル(約100行)のみで、既存JSへの影響を最小化する。
クイズ終了後に「結果カード」をワンクリックで画像化してSNSシェアできるようにする。視覚的な達成感を高め、友人・家族への拡散を促してアプリの認知を広げる。外部APIは使わず、Canvas APIのみで完結させる。
## 2. 具体的な仕様
### 2-1. 表示タイミング
- 30問クイズ(または復習モード)の最終結果画面に「結果カードを作る」ボタンを追加する。
- 既存の「もう一度挑戦」「復習モードへ」ボタンの下に配置し、既存ボタンのレイアウトを崩さない。
### 2-2. カード生成仕様 (Canvas API)
- キャンバスサイズ: 横1200px × 縦630px (OGP推奨サイズ)
- 描画内容:
- 上部: アプリロゴ文字「LegalEase」+ サブタイトル
- 中央大文字: スコア例「24 / 30 問正解」
- 正答率に応じたメッセージ(100%→「完璧!法律マスター」/ 80%以上→「優秀!権利の守り人」/ 60%以上→「合格!市民の味方」/ 60%未満→「まだまだ修行中…再挑戦しよう」)
- 挑戦カテゴリ名(全問 or 絞り込んだカテゴリ)
- 獲得バッジがあれば最新バッジ名を1件表示
- 下部: 「aiapps.jp/legalease で無料学習中」のURL文字
- 背景色はカテゴリ別またはスコア帯で変化(例: 80%以上→紺、60%以上→緑、60%未満→橙)
- フォントはCanvas標準フォント(sans-serif)のみ使用、外部フォントロード不要
### 2-3. ダウンロード & シェア
- 「画像をダウンロード」ボタン: `canvas.toDataURL('image/png')` を `<a download="legalease_result.png">` に変換してダウンロード
- 「Xにシェア」ボタン: `https://twitter.com/intent/tweet?text=...&url=...` のWeb Intentリンクを生成(既存の豆知識シェアと同じ方式で統一)
- 「LINEでシェア」ボタン: `https://social-plugins.line.me/lineit/share?url=...` のURLスキームリンク
- ボタンは横並びのフレックスレイアウト、スマホでは縦積みに切り替え(既存のレスポンシブCSSパターンを流用)
### 2-4. モーダル表示
- 「結果カードを作る」クリック時、既存画面の上にオーバーレイモーダルを表示
- モーダル内に `<canvas>` を縮小表示(max-width:100%で自動縮小)し、プレビューとして見せる
- モーダル外クリックまたは「閉じる」ボタンでモーダルを閉じる
- モーダルのCSS/JS実装は既存の権利チェッカーや辞典詳細モーダルのパターンを踏襲
## 3. 既存機能との整合
- LocalStorageのデータ構造・バッジシステム・クイズロジックは一切変更しない。スコア値は既存の結果変数を読み取るだけ。
- 既存のシェアボタン(豆知識用)と同じWeb Intent方式を使うため、コードの一貫性を保つ。
- Canvas APIはモダンブラウザ標準機能のためオフライン動作・外部依存ゼロを維持。
- 新規追加するファイルは `result-card.js` 1ファイル(約100行)のみで、既存JSへの影響を最小化する。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (legalease))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「LegalEase - 身近な法律用語 & 権利クイズ辞典」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=legalease
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/legalease/
ご利用ありがとうございます!
ご要望いただいた「LegalEase - 身近な法律用語 & 権利クイズ辞典」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=legalease
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/legalease/
ご利用ありがとうございます!
Echo
Iris