2025-08-20 15:15:20 +07:00
|
|
|
import 'package:cashumit/screens/config_screen.dart';
|
|
|
|
|
import 'package:cashumit/screens/transaction_screen.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:cashumit/screens/receipt_screen.dart';
|
2025-11-08 12:15:38 +07:00
|
|
|
import 'package:cashumit/screens/local_receipts_screen.dart';
|
2025-08-24 13:49:16 +07:00
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
import 'package:cashumit/providers/receipt_provider.dart';
|
2025-08-20 15:15:20 +07:00
|
|
|
|
2025-08-23 19:47:43 +07:00
|
|
|
void main() async {
|
|
|
|
|
// Ensure WidgetsFlutterBinding is initialized for async operations
|
|
|
|
|
WidgetsFlutterBinding.ensureInitialized();
|
2025-11-08 12:15:38 +07:00
|
|
|
|
2025-08-24 13:49:16 +07:00
|
|
|
runApp(
|
|
|
|
|
MultiProvider(
|
|
|
|
|
providers: [
|
|
|
|
|
ChangeNotifierProvider(create: (_) => ReceiptProvider()),
|
|
|
|
|
],
|
|
|
|
|
child: const MyApp(),
|
|
|
|
|
),
|
|
|
|
|
);
|
2025-08-20 15:15:20 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class MyApp extends StatelessWidget {
|
|
|
|
|
const MyApp({super.key});
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return MaterialApp(
|
|
|
|
|
title: 'Cashumit',
|
|
|
|
|
theme: ThemeData(
|
|
|
|
|
primarySwatch: Colors.blue,
|
|
|
|
|
visualDensity: VisualDensity.adaptivePlatformDensity,
|
|
|
|
|
),
|
|
|
|
|
initialRoute: '/',
|
|
|
|
|
routes: {
|
|
|
|
|
'/': (context) => const ReceiptScreen(),
|
2025-12-27 15:45:41 +07:00
|
|
|
'/receipt': (context) => const ReceiptScreen(),
|
2025-08-20 15:15:20 +07:00
|
|
|
'/transaction': (context) => const TransactionScreen(),
|
|
|
|
|
'/config': (context) => const ConfigScreen(),
|
2025-11-08 12:15:38 +07:00
|
|
|
'/local-receipts': (context) => const LocalReceiptsScreen(),
|
2025-08-20 15:15:20 +07:00
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
2025-11-08 12:15:38 +07:00
|
|
|
}
|