import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:telegram_web_app/telegram_web_app.dart'; import 'app.dart'; import 'di/app_scope/app_scope_holder.dart'; /// Global scaffold messenger key for showing snackbars from anywhere final scaffoldMessengerKey = GlobalKey(); void main() async { WidgetsFlutterBinding.ensureInitialized(); // Telegram Web App integration if (TelegramWebApp.instance.isSupported) { TelegramWebApp.instance.ready(); await Future.delayed(const Duration(seconds: 1)); TelegramWebApp.instance.disableVerticalSwipes(); } // Настройка логирования ошибок FlutterError.onError = (details) { log( 'Flutter error', error: details.exception, stackTrace: details.stack, name: 'main', ); }; // Создание AppScope (с асинхронной инициализацией внутри) final appScopeHolder = AppScopeHolder(); appScopeHolder.create(); log('App initialized successfully', name: 'main'); runApp( ScreenUtilInit( designSize: const Size(600, 800), minTextAdapt: true, splitScreenMode: true, builder: (context, child) { return App(appScopeHolder: appScopeHolder); }, ), ); }