import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

Future<void> 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'),
            ),
          ],
        ),
      ),
    );
  }
}
