diff --git a/lib/config.dart b/lib/config.dart index 864bfc0..80c8de9 100644 --- a/lib/config.dart +++ b/lib/config.dart @@ -5,13 +5,28 @@ import 'package:device_info_plus/device_info_plus.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/foundation.dart' show kIsWeb; -// ๐ŸŒ ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜์‹œ๋˜ ์‹ค์ œ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋กœ ํ†ต์ผํ•ฉ๋‹ˆ๋‹ค. -const String baseUrl = 'https://backsanhi.mcv.kr'; +// ๐ŸŒ ํ•™๊ต๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’๋“ค. ๋นŒ๋“œํ•  ๋•Œ --dart-define์œผ๋กœ ์•ˆ ๋„˜๊ธฐ๋ฉด ์ง€๊ธˆ ์“ฐ๋Š” +// ๋ฐฑ์‚ฐ๊ณ  ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ๊ธฐ๋ณธ๊ฐ’์ด ๋œ๋‹ค (๊ธฐ์กด ๋นŒ๋“œ ๋ช…๋ น์ด ์•ˆ ๊นจ์ง€๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ). +// ์˜ˆ: flutter build web --dart-define=BASE_URL=https://๋‹ค๋ฅธํ•™๊ต๋„๋ฉ”์ธ.com +const String baseUrl = String.fromEnvironment( + 'BASE_URL', + defaultValue: 'https://backsanhi.mcv.kr', +); // ๐Ÿ”‘ ์›น์—์„œ FCM ํ† ํฐ์„ ๋ฐ›์œผ๋ ค๋ฉด ํ•„์š”ํ•œ VAPID ํ‚ค // (Firebase Console > ํ”„๋กœ์ ํŠธ ์„ค์ • > Cloud Messaging > ์›น ๊ตฌ์„ฑ > ์›น ํ‘ธ์‹œ ์ธ์ฆ์„œ์—์„œ ๋ฐœ๊ธ‰) -const String webVapidKey = - 'BG4LnirukBdW3cXVWxhvY9pcjevBKDhpsaq1SLZdBs2cOEiwLAFyuuZLkMqpEGp9uOuHdPOe_y3FdwdZaz3qdfk'; +// ํ•™๊ต๋งˆ๋‹ค Firebase ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ VAPID ํ‚ค๋„ ํ•™๊ต๋ณ„๋กœ --dart-define=WEB_VAPID_KEY=...๋กœ ์ง€์ •. +const String webVapidKey = String.fromEnvironment( + 'WEB_VAPID_KEY', + defaultValue: + 'BG4LnirukBdW3cXVWxhvY9pcjevBKDhpsaq1SLZdBs2cOEiwLAFyuuZLkMqpEGp9uOuHdPOe_y3FdwdZaz3qdfk', +); + +// ๐Ÿซ ์•ฑ/๋กœ๊ทธ์ธ ํ™”๋ฉด์— ํ‘œ์‹œํ•  ํ•™๊ต ์ด๋ฆ„. --dart-define=SCHOOL_NAME=...์œผ๋กœ ํ•™๊ต๋ณ„ ์ง€์ •. +const String schoolName = String.fromEnvironment( + 'SCHOOL_NAME', + defaultValue: '๋ฐฑ์‚ฐ๊ณ ๋“ฑํ•™๊ต', +); // ๊ถŒํ•œ ์š”์ฒญ ๋ฐ FCM ํ† ํฐ์„ ๊ฐ€์ ธ์™€์„œ ์ฝ˜์†”์— ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜ Future printFCMToken() async { diff --git a/lib/main_client_app.dart b/lib/main_client_app.dart index 98240bf..d7045a4 100644 --- a/lib/main_client_app.dart +++ b/lib/main_client_app.dart @@ -26,7 +26,7 @@ class SchoolAttendanceApp extends StatelessWidget { Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, - title: '๋ฐฑ์‚ฐ๊ณ ๋“ฑํ•™๊ต ํ•™์ƒ ๋„์šฐ๋ฏธ', + title: '$schoolName ํ•™์ƒ ๋„์šฐ๋ฏธ', theme: ThemeData(primarySwatch: Colors.indigo, useMaterial3: true), home: const LoginScreen(), // ๐Ÿšช ์•ฑ์„ ์ผœ๋ฉด ๋ฌด์กฐ๊ฑด ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ๋จผ์ € ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ); diff --git a/lib/ui/login_screen.dart b/lib/ui/login_screen.dart index ba9901d..6e08425 100644 --- a/lib/ui/login_screen.dart +++ b/lib/ui/login_screen.dart @@ -1,6 +1,7 @@ // ๐Ÿ”‘ ๋กœ๊ทธ์ธ ํ™”๋ฉด (UI ์ „์šฉ). ์ž…๋ ฅํผ/๋‹ค์ด์–ผ๋กœ๊ทธ/ํ™”๋ฉด ์ด๋™๋งŒ ๋‹ด๋‹นํ•œ๋‹ค. // ์ธ์ฆ ๋กœ์ง/์„œ๋ฒ„ ํ†ต์‹ ์€ lib/function/login_controller.dart๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค. import 'package:flutter/material.dart'; +import '../config.dart' show schoolName; import '../function/login_controller.dart'; import 'student_dashboard.dart'; import 'teacher_dashboard.dart'; @@ -310,9 +311,9 @@ class _LoginScreenState extends State { children: [ const Icon(Icons.school, size: 80, color: Colors.indigo), const SizedBox(height: 16), - const Text( - '๋ฐฑ์‚ฐ๊ณ ๋“ฑํ•™๊ต ๋ชจ๋‹ˆํ„ฐ', - style: TextStyle( + Text( + '$schoolName ๋ชจ๋‹ˆํ„ฐ', + style: const TextStyle( fontSize: 26, fontWeight: FontWeight.bold, color: Colors.indigo,