From 2a5b0a8b321bb1876688644c03112d0bb840ce04 Mon Sep 17 00:00:00 2001 From: sihoo Date: Thu, 1 Oct 2026 23:24:11 +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/=EB=B0=98=EC=B6=9C=20=EC=8B=A0=EC=B2=AD=20=ED=99=94?= =?UTF-8?q?=EB=A9=B4=EC=9D=98=20=EA=B2=80=EC=A0=95=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=EC=BD=98=C2=B7=EB=B2=84=ED=8A=BC=EC=9D=84=20=ED=85=8C=EB=A7=88?= =?UTF-8?q?=20=EA=B0=95=EC=A1=B0=EC=83=89=EC=9C=BC=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit teacher_call_screen: 방문목적 선택 칩, 선생님 선택 타일, 호출하기 버튼, 섹션 제목 강조바, 선생님 상태 아이콘(수업중 아닐 때)이 전부 AppPalette.ink로 고정돼 있어서 테마를 적용해도 검정으로 남아있었다. globalProfileTheme의 accent를 쓰도록 변경. device_checkout_request_screen: "시작 시각"/"종료 시각" OutlinedButton이 스타일 지정이 아예 없어서 기본 색(검정 계열)으로 나오던 것도 같이 테마 강조색으로 맞췄다. --- lib/ui/device_checkout_request_screen.dart | 20 ++++++++++++++++++++ lib/ui/teacher_call_screen.dart | 20 +++++++++++--------- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/lib/ui/device_checkout_request_screen.dart b/lib/ui/device_checkout_request_screen.dart index ec8e8e2..11257e2 100644 --- a/lib/ui/device_checkout_request_screen.dart +++ b/lib/ui/device_checkout_request_screen.dart @@ -122,6 +122,16 @@ class _DeviceCheckoutRequestScreenState Expanded( child: OutlinedButton.icon( onPressed: _pickStartTime, + style: OutlinedButton.styleFrom( + foregroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, + side: BorderSide( + color: + globalProfileTheme.value?.accent ?? + AppPalette.ink, + ), + ), icon: const Icon(Icons.play_arrow_rounded), label: Text( _startTime == null @@ -134,6 +144,16 @@ class _DeviceCheckoutRequestScreenState Expanded( child: OutlinedButton.icon( onPressed: _pickEndTime, + style: OutlinedButton.styleFrom( + foregroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, + side: BorderSide( + color: + globalProfileTheme.value?.accent ?? + AppPalette.ink, + ), + ), icon: const Icon(Icons.stop_rounded), label: Text( _endTime == null diff --git a/lib/ui/teacher_call_screen.dart b/lib/ui/teacher_call_screen.dart index 221899b..3b82bb6 100644 --- a/lib/ui/teacher_call_screen.dart +++ b/lib/ui/teacher_call_screen.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; import '../data/teacher_call_schedule.dart'; import '../function/teacher_call_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'title_pill.dart'; @@ -30,6 +31,9 @@ class _TeacherCallScreenState extends State { final _customPurposeController = TextEditingController(); bool _useCustomPurpose = false; + // 🛍️ 장착한 템플릿의 강조색 - 선택된 칩/버튼처럼 "중립" 요소에만 쓴다. + Color get _accentColor => globalProfileTheme.value?.accent ?? AppPalette.ink; + @override void initState() { super.initState(); @@ -150,7 +154,7 @@ class _TeacherCallScreenState extends State { style: ElevatedButton.styleFrom( backgroundColor: _selectedTeacherId == null ? Colors.grey - : AppPalette.ink, + : _accentColor, foregroundColor: AppPalette.paper, padding: const EdgeInsets.symmetric(vertical: 16), shape: RoundedRectangleBorder( @@ -226,7 +230,7 @@ class _TeacherCallScreenState extends State { width: 4, height: 16, decoration: BoxDecoration( - color: AppPalette.ink, + color: _accentColor, borderRadius: BorderRadius.circular(2), ), ), @@ -318,11 +322,9 @@ class _TeacherCallScreenState extends State { child: Container( padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 16), decoration: BoxDecoration( - color: selected ? AppPalette.ink : AppPalette.paper, + color: selected ? _accentColor : AppPalette.paper, borderRadius: BorderRadius.circular(28), - border: Border.all( - color: selected ? AppPalette.ink : AppPalette.sage, - ), + border: Border.all(color: selected ? _accentColor : AppPalette.sage), ), child: Text( label, @@ -376,7 +378,7 @@ class _TeacherCallScreenState extends State { final location = t['location'] ?? '교무실'; final isSelected = _selectedTeacherId == t['teacherId']; final inClass = _controller.isInClassNow(name); - final statusColor = inClass ? AppPalette.warning : AppPalette.ink; + final statusColor = inClass ? AppPalette.warning : _accentColor; return GestureDetector( onTap: () => setState(() { @@ -386,10 +388,10 @@ class _TeacherCallScreenState extends State { child: Container( padding: const EdgeInsets.all(12), decoration: BoxDecoration( - color: isSelected ? AppPalette.ink : AppPalette.paper, + color: isSelected ? _accentColor : AppPalette.paper, borderRadius: BorderRadius.circular(20), border: Border.all( - color: isSelected ? AppPalette.ink : AppPalette.sage, + color: isSelected ? _accentColor : AppPalette.sage, ), boxShadow: [ BoxShadow(