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:flutter/material.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 : color: Colors.white30, 42 : ), 43 : ThemeHelper.hIndent2x, 44 0 : Expanded( 45 0 : child: Text(name, style: textTheme.bodyLarge), 46 : ), 47 : ], 48 : ), 49 : ); 50 : } 51 : }