From d1a2f59dd16fa508eedd4490028865c39b83854f Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Wed, 24 Sep 2025 14:49:06 +0800 Subject: [PATCH] :lipstick: Optimize account page --- lib/screens/account.dart | 105 ++++++++++++++++++++++++----------- lib/widgets/debug_sheet.dart | 1 + 2 files changed, 74 insertions(+), 32 deletions(-) diff --git a/lib/screens/account.dart b/lib/screens/account.dart index 1ce25fb8..3831fb2b 100644 --- a/lib/screens/account.dart +++ b/lib/screens/account.dart @@ -150,10 +150,13 @@ class AccountScreen extends HookConsumerWidget { context.pushNamed('leveling'); }, ).padding(horizontal: 12), + const SizedBox.shrink(), Row( + spacing: 8, children: [ Expanded( child: Card( + margin: EdgeInsets.zero, child: InkWell( borderRadius: BorderRadius.circular(8), child: Column( @@ -180,6 +183,7 @@ class AccountScreen extends HookConsumerWidget { ), Expanded( child: Card( + margin: EdgeInsets.zero, child: InkWell( borderRadius: BorderRadius.circular(8), child: Column( @@ -205,7 +209,73 @@ class AccountScreen extends HookConsumerWidget { ).height(140), ), ], - ).padding(horizontal: 8), + ).padding(horizontal: 12), + const SizedBox.shrink(), + Row( + spacing: 8, + children: [ + Expanded( + child: Card( + margin: EdgeInsets.zero, + child: InkWell( + borderRadius: BorderRadius.circular(8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Icon(Symbols.settings, size: 28).padding(bottom: 8), + Text('appSettings').tr().fontSize(16).bold(), + ], + ).padding(horizontal: 16, vertical: 12), + onTap: () { + context.pushNamed('settings'); + }, + ), + ).height(120), + ), + Expanded( + child: Card( + margin: EdgeInsets.zero, + child: InkWell( + borderRadius: BorderRadius.circular(8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Icon( + Symbols.person_edit, + size: 28, + ).padding(bottom: 8), + Text('updateYourProfile').tr().fontSize(16).bold(), + ], + ).padding(horizontal: 16, vertical: 12), + onTap: () { + context.pushNamed('profileUpdate'); + }, + ), + ).height(120), + ), + Expanded( + child: Card( + margin: EdgeInsets.zero, + child: InkWell( + borderRadius: BorderRadius.circular(8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Icon( + Symbols.manage_accounts, + size: 28, + ).padding(bottom: 8), + Text('accountSettings').tr().fontSize(16).bold(), + ], + ).padding(horizontal: 16, vertical: 12), + onTap: () { + context.pushNamed('accountSettings'); + }, + ), + ).height(120), + ), + ], + ).padding(horizontal: 12), ListTile( minTileHeight: 48, leading: const Icon(Symbols.notifications), @@ -273,37 +343,6 @@ class AccountScreen extends HookConsumerWidget { onTap: () => context.pushNamed('reportList'), ), const Divider(height: 1).padding(vertical: 8), - ListTile( - minTileHeight: 48, - leading: const Icon(Symbols.settings), - trailing: const Icon(Symbols.chevron_right), - contentPadding: EdgeInsets.symmetric(horizontal: 24), - title: Text('appSettings').tr(), - onTap: () { - context.pushNamed('settings'); - }, - ), - ListTile( - minTileHeight: 48, - leading: const Icon(Symbols.person_edit), - trailing: const Icon(Symbols.chevron_right), - contentPadding: EdgeInsets.symmetric(horizontal: 24), - title: Text('updateYourProfile').tr(), - onTap: () { - context.pushNamed('profileUpdate'); - }, - ), - ListTile( - minTileHeight: 48, - leading: const Icon(Symbols.manage_accounts), - trailing: const Icon(Symbols.chevron_right), - contentPadding: EdgeInsets.symmetric(horizontal: 24), - title: Text('accountSettings').tr(), - onTap: () { - context.pushNamed('accountSettings'); - }, - ), - const Divider(height: 1).padding(vertical: 8), ListTile( minTileHeight: 48, leading: const Icon(Symbols.info), @@ -322,6 +361,8 @@ class AccountScreen extends HookConsumerWidget { title: Text('debugOptions').tr(), onTap: () { showModalBottomSheet( + useRootNavigator: true, + isScrollControlled: true, context: context, builder: (context) => DebugSheet(), ); diff --git a/lib/widgets/debug_sheet.dart b/lib/widgets/debug_sheet.dart index 773f2d46..52e970c2 100644 --- a/lib/widgets/debug_sheet.dart +++ b/lib/widgets/debug_sheet.dart @@ -64,6 +64,7 @@ class DebugSheet extends HookConsumerWidget { return SheetScaffold( titleText: 'Debug', + heightFactor: 0.6, child: Column( children: [ ListTile(