Files
2025-05-12 19:08:22 +03:00

47 lines
2.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart'; // Для kIsWeb
// import 'package:drift/wasm.dart'; // <-- Удалить этот импорт
import 'app.dart'; // Import the new app root widget
import 'database/database.dart'; // Import the database
Future<void> main() async {
// Необходимо для асинхронных операций перед runApp, например, инициализации БД
WidgetsFlutterBinding.ensureInitialized();
// --- Удалить весь этот блок ---
// // Инициализация WASM-модуля SQLite для веб-платформы
// if (kIsWeb) {
// print("Running on Web, attempting to initialize sqlite3.wasm...");
// // Указываем Drift, где найти файл sqlite3.wasm.
// // WasmDatabase.resolveFile попытается найти его автоматически (обычно в корне /sqlite3.wasm).
// final result = await WasmDatabase.resolveFile('sqlite3.wasm'); // <-- Ошибка здесь
//
// if (result.isSuccessful) {
// print("sqlite3.wasm loaded successfully.");
// } else {
// // Если файл не найден или произошла ошибка загрузки
// print("Error loading sqlite3.wasm: ${result.errorMessage}");
// // Здесь можно предпринять действия, если загрузка не удалась,
// // например, показать сообщение об ошибке пользователю или использовать
// // альтернативное хранилище. Пока просто выводим ошибку в консоль.
// // Приложение может не работать корректно без базы данных.
// }
// } else {
// print("Running on Native platform, skipping WASM initialization.");
// }
// --- Конец удаляемого блока ---
// Создаем единственный экземпляр базы данных для всего приложения
// WebDatabase (вызываемый через connect() на вебе) должен сам справиться с WASM
final database = AppDatabase();
// Опционально: Вставляем начальные данные, если база данных пуста
// Это полезно для первого запуска или демонстрации
// Делаем это после создания экземпляра БД
await database.insertInitialDataIfNeeded();
// Запускаем приложение, передавая экземпляр базы данных
runApp(MyApp(database: database));
}