analysis page remake

This commit is contained in:
moon 2026-04-23 10:59:34 +06:30
parent 6081fd134f
commit 4e8e6af86e
4 changed files with 603 additions and 319 deletions

3
devtools_options.yaml Normal file
View File

@ -0,0 +1,3 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:

View File

@ -2,7 +2,7 @@ enum AnalysisChartMetric { scans, pointsUsed }
extension AnalysisChartMetricX on AnalysisChartMetric {
String get label => switch (this) {
AnalysisChartMetric.scans => 'Scans',
AnalysisChartMetric.pointsUsed => 'Points Used',
AnalysisChartMetric.scans => 'Member scans',
AnalysisChartMetric.pointsUsed => 'Coins redeemed',
};
}

File diff suppressed because it is too large Load Diff

View File

@ -106,21 +106,43 @@ class _SettingsBody extends StatelessWidget {
],
),
const SizedBox(height: 12),
FilledButton.icon(
onPressed: onLogout,
icon: const Icon(Icons.logout_rounded),
label: const Text('Logout'),
style: FilledButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.error,
foregroundColor: Theme.of(context).colorScheme.onError,
padding: const EdgeInsets.symmetric(vertical: 16),
),
),
_LogoutButton(onPressed: onLogout),
],
);
}
}
class _LogoutButton extends StatelessWidget {
const _LogoutButton({required this.onPressed});
final VoidCallback onPressed;
@override
Widget build(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
return SizedBox(
width: double.infinity,
child: FilledButton.icon(
onPressed: onPressed,
icon: const Icon(Icons.logout_rounded),
label: const Text(
'Logout',
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600),
),
style: FilledButton.styleFrom(
backgroundColor: colorScheme.primary,
foregroundColor: colorScheme.onPrimary,
padding: const EdgeInsets.symmetric(vertical: 16),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(18),
),
),
),
);
}
}
class _SectionCard extends StatelessWidget {
const _SectionCard({required this.title, required this.children});