From 4758aa5c9ca0d1ab355201fc67de8f7792ba7155 Mon Sep 17 00:00:00 2001 From: Ponshu Developer Date: Sun, 5 Apr 2026 14:33:40 +0900 Subject: [PATCH] fix: remove Pro-only placeholder in consumer APK, fix A-1/A-3 visibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - sake_detail_screen: hide SakeMbtiStampSection when isProVersion=false (consumer APK no longer shows Pro版限定 placeholder at card bottom) - sake_grid_item / sake_list_item: apply Pressable to actual tap targets (grid/list cards now animate on press instead of non-interactive LevelTitleCard) - soul_screen / sommelier_screen: ambient glow alpha 0.07→0.12 for visibility Co-Authored-By: Claude Sonnet 4.6 --- lib/screens/features/sommelier_screen.dart | 2 +- lib/screens/sake_detail_screen.dart | 9 ++++++--- lib/screens/soul_screen.dart | 2 +- lib/widgets/home/sake_grid_item.dart | 11 +++++++---- lib/widgets/home/sake_list_item.dart | 14 ++++++++------ 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/lib/screens/features/sommelier_screen.dart b/lib/screens/features/sommelier_screen.dart index 81e8d5a..e6be9c0 100644 --- a/lib/screens/features/sommelier_screen.dart +++ b/lib/screens/features/sommelier_screen.dart @@ -105,7 +105,7 @@ class _SommelierScreenState extends ConsumerState { shape: BoxShape.circle, gradient: RadialGradient( colors: [ - Theme.of(context).extension()!.brandAccent.withValues(alpha: 0.07), + Theme.of(context).extension()!.brandAccent.withValues(alpha: 0.12), Colors.transparent, ], ), diff --git a/lib/screens/sake_detail_screen.dart b/lib/screens/sake_detail_screen.dart index f3e25a8..06423db 100644 --- a/lib/screens/sake_detail_screen.dart +++ b/lib/screens/sake_detail_screen.dart @@ -18,6 +18,7 @@ import '../widgets/sake_detail/sake_detail_memo.dart'; import '../widgets/sake_detail/sake_detail_specs.dart'; import 'sake_detail/widgets/sake_photo_edit_modal.dart'; import 'sake_detail/sections/sake_mbti_stamp_section.dart'; +import '../main.dart' show isProVersion; import 'sake_detail/sections/sake_basic_info_section.dart'; import 'sake_detail/widgets/sake_detail_sliver_app_bar.dart'; import '../services/mbti_compatibility_service.dart'; @@ -265,9 +266,11 @@ class _SakeDetailScreenState extends ConsumerState { const SizedBox(height: 48), ], - // MBTI Diagnostic Stamp Section (Phase C3) - SakeMbtiStampSection(sake: _sake), - const SizedBox(height: 24), + // MBTI Diagnostic Stamp Section (Pro only) + if (isProVersion) ...[ + SakeMbtiStampSection(sake: _sake), + const SizedBox(height: 24), + ], ], ), ), diff --git a/lib/screens/soul_screen.dart b/lib/screens/soul_screen.dart index 9b3025d..090d6c5 100644 --- a/lib/screens/soul_screen.dart +++ b/lib/screens/soul_screen.dart @@ -48,7 +48,7 @@ class _SoulScreenState extends ConsumerState { shape: BoxShape.circle, gradient: RadialGradient( colors: [ - appColors.brandPrimary.withValues(alpha: 0.07), + appColors.brandPrimary.withValues(alpha: 0.12), Colors.transparent, ], ), diff --git a/lib/widgets/home/sake_grid_item.dart b/lib/widgets/home/sake_grid_item.dart index e597847..b9a89f2 100644 --- a/lib/widgets/home/sake_grid_item.dart +++ b/lib/widgets/home/sake_grid_item.dart @@ -8,6 +8,7 @@ import '../../theme/app_theme.dart'; import '../../theme/app_colors.dart'; import '../../providers/ui_experiment_provider.dart'; import 'package:lucide_icons/lucide_icons.dart'; +import '../common/pressable.dart'; class SakeGridItem extends ConsumerWidget { final SakeItem sake; @@ -24,7 +25,8 @@ class SakeGridItem extends ConsumerWidget { final isSelected = ref.watch(selectedMenuSakeIdsProvider).contains(sake.id); final appColors = Theme.of(context).extension()!; - return Card( + return Pressable( + child: Card( clipBehavior: Clip.antiAlias, // Highlight selected shape: isMenuMode && isSelected @@ -198,8 +200,9 @@ class SakeGridItem extends ConsumerWidget { ), ), ], - ), - ), - ); + ), // Stack + ), // InkWell + ), // Card + ); // Pressable } } diff --git a/lib/widgets/home/sake_list_item.dart b/lib/widgets/home/sake_list_item.dart index a9e40b2..636d53f 100644 --- a/lib/widgets/home/sake_list_item.dart +++ b/lib/widgets/home/sake_list_item.dart @@ -7,7 +7,7 @@ import '../../screens/sake_detail_screen.dart'; import '../../theme/app_theme.dart'; import '../../theme/app_colors.dart'; import 'package:lucide_icons/lucide_icons.dart'; -// Haptic via InkWell? No, explicit HapticFeedback used generally. +import '../common/pressable.dart'; class SakeListItem extends ConsumerWidget { final SakeItem sake; @@ -29,9 +29,10 @@ class SakeListItem extends ConsumerWidget { // Adaptive selection color final selectedColor = appColors.brandAccent.withValues(alpha: 0.15); - return Card( + return Pressable( + child: Card( clipBehavior: Clip.antiAlias, - elevation: 1, // Slight elevation + elevation: 1, color: isMenuMode && isSelected ? selectedColor : null, shape: isMenuMode && isSelected ? RoundedRectangleBorder(side: BorderSide(color: appColors.brandAccent, width: 2), borderRadius: BorderRadius.circular(6)) @@ -208,8 +209,9 @@ class SakeListItem extends ConsumerWidget { ), ), ], - ), - ), - ); + ), // Row + ), // InkWell + ), // Card + ); // Pressable } }