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/_configs/theme_helper.dart';
5 : import 'package:app_finance/_ext/build_context_ext.dart';
6 : import 'package:app_finance/design/wrapper/tap_widget.dart';
7 : import 'package:app_finance/design/button/toolbar_button_widget.dart';
8 : import 'package:app_finance/pages/settings/widgets/recover_tab/recovery_type.dart';
9 : import 'package:material_ui/material_ui.dart';
10 :
11 : class NavButtonWidget extends StatelessWidget {
12 : final String name;
13 : final RecoveryType nav;
14 : final IconData icon;
15 : final Function callback;
16 : final Offset offset;
17 :
18 0 : const NavButtonWidget({
19 : super.key,
20 : required this.name,
21 : required this.nav,
22 : required this.callback,
23 : this.icon = Icons.arrow_right,
24 : this.offset = const Offset(0, -5),
25 : });
26 :
27 0 : @override
28 : Widget build(BuildContext context) {
29 0 : final textTheme = context.textTheme;
30 0 : return TapWidget(
31 0 : onTap: () => callback(nav),
32 0 : tooltip: name,
33 0 : child: Row(
34 0 : children: [
35 0 : ToolbarButtonWidget(
36 0 : offset: offset,
37 0 : borderColor: context.colorScheme.inversePrimary,
38 0 : icon: icon,
39 0 : onPressed: () => callback(nav),
40 0 : tooltip: name,
41 0 : color: context.colorScheme.inversePrimary,
42 : ),
43 : ThemeHelper.hIndent2x,
44 0 : Expanded(
45 0 : child: Text(name, style: textTheme.bodyLarge),
46 : ),
47 : ],
48 : ),
49 : );
50 : }
51 : }
|