Merge remote-tracking branch 'origin/fusion-app' into legacy

# Conflicts:
#	apps/mobile_app/lib/save_family_app.dart
#	packages/sf_localizations/assets/l10n/de.json
#	packages/sf_localizations/assets/l10n/en.json
#	packages/sf_localizations/assets/l10n/es.json
#	packages/sf_localizations/assets/l10n/fr.json
#	packages/sf_localizations/assets/l10n/it.json
#	packages/sf_localizations/assets/l10n/pt.json
#	packages/sf_localizations/lib/src/generated/i18n.dart
This commit is contained in:
2026-03-16 13:26:08 +01:00
10 changed files with 41 additions and 30 deletions

View File

@@ -13,28 +13,21 @@ import 'package:utils/utils.dart';
class ControlPanelScreen extends ConsumerWidget {
final NavigationContract navigationContract;
const ControlPanelScreen({
super.key,
required this.navigationContract,
});
const ControlPanelScreen({super.key, required this.navigationContract});
@override
Widget build(BuildContext context, WidgetRef ref) {
final theme = ref.watch(themePortProvider);
final state = ref.watch(controlPanelViewModelProvider);
ref.listen(
controlPanelViewModelProvider.select((s) => s.errorMessage),
(previous, next) {
if (next.isNotEmpty) {
showTopSnackbar(
context,
message: next,
type: MessageType.error,
);
}
},
);
ref.listen(controlPanelViewModelProvider.select((s) => s.errorMessage), (
previous,
next,
) {
if (next.isNotEmpty) {
showTopSnackbar(context, message: next, type: MessageType.error);
}
});
if (state.isLoading) {
return Scaffold(
@@ -90,7 +83,9 @@ class _Header extends ConsumerWidget {
alignment: Alignment.center,
children: [
Padding(
padding: EdgeInsets.only(top: SizeUtils.getByScreen(small: 14, big: 14)),
padding: EdgeInsets.only(
top: SizeUtils.getByScreen(small: 14, big: 14),
),
child: Row(
children: [
Image.asset(