# InvenTree App 画面遷移図

## 概要

このドキュメントは、InvenTree Flutterアプリケーションの画面遷移を示します。

## 全体画面遷移図

```mermaid
flowchart TB
    subgraph アプリ起動
        A[アプリ起動] --> B{初回起動?}
        B -->|Yes| C[リリースノート画面]
        C --> D[ホーム画面]
        B -->|No| D
    end

    subgraph メイン画面
        D[ホーム画面]
        E[ドロワーメニュー]
        D <--> E
    end

    subgraph 接続・認証
        D -->|サーバー未接続| F[サーバー選択画面]
        F --> G[プロファイル編集画面]
        F --> H[ログイン画面]
        H --> D
        G --> F
    end

    subgraph 設定
        E --> I[設定画面]
        I --> F
        I --> J[アプリ設定画面]
        I --> K[ホーム画面設定]
        I --> L[バーコード設定画面]
        I --> M[部品設定画面]
        I --> N[在庫設定画面]
        I --> O[購入注文設定画面]
        I --> P[販売注文設定画面]
        I --> Q[アバウト画面]
        Q --> R[リリースノート画面]
        Q --> S[クレジット画面]
    end

    subgraph 部品管理
        D --> T[部品カテゴリ画面]
        E --> T
        T --> T
        T --> U[部品詳細画面]
        T --> V[部品一覧画面]
        V --> U
        U --> T
    end

    subgraph 在庫管理
        D --> W[在庫ロケーション画面]
        E --> W
        W --> W
        W --> X[在庫アイテム詳細画面]
        W --> Y[在庫アイテム一覧画面]
        Y --> X
        X --> W
        X --> U
    end

    subgraph 購入注文
        D --> Z[購入注文一覧画面]
        E --> Z
        Z --> AA[購入注文詳細画面]
        AA --> AB[会社詳細画面]
        AA --> Y
    end

    subgraph 販売注文
        D --> AC[販売注文一覧画面]
        E --> AC
        AC --> AD[販売注文詳細画面]
        AD --> AB
    end

    subgraph 会社管理
        D --> AE[会社一覧画面]
        AE --> AB
        AB --> Z
        AB --> AC
    end

    subgraph 共通機能
        D --> AF[バーコードスキャン画面]
        AF --> U
        AF --> X
        AF --> W
        AF --> AA
        AF --> AD
        AF --> AB
        E --> AG[通知画面]
        D --> AH[検索画面]
        AH --> V
        AH --> Y
        AH --> Z
        AH --> AC
        AH --> AE
    end
```

## 詳細画面遷移

### 認証フロー

```mermaid
flowchart LR
    A[ホーム画面] -->|サーバーアイコンタップ| B[サーバー選択画面]
    B -->|プロファイル選択| C{トークンあり?}
    C -->|No| D[ログイン画面]
    C -->|Yes| A
    D -->|認証成功| A
    B -->|新規作成| E[プロファイル編集画面]
    B -->|長押し編集| E
    E -->|保存| B
```

### 部品管理フロー

```mermaid
flowchart TB
    A[ホーム画面] -->|部品タップ| B[部品カテゴリ画面]
    B -->|サブカテゴリ| B
    B -->|部品タップ| C[部品詳細画面]
    B -->|部品タブ| D[部品一覧]
    D -->|部品タップ| C
    C -->|カテゴリタップ| B
    C -->|在庫タブ| E[在庫アイテム一覧]
    E -->|アイテムタップ| F[在庫アイテム詳細画面]
    C -->|BOMタップ| G[BOM一覧画面]
    C -->|サプライヤータップ| H[サプライヤー部品一覧]
```

### 在庫管理フロー

```mermaid
flowchart TB
    A[ホーム画面] -->|在庫タップ| B[在庫ロケーション画面]
    B -->|サブロケーション| B
    B -->|在庫アイテムタップ| C[在庫アイテム詳細画面]
    B -->|在庫タブ| D[在庫アイテム一覧]
    D -->|アイテムタップ| C
    C -->|ロケーションタップ| B
    C -->|部品タップ| E[部品詳細画面]
    C -->|テスト結果| F[テスト結果画面]
    C -->|履歴| G[履歴画面]
```

### 注文フロー

```mermaid
flowchart TB
    subgraph 購入注文
        A[ホーム画面] -->|購入注文| B[購入注文一覧画面]
        B -->|注文タップ| C[購入注文詳細画面]
        C -->|サプライヤータップ| D[会社詳細画面]
        C -->|ラインアイテムタブ| E[POラインアイテム一覧]
        C -->|受領済みタブ| F[受領済み在庫一覧]
    end

    subgraph 販売注文
        A -->|販売注文| G[販売注文一覧画面]
        G -->|注文タップ| H[販売注文詳細画面]
        H -->|顧客タップ| D
        H -->|ラインアイテムタブ| I[SOラインアイテム一覧]
        H -->|出荷タブ| J[出荷一覧]
    end
```

### バーコードスキャンフロー

```mermaid
flowchart TB
    A[任意の画面] -->|バーコードボタン| B[バーコードスキャン画面]
    B -->|スキャン成功| C{識別結果}
    C -->|部品| D[部品詳細画面]
    C -->|在庫アイテム| E[在庫アイテム詳細画面]
    C -->|ロケーション| F[在庫ロケーション画面]
    C -->|購入注文| G[購入注文詳細画面]
    C -->|販売注文| H[販売注文詳細画面]
    C -->|会社| I[会社詳細画面]
    C -->|サプライヤー部品| J[サプライヤー部品詳細画面]
    B -->|スキャン失敗| K[エラー表示]
    K --> B
```

### 設定フロー

```mermaid
flowchart TB
    A[ドロワーメニュー] -->|設定| B[設定画面]
    B -->|サーバー| C[サーバー選択画面]
    B -->|アプリ設定| D[アプリ設定画面]
    B -->|ホーム画面| E[ホーム画面設定]
    B -->|バーコード| F[バーコード設定画面]
    B -->|部品| G[部品設定画面]
    B -->|在庫| H[在庫設定画面]
    B -->|購入注文| I[購入注文設定画面]
    B -->|販売注文| J[販売注文設定画面]
    B -->|About| K[アバウト画面]
    K -->|リリースノート| L[リリースノート画面]
    K -->|クレジット| M[クレジット画面]
```

## 画面間の主要な遷移パターン

| 遷移元 | 遷移先 | トリガー |
|--------|--------|----------|
| ホーム画面 | 部品カテゴリ画面 | 「部品」タイルタップ |
| ホーム画面 | 在庫ロケーション画面 | 「在庫」タイルタップ |
| ホーム画面 | 購入注文一覧画面 | 「購入注文」タイルタップ |
| ホーム画面 | 販売注文一覧画面 | 「販売注文」タイルタップ |
| ホーム画面 | 会社一覧画面 | 「サプライヤー」/「顧客」タイルタップ |
| ホーム画面 | サーバー選択画面 | サーバーアイコンタップ |
| ドロワー | ホーム画面 | InvenTreeロゴタップ |
| ドロワー | 設定画面 | 「設定」タップ |
| ドロワー | 通知画面 | 「通知」タップ |
| 任意の画面 | バーコードスキャン画面 | バーコードボタンタップ |
| 一覧画面 | 詳細画面 | リストアイテムタップ |
| 詳細画面 | 関連詳細画面 | 関連アイテムタップ |
