// lib/ui/impostazioni/impostazioni_view.dart import 'package:flutter/material.dart'; import 'package:flux/theme/theme.dart'; import 'package:flux/ui/settings/theme_settings_view.dart'; class SettingsView extends StatelessWidget { const SettingsView({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Impostazioni')), body: ListView( padding: const EdgeInsets.all(16), children: [ _settingsSection('Account', [ _settingsTile( Icons.person, 'Profilo Utente', 'Configura i tuoi dati', context, MaterialPageRoute( builder: (context) => const ThemeSettingsView(), ), ), _settingsTile( Icons.store, 'Mio Negozio', 'Piacenza Centro', context, MaterialPageRoute( builder: (context) => const ThemeSettingsView(), ), ), ]), const SizedBox(height: 16), _settingsSection('Applicazione', [ _settingsTile( Icons.sync, 'Sincronizzazione', 'Ultima: 5 min fa', context, MaterialPageRoute( builder: (context) => const ThemeSettingsView(), ), ), _settingsTile( Icons.dark_mode, 'Tema (FLUX Dark)', 'Configurazione visiva', context, MaterialPageRoute( builder: (context) => const ThemeSettingsView(), ), ), ]), const SizedBox(height: 24), TextButton.icon( onPressed: () {}, icon: const Icon(Icons.exit_to_app, color: Colors.red), label: const Text('Logout', style: TextStyle(color: Colors.red)), ), ], ), ); } Widget _settingsSection(String title, List tiles) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( title.toUpperCase(), style: const TextStyle( color: FluxColors.accentTurquoise, fontWeight: FontWeight.bold, letterSpacing: 1, ), ), const SizedBox(height: 8), Card(child: Column(children: tiles)), ], ); } Widget _settingsTile( IconData icon, String title, String subtitle, BuildContext context, MaterialPageRoute route, ) { return ListTile( leading: Icon(icon, color: FluxColors.primaryBlue), title: Text(title, style: Theme.of(context).textTheme.titleLarge), subtitle: Text(subtitle), trailing: Icon( Icons.chevron_right, color: Theme.of(context).textTheme.bodyMedium?.color, ), onTap: () => Navigator.of(context).push(route), ); } }