h-1.flutter.4/lib/main.dart

63 lines
No EOL
2.3 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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;
}
},
);
}
}