Files
sure/mobile/lib/screens/more_screen.dart
2026-02-16 04:23:00 +01:00

86 lines
2.2 KiB
Dart

import 'package:flutter/material.dart';
import 'calendar_screen.dart';
import 'recent_transactions_screen.dart';
class MoreScreen extends StatelessWidget {
const MoreScreen({super.key});
@override
Widget build(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
return Scaffold(
body: ListView(
children: [
_buildMenuItem(
context: context,
icon: Icons.calendar_month,
title: 'Account Calendar',
subtitle: 'View monthly balance changes by account',
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const CalendarScreen(),
),
);
},
),
Divider(height: 1, color: colorScheme.outlineVariant),
_buildMenuItem(
context: context,
icon: Icons.receipt_long,
title: 'Recent Transactions',
subtitle: 'View recent transactions across all accounts',
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const RecentTransactionsScreen(),
),
);
},
),
],
),
);
}
Widget _buildMenuItem({
required BuildContext context,
required IconData icon,
required String title,
required String subtitle,
required VoidCallback onTap,
}) {
final colorScheme = Theme.of(context).colorScheme;
return ListTile(
leading: Container(
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
color: colorScheme.primaryContainer,
borderRadius: BorderRadius.circular(8),
),
child: Icon(
icon,
color: colorScheme.onPrimaryContainer,
),
),
title: Text(
title,
style: Theme.of(context).textTheme.titleMedium,
),
subtitle: Text(
subtitle,
style: TextStyle(color: colorScheme.onSurfaceVariant),
),
trailing: Icon(
Icons.chevron_right,
color: colorScheme.onSurfaceVariant,
),
onTap: onTap,
);
}
}