import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:responsive_framework/responsive_framework.dart'; import '../core/router/app_router.dart'; import 'app_providers.dart'; import 'theme/app_theme.dart'; /// 앱 루트 위젯 class App extends ConsumerWidget { const App({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final router = ref.watch(appRouterProvider); final themeMode = ref.watch(themeModeNotifierProvider); return MaterialApp.router( title: 'Flutter Frame', debugShowCheckedModeBanner: false, theme: AppTheme.light, darkTheme: AppTheme.dark, themeMode: themeMode, routerConfig: router, builder: (context, child) => ResponsiveBreakpoints.builder( child: child!, breakpoints: const [ Breakpoint(start: 0, end: 450, name: MOBILE), Breakpoint(start: 451, end: 800, name: TABLET), Breakpoint(start: 801, end: 1920, name: DESKTOP), Breakpoint(start: 1921, end: double.infinity, name: '4K'), ], ), ); } }