作成: 2026-04-07
最終更新: 2026-04-07
対象機能: グローバルナビゲーション再編(トップメニュー整理・カテゴリ再編・PC/スマホ共通情報設計)
実装状況: 仕様策定完了・未実装
機能追加に伴って共通ナビゲーションのトップレベル項目が増え、画面名ベースで並ぶ構造になってきたため、業務カテゴリ単位で再整理する。
今回の再編では、トップナビを ホーム / 計画 / 実績 / マスター / 帳票・連携 の 5 分類に絞り、個別画面はドロップダウン配下に集約する。
これにより、利用者が「どの画面名か」ではなく「何をしたいか」で画面を探せる状態を目指す。
また、URL 構造とメニュー構成は意図的に分離して扱う。既存 URL は安定性を優先して原則維持し、アクティブ判定はナビ定義側で吸収する。
| IN(今回対象) | OUT(今回対象外) |
|---|---|
| PC ヘッダーのトップメニュー再編 | 各業務画面自体のUI改修 |
| スマホ用ハンバーガーメニュー再編 | 権限別メニュー出し分け |
| メニュー分類、並び順、開閉仕様 | お気に入り、ピン留め |
| アクティブ判定ルール整理 | ダッシュボード内容の刷新 |
NavGroup / NavItem ベースのメニュー定義整理 |
URL の全面変更 |
作物 品種 を将来のマスター画面として位置づけ |
矢印キー移動を含む高度なメニューアクセシビリティ |
計画 実績 設定 補助機能 が同じ粒度で並んでいる#13 に残す改善案/ナビゲーション再編仕様書.md に集約する右上ユーザー操作:
圃場管理 は圃場マスタとして独立性が高い作物 品種 も本来マスター管理である資材マスタ 肥料マスタ はすでに独立画面が存在するそのため、基礎データ管理を マスター に集約する。
在庫管理 帳票出力 データ取込 気象 メール は完全に同質ではないそのため、トップ階層を増やしすぎないための受け皿として 帳票・連携 にまとめる。
補足:
データ取込 は日常操作ではなく、年度切替時や初期設定時の補助導線とみなすメール は個別トップにしない設定 は現状パスワード変更のみなので、右上ユーザー操作に残す| カテゴリ | ラベル | パス |
|---|---|---|
| ホーム | ダッシュボード | /dashboard |
| 計画 | 作付け計画 | /allocation |
| 計画 | 施肥計画 | /fertilizer |
| 計画 | 田植え計画 | /rice-transplant |
| 計画 | 運搬計画 | /distribution |
| 実績 | 散布実績 | /fertilizer/spreading |
| 実績 | 畔塗記録 | /levee-work |
| 実績 | 作業記録 | /workrecords |
| マスター | 圃場管理 | /fields |
| マスター | 作物 | 未実装(allocation 内管理を独立予定) |
| マスター | 品種 | 未実装(allocation 内管理を独立予定) |
| マスター | 資材マスタ | /materials/masters |
| マスター | 肥料マスタ | /fertilizer/masters |
| 帳票・連携 | 在庫管理 | /materials |
| 帳票・連携 | 帳票出力 | /reports |
| 帳票・連携 | データ取込 | /import |
| 帳票・連携 | 気象 | /weather |
| 帳票・連携 > メール | メール履歴 | /mail/history |
| 帳票・連携 > メール | メールルール | /mail/rules |
| 右上ユーザー操作 | パスワード変更 | /settings/password |
| 優先判定するパス | 所属カテゴリ | 除外される側 |
|---|---|---|
/fertilizer/spreading |
実績 | 計画 > 施肥計画 |
/materials/masters |
マスター | 帳票・連携 > 在庫管理 |
通常判定:
/fertilizer /fertilizer/new /fertilizer/[id]/edit は 施肥計画/materials /materials?tab=... は 在庫管理KeinaSystem表示ルール:
ホーム は単独リンク計画 実績 マスター 帳票・連携 はドロップダウンEsc キーで閉じるホーム は単独リンクで /dashboard へ遷移するEnter または Space でドロップダウンを開閉できることTab で到達できることEsc で閉じられることこれは Phase 1 の必須要件には含めず、将来のアクセシビリティ強化項目として扱う。
メニュー定義はフラットな group 管理ではなく、階層構造で持つ。
type NavItem = {
label: string;
href: string;
match?: (pathname: string) => boolean;
};
type NavGroup = {
key: string;
label: string;
type: 'link' | 'group';
href?: string;
items?: NavItem[];
};
方針:
href ベースで扱うhref ベースで判定しきれない例外ケースだけ match を持つmatch は全件定義用ではなく、衝突回避用の最小限の逃げ道として使うマスター 配下に表示するのは 圃場管理 資材マスタ 肥料マスタ のみ作物 品種 はマスター体系には含めるが、独立画面がまだないため Phase 1 ではメニューに表示しない作物管理 品種管理 を独立画面として追加帳票・連携 内の メール を必要に応じてサブグループ化#13 メニューがごちゃごちゃしてきたので、整理する改善案/ナビゲーション再編仕様書.md