import 'package:flutter/material.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import '../../domain/entities/app_settings.dart'; import '../../../../core/constants/app_constants.dart'; part 'settings_provider.g.dart'; /// Provider for app settings @riverpod class Settings extends _$Settings { @override Future build() async { // TODO: Implement with repository // Return default settings for now return const AppSettings( themeMode: ThemeMode.system, language: AppConstants.defaultLanguage, currency: AppConstants.defaultCurrency, taxRate: AppConstants.defaultTaxRate, storeName: AppConstants.appName, enableSync: true, ); } Future updateTheme(ThemeMode mode) async { final current = state.value; if (current != null) { final updated = current.copyWith(themeMode: mode); state = AsyncValue.data(updated); // TODO: Persist to repository } } Future updateLanguage(String language) async { final current = state.value; if (current != null) { final updated = current.copyWith(language: language); state = AsyncValue.data(updated); // TODO: Persist to repository } } Future updateLastSyncTime() async { final current = state.value; if (current != null) { final updated = current.copyWith(lastSyncAt: DateTime.now()); state = AsyncValue.data(updated); // TODO: Persist to repository } } }