import "package:flutter/material.dart"; import "package:flutter/services.dart"; import "services/push_service.dart"; import "webview_screen.dart"; const navy = Color(0xFF03143F); Future main() async { WidgetsFlutterBinding.ensureInitialized(); // Edge-to-edge: 시스템바 뒤까지 그려 WebView가 전체 화면을 차지하게 한다. 그래야 // 웹의 env(safe-area-inset-*) (viewport-fit=cover)가 실제 노치/홈인디케이터 값을 // 받아 헤더/푸터 여백이 정확해진다. SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); // 상태바: 투명 + 밝은 아이콘. 하단 내비게이션바도 투명(웹 탭바가 그 위에 안착). SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.light, statusBarBrightness: Brightness.dark, systemNavigationBarColor: Colors.transparent, systemNavigationBarIconBrightness: Brightness.dark, )); await PushService.instance.init(); // Firebase 미설정이면 비활성으로 진행 runApp(const SpinApp()); } class SpinApp extends StatelessWidget { const SpinApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: "spin", debugShowCheckedModeBanner: false, theme: ThemeData( useMaterial3: true, colorSchemeSeed: navy, scaffoldBackgroundColor: navy, ), home: const WebViewScreen(), ); } }