선생님 호출/반출 신청 화면의 검정 아이콘·버튼을 테마 강조색으로 변경

teacher_call_screen: 방문목적 선택 칩, 선생님 선택 타일, 호출하기 버튼,
섹션 제목 강조바, 선생님 상태 아이콘(수업중 아닐 때)이 전부 AppPalette.ink로
고정돼 있어서 테마를 적용해도 검정으로 남아있었다. globalProfileTheme의
accent를 쓰도록 변경.

device_checkout_request_screen: "시작 시각"/"종료 시각" OutlinedButton이
스타일 지정이 아예 없어서 기본 색(검정 계열)으로 나오던 것도 같이 테마
강조색으로 맞췄다.
This commit is contained in:
2026-10-01 23:24:11 +00:00
parent 7e7585fa8f
commit 2a5b0a8b32
2 changed files with 31 additions and 9 deletions
+11 -9
View File
@@ -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<TeacherCallScreen> {
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<TeacherCallScreen> {
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<TeacherCallScreen> {
width: 4,
height: 16,
decoration: BoxDecoration(
color: AppPalette.ink,
color: _accentColor,
borderRadius: BorderRadius.circular(2),
),
),
@@ -318,11 +322,9 @@ class _TeacherCallScreenState extends State<TeacherCallScreen> {
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<TeacherCallScreen> {
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<TeacherCallScreen> {
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(