Update hamburger menu

This commit is contained in:
tuxpizza 2024-12-20 02:10:16 -05:00
parent 859d1d540c
commit a5b0856eee
2 changed files with 63 additions and 45 deletions

View file

@ -141,6 +141,7 @@ class MenuWidgetState extends State<MenuWidget> {
return Container(
height: headerHeight,
decoration: BoxDecoration(
borderRadius: BorderRadius.only(bottomLeft: Radius.circular(24)),
gradient: LinearGradient(colors: [
Theme.of(context).extension<CakeMenuTheme>()!.headerFirstGradientColor,
Theme.of(context).extension<CakeMenuTheme>()!.headerSecondGradientColor,
@ -207,7 +208,7 @@ class MenuWidgetState extends State<MenuWidget> {
);
},
separatorBuilder: (_, index) => Container(
height: 1,
height: 0,
color: Theme.of(context).extension<CakeMenuTheme>()!.dividerColor,
),
itemCount: itemCount + 1,

View file

@ -1,6 +1,10 @@
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/option_tile_theme.dart';
class SettingActionButton extends StatelessWidget {
final bool isLastTile;
@ -29,56 +33,69 @@ class SettingActionButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
final isLightMode = Theme.of(context).extension<OptionTileTheme>()?.useDarkImage ?? false;
Color? color = isSelected
? Theme.of(context).extension<CakeMenuTheme>()!.settingTitleColor
: selectionActive
? Palette.darkBlue
: Theme.of(context).extension<CakeMenuTheme>()!.settingTitleColor;
return InkWell(
onTap: onTap,
hoverColor: Colors.transparent,
child: Container(
height: tileHeight,
padding: isLastTile
? EdgeInsets.only(
left: 24,
right: 24,
top: fromBottomEdge,
)
: EdgeInsets.only(left: 24, right: 24),
alignment: isLastTile ? Alignment.topLeft : null,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
image,
height: 16,
width: 16,
color: Theme.of(context)
.extension<CakeMenuTheme>()!
.settingActionsIconColor,
),
SizedBox(width: 16),
Expanded(
child: Text(
title,
style: TextStyle(
color: color,
fontSize: 16,
fontWeight: FontWeight.bold,
),
? Palette.darkBlue
: Theme.of(context).extension<CakeMenuTheme>()!.settingTitleColor;
return Container(
//padding: EdgeInsets.only(top: 5, left: 15, bottom: 5),
margin: EdgeInsets.only(top: 10, left: 20, bottom: 0),
child: TextButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(isLightMode ? Theme.of(context).cardColor : Colors.black12),
shape: MaterialStateProperty.all(
RoundedRectangleBorder(
side: BorderSide(
//color: Colors.black12,
width: 100
),
borderRadius: BorderRadius.only(topLeft: Radius.circular(20), bottomLeft: Radius.circular(20),
),
),
if (isArrowVisible)
Icon(
Icons.arrow_forward_ios,
color: color,
size: 16,
)
],
),
),
onPressed: onTap,
//hoverColor: Colors.transparent,
child: Container(
width: double.infinity,
padding: EdgeInsets.only(top: 12, left: 20, bottom: 12, right: 15),
//margin: EdgeInsets.only(top: 5, left: 15, bottom: 5),
alignment: isLastTile ? Alignment.topLeft : null,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
image,
height: 16,
width: 16,
color: Theme.of(context)
.extension<CakeMenuTheme>()!
.settingActionsIconColor,
),
SizedBox(width: 16),
Expanded(
child: Text(
title,
style: TextStyle(
color: color,
fontSize: 16,
fontWeight: FontWeight.bold,
),
),
),
if(isArrowVisible)
Icon(
Icons.arrow_forward_ios,
color: Colors.grey,
size: 16,
)
],
),
),
),
);
}
}
}