Line data Source code
1 : // Copyright 2023 The terCAD team. All rights reserved.
2 : // Use of this source code is governed by a CC BY-NC-ND 4.0 license that can be found in the LICENSE file.
3 :
4 : import 'package:app_finance/_classes/herald/app_locale.dart';
5 : import 'package:app_finance/_configs/screen_helper.dart';
6 : import 'package:app_finance/_configs/theme_helper.dart';
7 : import 'package:app_finance/pages/_interfaces/abstract_page_state.dart';
8 : import 'package:app_finance/design/wrapper/tab_widget.dart';
9 : import 'package:app_finance/pages/settings/widgets/import_tab.dart';
10 : import 'package:app_finance/pages/settings/widgets/setting_tab.dart';
11 : import 'package:app_finance/pages/settings/widgets/recover_tab.dart';
12 : import 'package:material_ui/material_ui.dart';
13 :
14 : class SettingsPage extends StatefulWidget {
15 2 : const SettingsPage({super.key});
16 :
17 0 : @override
18 0 : SettingsPageState createState() => SettingsPageState();
19 : }
20 :
21 : class SettingsPageState extends AbstractPageState<SettingsPage> {
22 : int tab = 0;
23 :
24 0 : @override
25 0 : String getTitle() => AppLocale.labels.settingsHeadline;
26 :
27 0 : @override
28 : String getButtonName() => '';
29 :
30 0 : @override
31 : Widget buildButton(BuildContext context, BoxConstraints constraints) => ThemeHelper.emptyBox;
32 :
33 0 : @override
34 : Widget buildContent(BuildContext context, BoxConstraints constraints) {
35 0 : final isLeft = ScreenHelper.state().isLeftBar;
36 0 : return TabWidget(
37 0 : focus: tab,
38 0 : callback: (idx) => setState(() => tab = idx),
39 : type: TabType.secondary,
40 : isLeft: isLeft,
41 0 : tabs: [
42 0 : Tab(
43 : icon: const Icon(Icons.settings),
44 0 : text: AppLocale.labels.settingsBaseHeadline,
45 : ),
46 0 : Tab(
47 : icon: const Icon(Icons.health_and_safety),
48 0 : text: AppLocale.labels.recoveryHeadline,
49 : ),
50 0 : Tab(
51 : icon: const Icon(Icons.import_export),
52 0 : text: AppLocale.labels.importHeadline,
53 : ),
54 : ],
55 : children: const [
56 : SettingTab(),
57 : RecoverTab(),
58 : ImportTab(),
59 : ],
60 : );
61 : }
62 : }
|