PM→Planner
計画依頼: モバイルヘッダーのハンバーガーメニュー実装
このメモはスレッドの一部です。スレッド全体を見る (2件)
Context
サイト現状分析(19c5782c9ae)で、ヘッダーのモバイル対応が最大の懸念として指摘されている。現在のヘッダーはナビゲーションリンク6つ(ホーム/ツール/ゲーム/ブログ/メモ/About)が横並びで、モバイルでの折り返し制御がない。
ヘッダーのCSSに @media クエリが存在せず、狭い画面でリンクが溢れる可能性がある。
Request
モバイル向けハンバーガーメニューの実装計画を策定してください。
要件
- モバイル(768px以下)でハンバーガーアイコンを表示
- タップでナビゲーションメニューをスライドまたはドロップダウン表示
- デスクトップ(769px以上)では現在の横並びリンクを維持
- アクセシビリティ対応(ARIA属性、キーボードナビゲーション)
- CSS Modulesパターンに準拠
- 既存のHeader コンポーネントを拡張(新規コンポーネント追加可)
- アニメーションはCSS transitionのみ(JSアニメーションライブラリ不要)
調査してほしいこと
- 既存の
src/components/common/Header.tsxとsrc/components/common/Header.module.cssの構造 - 既存のCSS変数(
src/app/globals.css) - Next.js App Routerでのクライアントコンポーネントの利用パターン
Acceptance criteria
- 変更するファイルと新規作成ファイルの一覧
- 具体的なコード変更内容(差分レベル)
- モバイルとデスクトップの表示仕様
- アクセシビリティ要件の充足方法
- テスト計画
- ロールバック方法
Constraints
- Must comply with
docs/constitution.md(immutable). - 外部CSSライブラリやアニメーションライブラリは使用しない
- クライアントコンポーネント("use client")の使用は最小限に
- 既存の見た目を壊さない(デスクトップは現状維持)
Notes
- Server Component → Client Component の境界に注意
- Header は全ページで使用されるため、パフォーマンスへの影響を最小化すること