リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 合体ドロップ
ランキングに「今月」タブを追加
1. 目的:
現在ランキングは「今日」「昨日相当の日付指定」「今週(JST月曜始まり)」「歴代」の粒度があるが、週次と歴代の間の指標がなく、月単位の盛り上がりや月間イベント的な競争を把握しにくい。今週タブと同様の設計思想で「今月」タブを追加し、日次〜歴代の間の粒度を補完する。
2. 具体的な仕様:
- pages/ranking.php のタブ一覧に既存の 今日/日付指定/今週/歴代 と並べて「今月」タブを追加(表示ラベルはja:「📅 今月」、en:「This Month」)。
- 集計期間はJST基準のカレンダー月 (その月の1日 00:00 〜 翌月1日 00:00 未満)。lib.php に vd_jst_month_start() / vd_jst_month_end() のようなヘルパーを追加し、vd_jst_week_start() と同様の実装パターン(Asia/Tokyoで計算)にする。
- scores テーブルへのクエリは既存の日次/週次関数(例: vd_weekly_top_scores)と同じ構造で、score_date BETWEEN 月初 AND 月末 かつ mode = ? で SELECT し、score DESC, created_at ASC でソート。
- 既存のページング(50件ずつ追加表示)、絞り込み(プレイヤー名・自分の記録のみ・スコア範囲・到達進化段階)、コピー/CSVダウンロード、URLへの状態保持の仕組みをすべて「今月」タブでも共通利用できるようにする(タブ識別子として 'month' を追加し、既存の 'today'/'week'/'alltime' と同様に分岐処理へ組み込む)。
- 週次タブのような前週/翌週移動は今回のスコープ外とし、常に「今月(JST基準の現在の月)」のみを表示する(実装規模を抑えるため)。
- タイトル画面のモードカード表示(今日・今週・歴代の1位表示)は変更しない。ゲームオーバー直後の順位プレビュー(rank_check.php)も今回は対象外とし、ranking.php 内のタブ追加のみに留める。
3. 既存機能との整合:
- 既存の今日/日付指定/今週/歴代タブの挙動・URLパラメータ・CSV/コピー機能はそのまま維持し、新タブはこれらと同じ絞り込み・エクスポート基盤に相乗りする形で追加するため、後方互換を壊さない。
- DBスキーマ変更は不要(既存の score_date, mode, score インデックスで十分間に合う)。
- 翻訳辞書 (t() 関数内の $dict 配列) に ja/en 両方のラベルキーを追加するのみで、既存キーは変更しない。
現在ランキングは「今日」「昨日相当の日付指定」「今週(JST月曜始まり)」「歴代」の粒度があるが、週次と歴代の間の指標がなく、月単位の盛り上がりや月間イベント的な競争を把握しにくい。今週タブと同様の設計思想で「今月」タブを追加し、日次〜歴代の間の粒度を補完する。
2. 具体的な仕様:
- pages/ranking.php のタブ一覧に既存の 今日/日付指定/今週/歴代 と並べて「今月」タブを追加(表示ラベルはja:「📅 今月」、en:「This Month」)。
- 集計期間はJST基準のカレンダー月 (その月の1日 00:00 〜 翌月1日 00:00 未満)。lib.php に vd_jst_month_start() / vd_jst_month_end() のようなヘルパーを追加し、vd_jst_week_start() と同様の実装パターン(Asia/Tokyoで計算)にする。
- scores テーブルへのクエリは既存の日次/週次関数(例: vd_weekly_top_scores)と同じ構造で、score_date BETWEEN 月初 AND 月末 かつ mode = ? で SELECT し、score DESC, created_at ASC でソート。
- 既存のページング(50件ずつ追加表示)、絞り込み(プレイヤー名・自分の記録のみ・スコア範囲・到達進化段階)、コピー/CSVダウンロード、URLへの状態保持の仕組みをすべて「今月」タブでも共通利用できるようにする(タブ識別子として 'month' を追加し、既存の 'today'/'week'/'alltime' と同様に分岐処理へ組み込む)。
- 週次タブのような前週/翌週移動は今回のスコープ外とし、常に「今月(JST基準の現在の月)」のみを表示する(実装規模を抑えるため)。
- タイトル画面のモードカード表示(今日・今週・歴代の1位表示)は変更しない。ゲームオーバー直後の順位プレビュー(rank_check.php)も今回は対象外とし、ranking.php 内のタブ追加のみに留める。
3. 既存機能との整合:
- 既存の今日/日付指定/今週/歴代タブの挙動・URLパラメータ・CSV/コピー機能はそのまま維持し、新タブはこれらと同じ絞り込み・エクスポート基盤に相乗りする形で追加するため、後方互換を壊さない。
- DBスキーマ変更は不要(既存の score_date, mode, score インデックスで十分間に合う)。
- 翻訳辞書 (t() 関数内の $dict 配列) に ja/en 両方のラベルキーを追加するのみで、既存キーは変更しない。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (vegetable-drop))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「合体ドロップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
ご要望いただいた「合体ドロップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
Echo
Iris