ponshu-room-lite/docs/archive/CURSOR_PROPOSAL_FINAL_REVIE...

240 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Cursor提案の最終判断レポート
## 📅 作成日時
2026年2月3日
## 🎯 結論
**Cursorの提案5箇所のうち、2箇所のみ修正を推奨します。**
---
## ✅ 修正すべき箇所2箇所
### 1. lib/widgets/home/sake_filter_chips.dart:27行目
**現在**:
```dart
final rawListAsync = ref.watch(rawSakeListItemsProvider);
```
**修正後**:
```dart
final filteredAsync = ref.watch(allSakeItemsProvider);
```
**理由**:
- セット商品は「ビジネスモードのお品書き作成でしか使わない」
- 個人モードのタグフィルター選択肢にセット商品のタグを含める必要がない
- Phase D6の設計意図個人モードでセット商品除外を完全実現
**影響範囲**:
- 個人モードのタグフィルターチップ選択肢
- セット商品のタグが除外されるが、問題なし
**デグレリスク**: ❌ なし
---
### 2. lib/widgets/prefecture_filter_sheet.dart:21行目
**現在**:
```dart
final rawListAsync = ref.read(rawSakeListItemsProvider);
```
**修正後**:
```dart
final filteredAsync = ref.read(allSakeItemsProvider);
```
**理由**:
- セット商品の都道府県を個人モードの選択肢に含める必要がない
- ビジネスモードに切り替えると選択肢が増える→**これは正しい仕様**
- ビジネスモードではセット商品も表示されるため、選択肢が増えるのは自然
**影響範囲**:
- 個人モードの都道府県フィルター選択肢
- セット商品の都道府県が除外される
**デグレリスク**: ❌ なし
---
## ❌ 修正してはいけない箇所3箇所
### 3. lib/screens/home_screen.dart:176行目
**現在**:
```dart
final isListActuallyEmpty = ref.watch(rawSakeListItemsProvider).asData?.value.isEmpty ?? true;
```
**修正不可の理由**:
```dart
if (displayList.isEmpty) {
if (isListActuallyEmpty) {
return HomeEmptyState(); // 「まだ1件も登録していません」
} else {
return SakeNoMatchState(); // 「フィルタ条件に一致する日本酒がありません」
}
}
```
**意図的な設計**:
- 「完全に空」vs「フィルタで0件」を区別するため
- 個人モードでセット商品のみ登録している場合:
- `allSakeItemsProvider`は0件セット商品除外済み
- `rawSakeListItemsProvider`は1件以上セット商品あり
- → 「フィルタ条件に一致しません」と正しく表示
**修正した場合の問題**:
- セット商品のみ登録している状態で「まだ登録していません」と誤表示
- ユーザーが混乱する
**判定**: ❌ **修正不可**
---
### 4. lib/screens/menu_creation_screen.dart:134行目
**現在**:
```dart
final isListActuallyEmpty = ref.watch(rawSakeListItemsProvider).asData?.value.isEmpty ?? true;
```
**修正不可の理由**: home_screen.dart:176と同じロジック
**判定**: ❌ **修正不可**
---
### 5. lib/screens/dev_menu_screen.dart:189行目
**現在**:
```dart
final allItems = ref.read(rawSakeListItemsProvider).asData?.value ?? [];
```
**修正不要の理由**:
- 開発者メニューは**デバッグ用**
- セット商品も含めて**全データを解析**したい
- 一般ユーザーには非表示(開発者のみアクセス)
**判定**: ⚠️ **任意**(修正しても問題ないが、現状維持を推奨)
---
## 📊 修正優先度
| 優先度 | 項目 | 実装時間 | デグレリスク |
|--------|------|----------|--------------|
| 🟡 HIGH | sake_filter_chips.dart:27 | 2分 | なし |
| 🟡 HIGH | prefecture_filter_sheet.dart:21 | 2分 | なし |
**合計実装時間**: **4分**
---
## 🔍 UI/UX改善提案の判断
### 提案1: ダークモードのみAppBar背景色統一
**Cursorの提案**:
```dart
// lib/theme/app_theme.dart:134
backgroundColor: (brightness == Brightness.dark) ? const Color(0xFF1E1E1E) : null,
```
**判定**: ✅ **実施推奨**
**理由**:
- デグレリスクゼロ
- 視覚的統一感向上
- 実装時間2分
---
### 提案2: ライトモードもAppBar背景色統一
**Cursorの提案**:
```dart
backgroundColor: (brightness == Brightness.dark)
? const Color(0xFF1E1E1E)
: Colors.white,
```
**判定**: ⚠️ **要慎重検討**
**理由**:
- 検索フィールドの白テキストを黒に変更必要
- Material Design 3の標準動作から外れる
- デグレリスク中程度
**推奨**: **実施前にユーザーと相談**
---
## 🎯 最終的な実行計画
### Step 1: Phase D6完全性修正4分
1. ✅ sake_filter_chips.dart:27修正
2. ✅ prefecture_filter_sheet.dart:21修正
### Step 2: UI/UX改善2分
3. ✅ AppBar背景色統一ダークモードのみ← ユーザー判断
### Step 3: 最終検証5分
4. flutter analyze実行
5. Android APKビルド
---
## ✅ Cursorへの返答推奨文言
```markdown
## レビュー結果
詳細な調査ありがとうございます。批判的レビューの結果、以下の判断としました。
### 修正する箇所2箇所のみ
1. ✅ lib/widgets/home/sake_filter_chips.dart:27 → `allSakeItemsProvider`に変更
2. ✅ lib/widgets/prefecture_filter_sheet.dart:21 → `allSakeItemsProvider`に変更
### 修正しない箇所3箇所
1. ❌ lib/screens/home_screen.dart:176 → **空状態判定に必須**(現状維持)
2. ❌ lib/screens/menu_creation_screen.dart:134 → **同上**(現状維持)
3. ⚠️ lib/screens/dev_menu_screen.dart:189 → **開発者メニュー**(現状維持)
理由: セット商品のみ登録している場合に「完全に空」と「フィルタで0件」を区別する必要があるため。
### UI/UX改善提案
- **提案1ダークモード統一**: 実施します
- **提案2ライトモード統一**: 見送ります
以上の方針でお願いします。
```
---
## 📝 他AI相談用プロンプト
**AI_CONSULTATION_PROMPT.md** を作成済み
このプロンプトを使用して、他のAIGemini、GPT-4などにセット商品の設計判断を相談できます。
---
## 🎊 期待される成果
### 修正実施後
- ✅ Phase D6の設計意図完全実現
- ✅ 個人モードでセット商品が完全除外
- ✅ タグ・都道府県フィルターの一貫性確保
- ✅ デグレリスクゼロ
---
**作成者**: Claude (Sonnet 4.5)
**作成日時**: 2026年2月3日