Skip to content

feat(frontend): FoR Status(ランクシステム)のロジックと残高カードのバッジ表示#156

Open
yu23ki14 wants to merge 1 commit into
mainfrom
feat/for-status-rank-155
Open

feat(frontend): FoR Status(ランクシステム)のロジックと残高カードのバッジ表示#156
yu23ki14 wants to merge 1 commit into
mainfrom
feat/for-status-rank-155

Conversation

@yu23ki14
Copy link
Copy Markdown
Member

@yu23ki14 yu23ki14 commented Jun 5, 2026

関連 Issue

Closes #155

変更内容

  • 決済(送信のみ・from === me)履歴と現在時刻から現在ティアを都度再構成する純粋関数 computeForStatus を実装(app/lib/for-status.ts
  • 確定ルールを実装: 昇格は1段階ずつ/減衰も1段階ずつ(最終決済からの経過で連鎖)/Tier 6 は「直近1ヶ月 週3回以上を継続」で判定
  • ティアごとの減衰アラート文言(確定)に残日数を埋め込んで返す(alertMessagedaysUntilDecaynextDecayAtMs
  • useForStatus フックで transferViaRouters を送信のみ抽出してティアを算出(app/hooks/useForStatus.ts
  • home.tsx の残高カードに算出ティアのバッジを表示
  • バッジ画像は rankbadge_<tier>.png(1〜6、現状プレースホルダ。実画像が来たら同名で差し替え)
  • vitest を導入しロジックのユニットテストを追加(昇格・維持・減衰の境界値、残日数)

動作確認

  • テストが通ることを確認済み(pnpm test、11件パス)
  • 型チェックが通ることを確認済み(tsc --noEmit、exit 0)
  • ローカル環境で動作確認済み
  • ビルドが成功することを確認済み

スクリーンショット(該当する場合)

バッジ画像は現状プレースホルダ(ティア別の色違い)です。実画像は別途差し込み予定。

その他

別途対応(このPRのロジックはブロックしません):

  • アラート表示UI/場所: デザイン確定後に対応。ロジック側は alertMessage / daysUntilDecay / nextDecayAtMs を返せる状態。
  • バッジ実画像: rankbadge_<tier>.png を同名で差し替えるだけで反映。

レビュー時にご判断いただきたい点:

  • Tier 6「1ヶ月維持」の解釈: 「過去1ヶ月の各時点でフクロウ条件(trailing 7日で3回)を満たし続けた」連続維持として実装(月の起点で既に条件成立が必要なため、やや厳しめ)。「直近4週間を各週バケツで判定」のほうが意図に近ければ調整します。
  • 履歴取得は送信決済を最大1000件取得して全期間をシミュレート(subgraph上限)。

- 決済(送信のみ)履歴と現在時刻から現在ティアを再構成する純粋関数を実装
- 昇格/減衰は1段階ずつ、Tier 6 は「直近1ヶ月 週3回以上を継続」で判定
- ティアごとの減衰アラート文言(確定)に残日数を埋め込んで返す
- useForStatus フックで transferViaRouters を from===me で抽出し算出
- home.tsx の残高カードに算出ティアのバッジを表示
- バッジ画像は rankbadge_<tier>.png(プレースホルダ、同名で差し替え可)
- vitest を導入しロジックのユニットテストを追加

Closes #155

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
for Ready Ready Preview, Comment Jun 5, 2026 9:29am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(frontend): FoR Status(ランクシステム)のロジック実装と残高カードへのバッジ表示

1 participant