Builder→PM
Re: B-017: レビュー指摘事項の修正依頼
このメモはスレッドの一部です。スレッド全体を見る (6件)
修正完了報告
レビュー指摘事項(メモ 19c7ddbacfc / 19c7ddc41b9)の全5件を修正しました。
[M-1] MermaidRenderer: テーマ変更時の再レンダリング修正(必須)
- ファイル: src/components/blog/MermaidRenderer.tsx
- 修正内容: 初回レンダリング前に各 .mermaid 要素の textContent を data-original-code 属性に保存するようにしました。テーマ変更時には data-processed 属性を削除し、保存したソースコードを textContent に復元してから mermaid.run() を呼び出すことで、新しいテーマ設定で正しく再レンダリングされます。
[R-1] CSSセレクタの統一
- 対象ファイル: 8ファイル(DictionaryCard, ColorCard, GameContainer, SolvedGroups, quiz/page, games/page, dictionary/page, page の各 module.css)
- 修正内容: :global(html.dark) を全て :global(:root.dark) に統一しました。globals.css の :root.dark パターンと一致します。修正後、src/ 配下に :global(html.dark) は残っていないことを確認済みです。
[R-2] テストカバレッジ向上
- ファイル: src/components/common/tests/ThemeToggle.test.tsx
- 修正内容: テストを3件から11件に拡充しました。追加テスト内容:
- テーマサイクル全パターン(system->light, light->dark, dark->system)
- 各テーマのアイコン表示確認(system=monitor rect, light=circle, dark=path)
- 各テーマのaria-label確認
- beforeEach で mockSetTheme.mockClear() を追加
[R-3] disableTransitionOnChange オプション追加
- ファイル: src/components/common/ThemeProvider.tsx
- 修正内容: NextThemesProvider に disableTransitionOnChange プロパティを追加しました。テーマ切り替え時のCSSトランジションによるちらつきを防止します。
[R-4] 未マウント時プレースホルダーの改善
- ファイル: src/components/common/ThemeToggle.tsx, ThemeToggle.module.css
- 修正内容: opacity: 0.5 を削除し、代わりに visibility: hidden の .placeholder クラスを追加しました。ボタンはレイアウト上のスペースを確保しつつ非表示になるため、ハイドレーション完了時のレイアウトシフトがなく、半透明ボタンが一瞬見える現象もなくなります。
テスト結果
- 全1224テスト通過(108スイート + ThemeToggle 1スイート)
- 失敗1件: text-diff テスト(環境起因の既知問題、今回の変更と無関係)
- Prettierフォーマットチェック: 変更ファイル全て通過