앱 전체 MaterialApp의 ThemeData가 여전히 primarySwatch: Colors.indigo 였던 게 진짜 원인이었음 — 개별 화면 색은 고쳤지만, 기본 위젯 스타일 (포커스 안 된 텍스트필드 밑줄, FilterChip 선택 색 등)은 전부 이 전역 테마를 그대로 따라가고 있어서 여전히 예전 색으로 보였음. ColorScheme을 AppPalette 기준으로 재구성해 해결. 추가로 팔레트 작업에서 빠졌던 화면들도 마무리: - teacher_register_screen.dart (교사 회원가입) - nfc_tag_writer_screen.dart (NFC 태그 쓰기) - change_password_screen.dart (미사용이지만 일관성을 위해 정리) - teacher_attendance_page.dart의 주머니 번호 칩 색상 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
51 lines
1.7 KiB
Dart
51 lines
1.7 KiB
Dart
// 🚪 앱 진입점. Firebase/백그라운드 감시 서비스 초기화 후 로그인 화면으로 시작한다.
|
|
// 실제 화면 구현은 lib/screens/ 폴더, 공통 설정은 lib/config.dart 참고.
|
|
import 'dart:io';
|
|
import 'package:flutter/foundation.dart' show kIsWeb;
|
|
import 'package:flutter/material.dart';
|
|
import 'package:firebase_core/firebase_core.dart';
|
|
import 'firebase_options.dart';
|
|
import 'config.dart';
|
|
import 'pocket_watch_service.dart';
|
|
import 'theme/app_palette.dart';
|
|
import 'ui/login_screen.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
|
|
await printFCMToken();
|
|
if (!kIsWeb && Platform.isAndroid) {
|
|
await initializePocketWatchService();
|
|
}
|
|
runApp(const SchoolAttendanceApp());
|
|
}
|
|
|
|
class SchoolAttendanceApp extends StatelessWidget {
|
|
const SchoolAttendanceApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
debugShowCheckedModeBanner: false,
|
|
title: '$schoolName 학생 도우미',
|
|
theme: ThemeData(
|
|
useMaterial3: true,
|
|
scaffoldBackgroundColor: AppPalette.mist,
|
|
colorScheme:
|
|
ColorScheme.fromSeed(
|
|
seedColor: AppPalette.ink,
|
|
brightness: Brightness.light,
|
|
).copyWith(
|
|
primary: AppPalette.ink,
|
|
onPrimary: AppPalette.paper,
|
|
secondary: AppPalette.ink,
|
|
onSecondary: AppPalette.paper,
|
|
surface: AppPalette.paper,
|
|
onSurface: AppPalette.ink,
|
|
),
|
|
),
|
|
home: const LoginScreen(), // 🚪 앱을 켜면 무조건 로그인 화면이 먼저 등장합니다.
|
|
);
|
|
}
|
|
}
|