import 'package:flutter/material.dart'; import '../main.dart'; import 'login_screen.dart'; class SettingsScreen extends StatelessWidget { const SettingsScreen({super.key}); @override Widget build(BuildContext context) { final colors = Theme.of(context).colorScheme; return Scaffold( appBar: AppBar(title: const Text('Settings')), body: Padding( padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Card( child: Padding( padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Server', style: Theme.of(context).textTheme.titleMedium), const SizedBox(height: 8), Text('URL: ${settings.serverUrl ?? "Not set"}', style: Theme.of(context).textTheme.bodyMedium?.copyWith(color: colors.onSurfaceVariant)), Text('Token: ${settings.token != null ? "Configured" : "Missing"}', style: Theme.of(context).textTheme.bodyMedium?.copyWith(color: colors.onSurfaceVariant)), ], ), ), ), const SizedBox(height: 16), Card( child: Padding( padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Upload Mode', style: Theme.of(context).textTheme.titleMedium), const SizedBox(height: 8), SwitchListTile( title: const Text('Auto Upload'), subtitle: const Text('Automatically upload new incoming SMS'), value: settings.autoUpload, onChanged: (v) => settings.setAutoUpload(v), contentPadding: EdgeInsets.zero, ), ], ), ), ), const Spacer(), SizedBox( width: double.infinity, child: OutlinedButton.icon( onPressed: () { settings.setToken(''); Navigator.of(context).pushAndRemoveUntil( MaterialPageRoute(builder: (_) => const LoginScreen()), (_) => false, ); }, icon: const Icon(Icons.logout), label: const Text('Logout'), style: OutlinedButton.styleFrom(foregroundColor: colors.error), ), ), ], ), ), ); } }