dfa
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
// lib/ui/impostazioni/impostazioni_view.dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flux/core/blocs/session/session_cubit.dart';
|
||||
import 'package:flux/core/theme/theme.dart';
|
||||
import 'package:flux/features/settings/theme_settings_view.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
class SettingsView extends StatelessWidget {
|
||||
const SettingsView({super.key});
|
||||
@@ -15,48 +17,33 @@ class SettingsView extends StatelessWidget {
|
||||
children: [
|
||||
_settingsSection('Account', [
|
||||
_settingsTile(
|
||||
Icons.person,
|
||||
'Profilo Utente',
|
||||
'Configura i tuoi dati',
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const ThemeSettingsView(),
|
||||
),
|
||||
icon: Icons.person,
|
||||
title: 'Profilo Utente',
|
||||
subtitle: 'Configura i tuoi dati',
|
||||
context: context,
|
||||
onTap: () {},
|
||||
),
|
||||
_settingsTile(
|
||||
Icons.store,
|
||||
'Mio Negozio',
|
||||
'Piacenza Centro',
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const ThemeSettingsView(),
|
||||
),
|
||||
title: 'Impostazioni Azienda',
|
||||
icon: Icons.business,
|
||||
subtitle: 'Configura i dati aziendali',
|
||||
context: context,
|
||||
onTap: () => context.push('/master-data/company-settings'),
|
||||
),
|
||||
]),
|
||||
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(),
|
||||
),
|
||||
icon: Icons.dark_mode,
|
||||
title: 'Tema (FLUX Dark)',
|
||||
subtitle: 'Configurazione visiva',
|
||||
context: context,
|
||||
onTap: () => context.push('/settings/theme'),
|
||||
),
|
||||
]),
|
||||
const SizedBox(height: 24),
|
||||
TextButton.icon(
|
||||
onPressed: () {},
|
||||
onPressed: () => context.read<SessionCubit>().signOut(),
|
||||
icon: const Icon(Icons.exit_to_app, color: Colors.red),
|
||||
label: const Text('Logout', style: TextStyle(color: Colors.red)),
|
||||
),
|
||||
@@ -83,22 +70,22 @@ class SettingsView extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _settingsTile(
|
||||
IconData icon,
|
||||
String title,
|
||||
String subtitle,
|
||||
BuildContext context,
|
||||
MaterialPageRoute route,
|
||||
) {
|
||||
Widget _settingsTile({
|
||||
required BuildContext context,
|
||||
required IconData icon,
|
||||
required String title,
|
||||
String? subtitle,
|
||||
required VoidCallback onTap,
|
||||
}) {
|
||||
return ListTile(
|
||||
leading: Icon(icon, color: FluxColors.primaryBlue),
|
||||
title: Text(title, style: Theme.of(context).textTheme.titleLarge),
|
||||
subtitle: Text(subtitle),
|
||||
subtitle: Text(subtitle ?? ''),
|
||||
trailing: Icon(
|
||||
Icons.chevron_right,
|
||||
color: Theme.of(context).textTheme.bodyMedium?.color,
|
||||
),
|
||||
onTap: () => Navigator.of(context).push(route),
|
||||
onTap: onTap,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user