feat: 今日のセッション統計パネルを追加する

Aperta
#16 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
75/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
typescript
Ambito
frontend

Direzione di ricerca

Start with App.tsx and inspect how the matches array and nearby sidebar or header components are provided. Add the new src/components/SessionStats.tsx and verify its date filtering, win/loss counts, XP change, streak, zero-match, and in-progress states against the acceptance criteria. Run npm run build and cargo check when finished.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

概要

アプリ起動後・今日の日付でフィルタした試合をもとに、
「このセッション X勝 Y敗 / XP ±Z」をリアルタイム表示するパネルを追加する。

モチベーション

  • ランクマッチは「今日どれだけ上げた/下げた」が最重要指標
  • 全試合リストやグラフからは今日の数字が読み取りにくい
  • フロントエンドのみで完結し、バックエンド変更不要

実装方針

計算ロジック (フロントエンド)

matches 配列から今日 (played_at が当日) のレコードをフィルタして以下を算出:

指標 計算方法
勝数 / 敗数 result === 'win' / result === 'lose'
XP 増減 今日最初の試合の xp_after → 最後の xp_after の差分
連勝/連敗ストリーク 最新試合から連続する同じ result の数
試合数 in_progress を除く件数
コンポーネント
  • src/components/SessionStats.tsx を新規作成
  • App.tsx のサイドバー or ヘッダー付近に配置
表示項目
[ 今日 ]  3勝 2敗  🔥2連勝  XP +42.5
  • 試合ゼロ時は非表示
  • in_progress 中は「試合中…」バッジを表示

受け入れ条件

  • 今日の勝敗数が正しく表示される
  • XP 増減が小数1桁で表示される (取得できない場合は非表示)
  • 連勝/連敗ストリークが表示される
  • cargo check / npm run build が通る
Lingua principale
Rust
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.