Enhance theme management and UI settings

- Updated AppThemeMode enum to include icons and added fromValue method for easier theme retrieval.
- Modified ThemeBloc to manage currentTheme instead of themeMode.
- Enhanced ThemeState to reflect currentTheme and updated copyWith method.
- Added ThemeSettingsView for user-friendly theme selection in settings.
- Improved fluxLightTheme and fluxDarkTheme with new listTileTheme and color settings.
- Updated settings view to navigate to ThemeSettingsView.
- Added entitlements for network client permissions in Debug and Release profiles.
- Introduced Podfile.lock for dependency management.
- Added devtools_options.yaml for Dart & Flutter DevTools configuration.
This commit is contained in:
2026-04-06 08:48:10 +02:00
parent 28b2abdff3
commit c6c61f1a31
13 changed files with 281 additions and 19 deletions

View File

@@ -0,0 +1,35 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flux/data/enums.dart';
import 'package:flux/theme/theme.dart';
import 'package:flux/theme/theme_bloc.dart';
class ThemeSettingsView extends StatelessWidget {
const ThemeSettingsView({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Impostazioni Tema')),
body: BlocBuilder<ThemeBloc, ThemeState>(
builder: (context, state) => RadioGroup<AppThemeMode>(
groupValue: state.currentTheme,
onChanged: (newTheme) {
if (newTheme != null) {
context.read<ThemeBloc>().add(ChangeThemeEvent(newTheme));
}
},
child: Column(
children: AppThemeMode.values.map((theme) {
return RadioListTile<AppThemeMode>(
title: Text(theme.label),
secondary: Icon(theme.icon, color: context.accent),
value: theme,
);
}).toList(),
),
),
),
);
}
}