import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../../core/constants.dart'; import '../../../core/l10n/locale_provider.dart'; import '../provider.dart'; class ThemeSection extends ConsumerWidget { const ThemeSection({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final s = ref.watch(stringsProvider); final themeMode = ref.watch(themeProvider); final isDarkMode = themeMode == ThemeMode.dark; final isDark = Theme.of(context).brightness == Brightness.dark; return Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( color: Theme.of(context).colorScheme.surface, borderRadius: BorderRadius.circular(16), border: isDark ? null : Border.all(color: const Color(0xFFDDDDEE), width: 1), ), child: Row( children: [ Container( padding: const EdgeInsets.all(10), decoration: BoxDecoration( color: AppColors.accent.withOpacity(0.15), borderRadius: BorderRadius.circular(12), ), child: Icon( isDarkMode ? Icons.dark_mode_rounded : Icons.light_mode_rounded, color: AppColors.accent, size: 20, ), ), const SizedBox(width: 12), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( s.darkMode, style: Theme.of(context).textTheme.titleMedium?.copyWith( fontWeight: FontWeight.w600, color: Theme.of(context).colorScheme.onSurface, ), ), Text( isDarkMode ? s.enabled : s.disabled, style: Theme.of(context).textTheme.bodySmall?.copyWith( color: Theme.of(context).colorScheme.onSurface.withOpacity(0.6), ), ), ], ), ), Switch( value: isDarkMode, onChanged: (value) { ref.read(themeProvider.notifier).setThemeMode(value); }, activeThumbColor: AppColors.accent, ), ], ), ); } }