This commit is contained in:
2025-09-27 14:21:48 +02:00
parent 8fa071e565
commit 465f7153a4
10 changed files with 258 additions and 202 deletions

View File

@@ -1,6 +1,6 @@
import 'package:app/core/i18n/translations.g.dart';
import 'package:app/core/ui/panel.dart';
import 'package:app/modules/settings/modules/app/app_settings_view.dart';
import 'package:app/modules/settings/modules/app/design_settings_view.dart';
import 'package:app/modules/settings/modules/app/features_settings_view.dart';
import 'package:app/modules/settings/modules/help/feedback_view.dart';
import 'package:app/modules/settings/modules/help/help_view.dart';
@@ -14,10 +14,7 @@ class SettingsView extends StatelessWidget {
@override
Widget build(BuildContext context) {
final t = Translations.of(context);
return Scaffold(
// appBar: AppBar(title: Text(t.settings.title)),
body: PanelNavigator(rootBuilder: (ctx) => _CategoryList()),
);
}
@@ -55,65 +52,69 @@ class _CategoryList extends StatelessWidget {
);
}
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_SectionHeader(t.settings.sections.app),
tile(
Icons.tune,
t.settings.items.appSettings,
() => const AppSettingsView(),
),
const SizedBox(height: 12),
tile(
Icons.tune,
t.settings.featureSettings,
() => const FeatureSettingsView(),
),
const SizedBox(height: 12),
return SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_SectionHeader(t.settings.sections.app),
tile(
Icons.tune,
t.settings.items.appSettings,
() => const AppSettingsView(),
),
const SizedBox(height: 12),
tile(
Icons.phone_iphone,
t.settings.items.designSettings,
() => const DesignSettingsView(),
),
const SizedBox(height: 12),
_SectionHeader(t.settings.sections.account),
tile(
Icons.badge_outlined,
t.settings.items.personalData,
() => const PersonalPanel(),
),
tile(
Icons.manage_accounts_outlined,
t.settings.items.accountManagement,
() => const AccountPanel(),
),
const SizedBox(height: 12),
_SectionHeader(t.settings.sections.account),
tile(
Icons.badge_outlined,
t.settings.items.personalData,
() => const PersonalPanel(),
),
tile(
Icons.manage_accounts_outlined,
t.settings.items.accountManagement,
() => const AccountPanel(),
),
const SizedBox(height: 12),
_SectionHeader(t.settings.sections.help),
tile(
Icons.help_outline,
t.settings.items.helpCenter,
() => const HelpPanel(),
),
tile(
Icons.feedback_outlined,
t.settings.items.feedback,
() => const FeedbackPanel(),
),
tile(
Icons.gavel_outlined,
t.settings.items.legalPrivacy, // "Rechtliches & Datenschutz"
() => const LegalPanel(),
),
const SizedBox(height: 24),
_SectionHeader(t.settings.sections.help),
tile(
Icons.help_outline,
t.settings.items.helpCenter,
() => const HelpPanel(),
),
tile(
Icons.feedback_outlined,
t.settings.items.feedback,
() => const FeedbackPanel(),
),
tile(
Icons.gavel_outlined,
t.settings.items.legalPrivacy, // "Rechtliches & Datenschutz"
() => const LegalPanel(),
),
const SizedBox(height: 24),
const Divider(),
ListTile(
leading: const Icon(Icons.logout),
title: Text(t.settings.items.logout),
onTap: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(t.settings.messages.logoutNotImplemented)),
);
},
),
],
const Divider(),
ListTile(
leading: const Icon(Icons.logout),
title: Text(t.settings.items.logout),
onTap: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(t.settings.messages.logoutNotImplemented),
),
);
},
),
],
),
);
}
}