From bdc79b94c3af816a708bbc7885e84770dc4b1376 Mon Sep 17 00:00:00 2001 From: sihoo Date: Fri, 18 Sep 2026 06:28:50 +0000 Subject: [PATCH] =?UTF-8?q?=EC=84=A0=EC=83=9D=EB=8B=98=20=ED=98=B8?= =?UTF-8?q?=EC=B6=9C=20=ED=99=94=EB=A9=B4=20=EC=9D=B4=EB=AA=A8=ED=8B=B0?= =?UTF-8?q?=EC=BD=98=EC=9D=84=20=EA=B2=80=EC=A0=95=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=EC=BD=98=EC=9C=BC=EB=A1=9C=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 위치 이모티콘(🏢🍴🧪 등)을 Material 아이콘으로, 랭킹 메달 이모티콘을 백품타 랭킹 화면과 같은 금/은/동 색 emoji_events 아이콘으로 교체. Co-Authored-By: Claude Sonnet 5 --- lib/data/teacher_call_schedule.dart | 20 +++++++------- lib/ui/teacher_call_screen.dart | 41 ++++++++++++++++++++++------- lib/ui/teacher_location_screen.dart | 36 ++++++++++++++++++------- 3 files changed, 68 insertions(+), 29 deletions(-) diff --git a/lib/data/teacher_call_schedule.dart b/lib/data/teacher_call_schedule.dart index ff490be..97bb979 100644 --- a/lib/data/teacher_call_schedule.dart +++ b/lib/data/teacher_call_schedule.dart @@ -1,3 +1,5 @@ +import 'package:flutter/material.dart'; + // 📅 선생님 호출 화면에서 "지금 수업 중" 배지를 보여주기 위한 시간표 데이터. // 원래 별도 Firebase 페이지(index.html)에 있던 데이터를 그대로 옮기면서, // "김지" 약어가 실제로는 조신현 선생님을 가리키던 오타를 "조신"으로 바로잡았다. @@ -101,15 +103,15 @@ List teachersInClassNow(int weekday, String hhmm) { return abbrevs.map((a) => kTeacherAbbrevMap[a]).whereType().toList(); } -const Map kLocationIcons = { - "교무실": "🏢", - "급식실": "🍴", - "과학실": "🧪", - "도서관": "📖", - "출장": "🚗", - "조퇴/퇴근": "🏠", - "상담실": "💬", - "기숙사": "🏨", +const Map kLocationIcons = { + "교무실": Icons.business_rounded, + "급식실": Icons.restaurant_rounded, + "과학실": Icons.science_rounded, + "도서관": Icons.menu_book_rounded, + "출장": Icons.directions_car_rounded, + "조퇴/퇴근": Icons.home_rounded, + "상담실": Icons.forum_rounded, + "기숙사": Icons.hotel_rounded, }; const List kLocationOptions = [ diff --git a/lib/ui/teacher_call_screen.dart b/lib/ui/teacher_call_screen.dart index aee8ecd..ccd8713 100644 --- a/lib/ui/teacher_call_screen.dart +++ b/lib/ui/teacher_call_screen.dart @@ -239,8 +239,13 @@ class _TeacherCallScreenState extends State { ); } + static const List _medalColors = [ + Color(0xFFC9A227), // 금 + Color(0xFF9AA0A6), // 은 + Color(0xFFB07A4B), // 동 + ]; + Widget _buildRanking() { - final medals = ['🥇', '🥈', '🥉']; return Container( padding: const EdgeInsets.all(14), decoration: BoxDecoration( @@ -272,7 +277,11 @@ class _TeacherCallScreenState extends State { for (var i = 0; i < _controller.ranking.length; i++) Column( children: [ - Text(medals[i], style: const TextStyle(fontSize: 22)), + Icon( + Icons.emoji_events_rounded, + color: _medalColors[i], + size: 22, + ), Text( _controller.ranking[i]['teacherName'] ?? '', style: const TextStyle(fontWeight: FontWeight.bold), @@ -436,14 +445,26 @@ class _TeacherCallScreenState extends State { ), ), const SizedBox(height: 2), - Text( - '${kLocationIcons[location] ?? '📍'} $location', - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 11, - color: isSelected ? Colors.white70 : Colors.grey[500], - ), + Row( + children: [ + Icon( + kLocationIcons[location] ?? Icons.location_on_rounded, + size: 12, + color: isSelected ? Colors.white70 : Colors.grey[500], + ), + const SizedBox(width: 3), + Expanded( + child: Text( + location, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 11, + color: isSelected ? Colors.white70 : Colors.grey[500], + ), + ), + ), + ], ), ], ), diff --git a/lib/ui/teacher_location_screen.dart b/lib/ui/teacher_location_screen.dart index eec89a9..a7a4763 100644 --- a/lib/ui/teacher_location_screen.dart +++ b/lib/ui/teacher_location_screen.dart @@ -112,13 +112,25 @@ class _TeacherLocationScreenState extends State { ), ), const SizedBox(height: 6), - Text( - '${kLocationIcons[_controller.currentLocation] ?? '📍'} ${_controller.currentLocation}', - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 20, - color: Colors.white, - ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + kLocationIcons[_controller.currentLocation] ?? + Icons.location_on_rounded, + color: Colors.white, + size: 20, + ), + const SizedBox(width: 8), + Text( + _controller.currentLocation, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 20, + color: Colors.white, + ), + ), + ], ), ], ), @@ -177,9 +189,13 @@ class _TeacherLocationScreenState extends State { : AppPalette.linen, shape: BoxShape.circle, ), - child: Text( - kLocationIcons[loc] ?? '📍', - style: const TextStyle(fontSize: 16), + child: Icon( + kLocationIcons[loc] ?? + Icons.location_on_rounded, + size: 16, + color: isSelected + ? Colors.white + : AppPalette.ink, ), ), const SizedBox(height: 6),