Files
flux/lib/features/settings/theme_settings_view.dart

36 lines
1.1 KiB
Dart
Raw Permalink Normal View History

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
2026-04-07 11:55:01 +02:00
import 'package:flux/core/enums/enums.dart';
2026-04-07 11:30:22 +02:00
import 'package:flux/core/theme/theme.dart';
import 'package:flux/core/theme/bloc/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(),
),
),
),
);
}
}