import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; Future main() async { // dotenv 로드 — .env 파일이 없으면 기본값으로 동작 WidgetsFlutterBinding.ensureInitialized(); try { await dotenv.load(fileName: '.env'); } catch (_) { // .env 파일이 없는 경우 무시 (기본값 사용) } runApp( // Riverpod Provider Scope 적용 const ProviderScope( child: MyApp(), ), ); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'TMA App', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const HomeView(), ); } } class HomeView extends StatelessWidget { const HomeView({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('TMA Global Architecture'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Text('Riverpod & Dio Interceptor Setup Complete.'), const SizedBox(height: 16), ElevatedButton( onPressed: () { // 테스트 용 임시 스낵바 알림 호출 (User-Friendly Error UI) ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('에러 발생 시 보여질 Toast 예시입니다.')), ); }, child: const Text('Show Global Alert Test'), ), ], ), ), ); } }