선생님 호출/반출 신청 화면의 검정 아이콘·버튼을 테마 강조색으로 변경
teacher_call_screen: 방문목적 선택 칩, 선생님 선택 타일, 호출하기 버튼, 섹션 제목 강조바, 선생님 상태 아이콘(수업중 아닐 때)이 전부 AppPalette.ink로 고정돼 있어서 테마를 적용해도 검정으로 남아있었다. globalProfileTheme의 accent를 쓰도록 변경. device_checkout_request_screen: "시작 시각"/"종료 시각" OutlinedButton이 스타일 지정이 아예 없어서 기본 색(검정 계열)으로 나오던 것도 같이 테마 강조색으로 맞췄다.
This commit is contained in:
@@ -122,6 +122,16 @@ class _DeviceCheckoutRequestScreenState
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: OutlinedButton.icon(
|
child: OutlinedButton.icon(
|
||||||
onPressed: _pickStartTime,
|
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),
|
icon: const Icon(Icons.play_arrow_rounded),
|
||||||
label: Text(
|
label: Text(
|
||||||
_startTime == null
|
_startTime == null
|
||||||
@@ -134,6 +144,16 @@ class _DeviceCheckoutRequestScreenState
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: OutlinedButton.icon(
|
child: OutlinedButton.icon(
|
||||||
onPressed: _pickEndTime,
|
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),
|
icon: const Icon(Icons.stop_rounded),
|
||||||
label: Text(
|
label: Text(
|
||||||
_endTime == null
|
_endTime == null
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
|
|||||||
import '../data/teacher_call_schedule.dart';
|
import '../data/teacher_call_schedule.dart';
|
||||||
import '../function/teacher_call_controller.dart';
|
import '../function/teacher_call_controller.dart';
|
||||||
import '../theme/app_palette.dart';
|
import '../theme/app_palette.dart';
|
||||||
|
import '../theme/theme_sync.dart';
|
||||||
import 'app_notice.dart';
|
import 'app_notice.dart';
|
||||||
import 'title_pill.dart';
|
import 'title_pill.dart';
|
||||||
|
|
||||||
@@ -30,6 +31,9 @@ class _TeacherCallScreenState extends State<TeacherCallScreen> {
|
|||||||
final _customPurposeController = TextEditingController();
|
final _customPurposeController = TextEditingController();
|
||||||
bool _useCustomPurpose = false;
|
bool _useCustomPurpose = false;
|
||||||
|
|
||||||
|
// 🛍️ 장착한 템플릿의 강조색 - 선택된 칩/버튼처럼 "중립" 요소에만 쓴다.
|
||||||
|
Color get _accentColor => globalProfileTheme.value?.accent ?? AppPalette.ink;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -150,7 +154,7 @@ class _TeacherCallScreenState extends State<TeacherCallScreen> {
|
|||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
backgroundColor: _selectedTeacherId == null
|
backgroundColor: _selectedTeacherId == null
|
||||||
? Colors.grey
|
? Colors.grey
|
||||||
: AppPalette.ink,
|
: _accentColor,
|
||||||
foregroundColor: AppPalette.paper,
|
foregroundColor: AppPalette.paper,
|
||||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
padding: const EdgeInsets.symmetric(vertical: 16),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
@@ -226,7 +230,7 @@ class _TeacherCallScreenState extends State<TeacherCallScreen> {
|
|||||||
width: 4,
|
width: 4,
|
||||||
height: 16,
|
height: 16,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: AppPalette.ink,
|
color: _accentColor,
|
||||||
borderRadius: BorderRadius.circular(2),
|
borderRadius: BorderRadius.circular(2),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -318,11 +322,9 @@ class _TeacherCallScreenState extends State<TeacherCallScreen> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 16),
|
padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 16),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: selected ? AppPalette.ink : AppPalette.paper,
|
color: selected ? _accentColor : AppPalette.paper,
|
||||||
borderRadius: BorderRadius.circular(28),
|
borderRadius: BorderRadius.circular(28),
|
||||||
border: Border.all(
|
border: Border.all(color: selected ? _accentColor : AppPalette.sage),
|
||||||
color: selected ? AppPalette.ink : AppPalette.sage,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
child: Text(
|
child: Text(
|
||||||
label,
|
label,
|
||||||
@@ -376,7 +378,7 @@ class _TeacherCallScreenState extends State<TeacherCallScreen> {
|
|||||||
final location = t['location'] ?? '교무실';
|
final location = t['location'] ?? '교무실';
|
||||||
final isSelected = _selectedTeacherId == t['teacherId'];
|
final isSelected = _selectedTeacherId == t['teacherId'];
|
||||||
final inClass = _controller.isInClassNow(name);
|
final inClass = _controller.isInClassNow(name);
|
||||||
final statusColor = inClass ? AppPalette.warning : AppPalette.ink;
|
final statusColor = inClass ? AppPalette.warning : _accentColor;
|
||||||
|
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () => setState(() {
|
onTap: () => setState(() {
|
||||||
@@ -386,10 +388,10 @@ class _TeacherCallScreenState extends State<TeacherCallScreen> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
padding: const EdgeInsets.all(12),
|
padding: const EdgeInsets.all(12),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: isSelected ? AppPalette.ink : AppPalette.paper,
|
color: isSelected ? _accentColor : AppPalette.paper,
|
||||||
borderRadius: BorderRadius.circular(20),
|
borderRadius: BorderRadius.circular(20),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: isSelected ? AppPalette.ink : AppPalette.sage,
|
color: isSelected ? _accentColor : AppPalette.sage,
|
||||||
),
|
),
|
||||||
boxShadow: [
|
boxShadow: [
|
||||||
BoxShadow(
|
BoxShadow(
|
||||||
|
|||||||
Reference in New Issue
Block a user