선생님 호출/반출 신청 화면의 검정 아이콘·버튼을 테마 강조색으로 변경
teacher_call_screen: 방문목적 선택 칩, 선생님 선택 타일, 호출하기 버튼, 섹션 제목 강조바, 선생님 상태 아이콘(수업중 아닐 때)이 전부 AppPalette.ink로 고정돼 있어서 테마를 적용해도 검정으로 남아있었다. globalProfileTheme의 accent를 쓰도록 변경. device_checkout_request_screen: "시작 시각"/"종료 시각" OutlinedButton이 스타일 지정이 아예 없어서 기본 색(검정 계열)으로 나오던 것도 같이 테마 강조색으로 맞췄다.
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user