import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:tma_app/app.dart'; import 'package:tma_app/core/storage/preferences_provider.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); // dotenv 로드 — .env 파일이 없으면 기본값으로 동작 try { await dotenv.load(fileName: '.env'); } catch (_) { // .env 파일이 없는 경우 무시 (기본값 사용) } // 시안은 세로 화면 전용이다 await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); // 진입 화면 결정에 필요한 저장값을 첫 프레임 전에 읽어 둔다 final prefs = await SharedPreferences.getInstance(); runApp( ProviderScope( overrides: [sharedPreferencesProvider.overrideWithValue(prefs)], child: const RupApp(), ), ); }