// main.dart - アプリのエントリーポイント(データベース初期化) // ※ 簡素版のため、一部の画面を除外しています import 'package:flutter/material.dart'; import 'screens/sales_screen.dart'; import 'screens/home_screen.dart'; import 'services/database_helper.dart' as db; // import 'screens/estimate_screen.dart'; // 除外中(DatabaseHelper に不足メソッドあり) import 'screens/master/product_master_screen.dart'; import 'screens/master/customer_master_screen.dart'; import 'screens/master/supplier_master_screen.dart'; import 'screens/master/employee_master_screen.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); // データベース初期化(エラーが発生してもアプリは起動) try { await db.DatabaseHelper.init(); } catch (e) { print('[Main] Database initialization warning: $e'); } runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: '販売管理システム', theme: ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue), useMaterial3: true), home: const HomeScreen(), // ダッシュボード表示 onGenerateRoute: (settings) { switch (settings.name) { case '/estimate': // 除外中(DatabaseHelper に不足メソッドあり) return null; case '/inventory': // TODO: 実装中(在庫管理画面未実装) return null; case '/master/product': return MaterialPageRoute(builder: (_) => const ProductMasterScreen()); case '/master/customer': return MaterialPageRoute(builder: (_) => const CustomerMasterScreen()); case '/master/supplier': return MaterialPageRoute(builder: (_) => const SupplierMasterScreen()); case '/master/warehouse': // 倉庫マスタは簡素版のため一時除外 return null; case '/master/employee': return MaterialPageRoute(builder: (_) => const EmployeeMasterScreen()); case '/sales': return MaterialPageRoute(builder: (_) => const SalesScreen()); default: return null; } }, ); } }