リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 習慣トラッカー ハビットリング
習慣ごとの「振り返りグラフ」—過去30日の達成推移を棒グラフで表示
1. 目的
各習慣の詳細画面(またはカード長押し/詳細ボタン)に「過去30日の達成推移」を棒グラフで見せることで、ユーザーが「どの曜日・どの時期にサボりやすいか」を直感的に把握できるようにする。週間・月間サマリーは全習慣の合算値だが、本機能は1習慣に絞った個別分析を提供する。
2. 具体的な仕様
【トリガー】
- 習慣カードに「📊 詳細」ボタン(現在の✏️編集・🗑️削除ボタンと同列、スマホでは横スクロール or 3点メニューに格納)を追加。
- タップするとモーダルを開く(既存の編集モーダルとは別の「詳細モーダル」)。
【モーダルの構成】
① ヘッダー:習慣名・絵文字・現在ストリーク・最長ストリーク(既存データをそのまま流用)
② 過去30日 達成推移 棒グラフ(SVGで描画、外部ライブラリ不要)
- X軸:過去30日を日付順に左→右(5日刻みでラベル表示 例「6/1」「6/6」)
- Y軸:各日の達成状況を3段階で棒の高さに反映
- 達成:高さ100%(習慣カラーで塗りつぶし)
- 未達成(対象曜日):高さ30%(薄いグレー)
- 対象外曜日・休日:高さ0(空欄、X軸に「-」マーク)
- 各バーをタップ/ホバーすると「日付・達成○/未達成・メモ(あれば先頭20文字)」をツールチップ表示(既存ヒートマップのツールチップ実装を流用)
③ 曜日別達成率サマリー(テキスト表)
- 月〜日の各曜日について「対象曜日のみ」達成数/対象回数 と達成率(%)を一覧表示
- 最も達成率が低い曜日を赤系ハイライト、最高を習慣カラーでハイライト
④ 閉じるボタン(モーダル外タップでも閉じる)
【データ取得】
- localStorageの既存 `habitLogs`(日付×習慣IDのキー構造)と `habits`(曜日設定)をそのまま参照。新規テーブル・フィールド追加なし。
- 表示範囲は「今日を含む過去30日」固定(ページング等は不要)。
【SVGグラフ仕様】
- viewBox="0 0 360 120" 固定(スマホ全幅に伸縮)
- バー幅:(360 - 左余白30) / 30 ≒ 11px、バー間隔1px
- 描画はすべてインラインSVG + vanilla JS(既存のリンググラフ描画関数と同じアプローチ)
3. 既存機能との整合
- 既存のカードUI・編集モーダル・ヒートマップ・サマリーには一切手を加えない。
- 「📊 詳細」ボタンを追加するだけなので、最大10件の習慣カードすべてに自動適用される。
- ダークモード対応:モーダル背景・テキスト色は既存のCSS変数(--bg-color, --text-colorなど)を継承。
- 6桁コード同期の対象データ(habitLogs, habits)は変更しないため、同期機能への影響なし。
- スマホでは縦スクロール可能なモーダル(max-height: 90vh; overflow-y: auto)でレイアウト崩れを防ぐ。
各習慣の詳細画面(またはカード長押し/詳細ボタン)に「過去30日の達成推移」を棒グラフで見せることで、ユーザーが「どの曜日・どの時期にサボりやすいか」を直感的に把握できるようにする。週間・月間サマリーは全習慣の合算値だが、本機能は1習慣に絞った個別分析を提供する。
2. 具体的な仕様
【トリガー】
- 習慣カードに「📊 詳細」ボタン(現在の✏️編集・🗑️削除ボタンと同列、スマホでは横スクロール or 3点メニューに格納)を追加。
- タップするとモーダルを開く(既存の編集モーダルとは別の「詳細モーダル」)。
【モーダルの構成】
① ヘッダー:習慣名・絵文字・現在ストリーク・最長ストリーク(既存データをそのまま流用)
② 過去30日 達成推移 棒グラフ(SVGで描画、外部ライブラリ不要)
- X軸:過去30日を日付順に左→右(5日刻みでラベル表示 例「6/1」「6/6」)
- Y軸:各日の達成状況を3段階で棒の高さに反映
- 達成:高さ100%(習慣カラーで塗りつぶし)
- 未達成(対象曜日):高さ30%(薄いグレー)
- 対象外曜日・休日:高さ0(空欄、X軸に「-」マーク)
- 各バーをタップ/ホバーすると「日付・達成○/未達成・メモ(あれば先頭20文字)」をツールチップ表示(既存ヒートマップのツールチップ実装を流用)
③ 曜日別達成率サマリー(テキスト表)
- 月〜日の各曜日について「対象曜日のみ」達成数/対象回数 と達成率(%)を一覧表示
- 最も達成率が低い曜日を赤系ハイライト、最高を習慣カラーでハイライト
④ 閉じるボタン(モーダル外タップでも閉じる)
【データ取得】
- localStorageの既存 `habitLogs`(日付×習慣IDのキー構造)と `habits`(曜日設定)をそのまま参照。新規テーブル・フィールド追加なし。
- 表示範囲は「今日を含む過去30日」固定(ページング等は不要)。
【SVGグラフ仕様】
- viewBox="0 0 360 120" 固定(スマホ全幅に伸縮)
- バー幅:(360 - 左余白30) / 30 ≒ 11px、バー間隔1px
- 描画はすべてインラインSVG + vanilla JS(既存のリンググラフ描画関数と同じアプローチ)
3. 既存機能との整合
- 既存のカードUI・編集モーダル・ヒートマップ・サマリーには一切手を加えない。
- 「📊 詳細」ボタンを追加するだけなので、最大10件の習慣カードすべてに自動適用される。
- ダークモード対応:モーダル背景・テキスト色は既存のCSS変数(--bg-color, --text-colorなど)を継承。
- 6桁コード同期の対象データ(habitLogs, habits)は変更しないため、同期機能への影響なし。
- スマホでは縦スクロール可能なモーダル(max-height: 90vh; overflow-y: auto)でレイアウト崩れを防ぐ。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (habit-ring))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「習慣トラッカー ハビットリング」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=habit-ring
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/habit-ring/
ご利用ありがとうございます!
ご要望いただいた「習慣トラッカー ハビットリング」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=habit-ring
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/habit-ring/
ご利用ありがとうございます!
Echo
Iris