diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index 1fb79b4..94ce523 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -184,11 +184,11 @@ class HomeScreen extends ConsumerWidget { child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - Icon(LucideIcons.clipboardCheck, size: 60, color: Colors.grey[400]), + Icon(LucideIcons.clipboardCheck, size: 60, color: appColors.iconSubtle), const SizedBox(height: 16), Text(t['noMenuItems'], style: const TextStyle(fontWeight: FontWeight.bold)), const SizedBox(height: 8), - Text(t['goBackToList'], textAlign: TextAlign.center, style: const TextStyle(color: Colors.grey)), + Text(t['goBackToList'], textAlign: TextAlign.center, style: TextStyle(color: appColors.textSecondary)), ], ), ); diff --git a/lib/screens/main_screen.dart b/lib/screens/main_screen.dart index d239d85..5c61f7d 100644 --- a/lib/screens/main_screen.dart +++ b/lib/screens/main_screen.dart @@ -65,7 +65,7 @@ class _MainScreenState extends ConsumerState { clipBehavior: Clip.none, alignment: Alignment.center, children: [ - Icon(featureIcon, size: 48, color: Colors.grey.shade400), + Icon(featureIcon, size: 48, color: appColors.iconSubtle), Positioned( right: -8, top: -8, diff --git a/lib/screens/menu_pricing_screen.dart b/lib/screens/menu_pricing_screen.dart index acec108..7009a07 100644 --- a/lib/screens/menu_pricing_screen.dart +++ b/lib/screens/menu_pricing_screen.dart @@ -123,7 +123,7 @@ class _MenuPricingScreenState extends ConsumerState { preferredSize: const Size.fromHeight(2), child: LinearProgressIndicator( value: 2 / 3, // Step 2 of 3 = 66% - backgroundColor: Colors.grey[200], + backgroundColor: Theme.of(context).extension()!.surfaceSubtle, valueColor: AlwaysStoppedAnimation(Theme.of(context).primaryColor), minHeight: 2, ), @@ -320,9 +320,9 @@ class _MenuPricingScreenState extends ConsumerState { // Drag Handle ReorderableDragStartListener( index: index, - child: const Padding( - padding: EdgeInsets.only(right: 12, top: 4, bottom: 4), - child: Icon(Icons.drag_indicator, color: Colors.grey), + child: Padding( + padding: const EdgeInsets.only(right: 12, top: 4, bottom: 4), + child: Icon(Icons.drag_indicator, color: appColors.iconSubtle), ), ), Expanded( diff --git a/lib/screens/pending_analysis_screen.dart b/lib/screens/pending_analysis_screen.dart index 3036f41..01b1689 100644 --- a/lib/screens/pending_analysis_screen.dart +++ b/lib/screens/pending_analysis_screen.dart @@ -344,10 +344,10 @@ class _PendingAnalysisScreenState extends ConsumerState { width: 60, height: 60, decoration: BoxDecoration( - color: Colors.grey.shade300, + color: appColors.divider, borderRadius: BorderRadius.circular(8), ), - child: const Icon(LucideIcons.image, color: Colors.grey), + child: Icon(LucideIcons.image, color: appColors.iconSubtle), ), title: const Text( '解析待ち', @@ -390,7 +390,7 @@ class _PendingAnalysisScreenState extends ConsumerState { style: ElevatedButton.styleFrom( backgroundColor: appColors.brandPrimary, foregroundColor: Colors.white, - disabledBackgroundColor: Colors.grey.shade400, + disabledBackgroundColor: appColors.textTertiary, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), diff --git a/lib/widgets/map/prefecture_tile_map.dart b/lib/widgets/map/prefecture_tile_map.dart index 8a54627..a4c8e78 100644 --- a/lib/widgets/map/prefecture_tile_map.dart +++ b/lib/widgets/map/prefecture_tile_map.dart @@ -76,7 +76,7 @@ class PrefectureTileMap extends ConsumerWidget { if (v.contains(prefName)) prefId = k; }); final regionId = JapanMapData.getRegionId(prefId); - final regionColor = regionColors[regionId] ?? Colors.grey; + final regionColor = regionColors[regionId] ?? appColors.divider; Color baseColor; Color textColor; diff --git a/lib/widgets/sake_detail/sake_detail_specs.dart b/lib/widgets/sake_detail/sake_detail_specs.dart index 5b0c9ff..fc69194 100644 --- a/lib/widgets/sake_detail/sake_detail_specs.dart +++ b/lib/widgets/sake_detail/sake_detail_specs.dart @@ -75,9 +75,9 @@ class _SakeDetailSpecsState extends State { if (_isEditing) { // Warn user about external update while editing ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('データが外部から更新されました。編集をキャンセルして再度お試しください。'), - backgroundColor: Colors.orange, + SnackBar( + content: const Text('データが外部から更新されました。編集をキャンセルして再度お試しください。'), + backgroundColor: Theme.of(context).extension()!.warning, ), ); _cancel(); // Force exit edit mode diff --git a/lib/widgets/settings/backup_settings_section.dart b/lib/widgets/settings/backup_settings_section.dart index c8c25bb..e19f079 100644 --- a/lib/widgets/settings/backup_settings_section.dart +++ b/lib/widgets/settings/backup_settings_section.dart @@ -86,6 +86,7 @@ enum _BackupState { idle, signingIn, signingOut, backingUp, restoring } Future _createBackup() async { final messenger = ScaffoldMessenger.of(context); + final appColors = Theme.of(context).extension()!; setState(() => _state = _BackupState.backingUp); final success = await _backupService.createBackup(); if (mounted) { @@ -93,11 +94,7 @@ enum _BackupState { idle, signingIn, signingOut, backingUp, restoring } messenger.showSnackBar( SnackBar( content: Text(success ? 'バックアップが完了しました' : 'バックアップに失敗しました'), - // Snackbars can keep Green/Red for semantic clarity, or be neutral. - // User asked to remove Green/Red icons from the UI, but feedback (Snackbar) usually stays semantic. - // However, to be safe and "Washi", let's use Sumi (Black) for success? - // Or just leave snackbars as they are ephemeral. The request was likely about the visible static UI. - backgroundColor: success ? Colors.green : Colors.red, + backgroundColor: success ? appColors.success : appColors.error, ), ); } @@ -184,7 +181,7 @@ enum _BackupState { idle, signingIn, signingOut, backingUp, restoring } messenger.showSnackBar( SnackBar( content: Text(success ? '復元が完了しました' : '復元に失敗しました'), - backgroundColor: success ? Colors.green : Colors.red, + backgroundColor: success ? appColors.success : appColors.error, ), ); }