import 'package:flutter/material.dart'; /// Domain entity representing application settings. class AppSettings { final ThemeMode themeMode; final bool notificationsEnabled; final bool soundEnabled; final bool hapticFeedback; final String? selectedTenantId; final String? selectedTenantName; final String language; final bool biometricEnabled; final String ttsVoice; final String ttsStyle; final String engineType; const AppSettings({ this.themeMode = ThemeMode.dark, this.notificationsEnabled = true, this.soundEnabled = true, this.hapticFeedback = true, this.selectedTenantId, this.selectedTenantName, this.language = 'en', this.biometricEnabled = false, this.ttsVoice = 'coral', this.ttsStyle = '', this.engineType = 'claude_agent_sdk', }); AppSettings copyWith({ ThemeMode? themeMode, bool? notificationsEnabled, bool? soundEnabled, bool? hapticFeedback, String? selectedTenantId, String? selectedTenantName, String? language, bool? biometricEnabled, String? ttsVoice, String? ttsStyle, String? engineType, }) { return AppSettings( themeMode: themeMode ?? this.themeMode, notificationsEnabled: notificationsEnabled ?? this.notificationsEnabled, soundEnabled: soundEnabled ?? this.soundEnabled, hapticFeedback: hapticFeedback ?? this.hapticFeedback, selectedTenantId: selectedTenantId ?? this.selectedTenantId, selectedTenantName: selectedTenantName ?? this.selectedTenantName, language: language ?? this.language, biometricEnabled: biometricEnabled ?? this.biometricEnabled, ttsVoice: ttsVoice ?? this.ttsVoice, ttsStyle: ttsStyle ?? this.ttsStyle, engineType: engineType ?? this.engineType, ); } }