Proposal
Why¶
メンバー明細画面(MemberDetailPage)は現在、勉強会ごとのアコーディオンで出席履歴を1カラム表示している。セッションデータが蓄積されていくと、全期間の履歴が縦に長く並び、特定の期間の活動状況を把握しづらい。年度の上期・下期で区切った2カラムレイアウトに変更することで、期ごとの参加状況を俯瞰しやすくし、関心のある期を選択して詳細を確認できるようにする。
What Changes¶
- メンバー明細画面のレイアウトを期別2カラム構造に変更する
- 左列: 期(上期/下期)のサマリーリスト。各期の参加回数・合計時間を表示し、クリックで選択する
- 右列: 選択中の期に属するセッションを、勉強会ごとのアコーディオンで表示する(既存のアコーディオン構造を維持)
- 期の定義を導入する
- 上期 = 4月〜9月、下期 = 10月〜3月
- 表記は「2025年度 上期」形式
- 期は降順で表示し、デフォルトで最新の期を選択する
- レスポンシブ対応:
lg以上で2カラム、それ未満で縦積みレイアウト - ヘッダー(メンバー名・通算合計)は既存のまま維持する
- dev-fixtures に複数期にまたがるセッションデータを追加し、期の切り替えをデモ可能にする
Capabilities¶
New Capabilities¶
biannual-period-layout: メンバー明細画面の期別2カラムレイアウト。セッションを年度の上期・下期に分類し、左列で期サマリーの選択、右列で選択した期の勉強会別アコーディオン表示を行う。レスポンシブ対応(lg以上で2カラム、それ未満で縦積み)を含むbiannual-dev-fixtures: 期の切り替えをデモするための複数期にまたがるdev-fixturesデータの追加。既存の2026年1〜2月データに加え、2025年度上期(4〜9月)のセッションデータを追加する
Modified Capabilities¶
なし
Impact¶
- ページ変更:
src/pages/MemberDetailPage.jsx— グルーピングロジックに期の分類を追加し、2カラムレイアウトに変更 - ユーティリティ追加: 日付から期(年度・上期/下期)を算出するヘルパー関数の追加
- dev-fixtures:
dev-fixtures/data/index.jsonのセッションID追加と、dev-fixtures/data/sessions/への新規セッションJSONファイル追加 - テスト: MemberDetailPage のユニットテストを期別表示に対応させて更新。E2Eテストのセレクター変更が必要になる可能性あり
- データ構造:
index.json/sessions/*.jsonのスキーマ変更なし(既存のdateフィールドから期を算出) - サービス: DataFetcher、CsvTransformer 等の変更なし