feat: 今日のセッション統計パネルを追加する
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
概要
アプリ起動後・今日の日付でフィルタした試合をもとに、
「このセッション 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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
libnativeapi/nativeapi#21 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
longbridge/nsh#804 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno