背景
V2のManager・Jobs・Settingsは、固定ヘッダー、カテゴリナビゲーション、本文、任意のInspectorという同じ画面骨子を持つ。一方、現状はSolid UIのプリミティブを利用しつつ、各画面が個別のDOMとclassを持っているため、余白・ブレークポイント・スクロール責務・選択状態などの細部が乖離しやすい。
現在の代表的な規模:
packages/ui/src/screens/v2-manager-screen.tsx: 約1,600行
packages/ui/src/screens/config-screen.tsx: 約740行
packages/ui/src/screens/v2-jobs-screen.tsx: 約200行
packages/ui/src/v2/management-layout.tsx: 約70行
目的
Managerを基準に、3画面の共通骨子を再利用可能なコンポーネントへ昇格し、画面固有機能だけを各screenに残す。Solid UIのプリミティブは引き続き利用する。
対象
- 共通の
ManagementScreen相当
- 固定ヘッダー
- 画面内スクロール領域
- カテゴリ列と本文のグリッド
- 任意の右Inspector領域
- 共通の
ManagementNavigation
- デスクトップ縦ナビ
- モバイル横スクロールナビ
- アイコン、タイトル、説明、選択状態
- 共通の
ManagementSection
- 共通の
ManagementInspector
- Managerの巨大ファイルを責務別に分割
- Entity table / inspector
- Batch tools
- Data transfer
- Dialogs
- Settingsのカテゴリ別フォームを責務別に分割
対象外
- Manager、Jobs、Settings固有の業務ロジック変更
- Jobs履歴APIなど未実装バックエンド機能の追加
- 見た目の全面的な再デザイン
受け入れ条件
参考実装
packages/ui/src/v2/management-layout.tsx
packages/ui/src/screens/v2-manager-screen.tsx
packages/ui/src/screens/v2-jobs-screen.tsx
packages/ui/src/screens/config-screen.tsx
packages/ui/src/screens/config-state-screen.tsx
背景
V2のManager・Jobs・Settingsは、固定ヘッダー、カテゴリナビゲーション、本文、任意のInspectorという同じ画面骨子を持つ。一方、現状はSolid UIのプリミティブを利用しつつ、各画面が個別のDOMとclassを持っているため、余白・ブレークポイント・スクロール責務・選択状態などの細部が乖離しやすい。
現在の代表的な規模:
packages/ui/src/screens/v2-manager-screen.tsx: 約1,600行packages/ui/src/screens/config-screen.tsx: 約740行packages/ui/src/screens/v2-jobs-screen.tsx: 約200行packages/ui/src/v2/management-layout.tsx: 約70行目的
Managerを基準に、3画面の共通骨子を再利用可能なコンポーネントへ昇格し、画面固有機能だけを各screenに残す。Solid UIのプリミティブは引き続き利用する。
対象
ManagementScreen相当ManagementNavigationManagementSectionManagementInspector対象外
受け入れ条件
bun run checkと関連テストが成功する参考実装
packages/ui/src/v2/management-layout.tsxpackages/ui/src/screens/v2-manager-screen.tsxpackages/ui/src/screens/v2-jobs-screen.tsxpackages/ui/src/screens/config-screen.tsxpackages/ui/src/screens/config-state-screen.tsx