반출/백판/출석 달력/친구/그룹 스터디 검정 버튼을 테마 강조색으로 변경

각 화면의 주요 CTA 버튼(ElevatedButton/FloatingActionButton)이 고정 색
AppPalette.ink로 칠해져 있어서, 다른 화면들처럼 테마를 적용해도 버튼만
계속 검정색으로 남아있었다. globalProfileTheme.value?.accent로 교체해서
장착한 템플릿의 강조색을 따라가게 했다. AppBar 아이콘 색(foregroundColor)과
danger/warning 등 의미 있는 색은 그대로 둔다.
This commit is contained in:
2026-10-01 07:17:11 +00:00
parent f6be60ef46
commit 12780eb3af
8 changed files with 48 additions and 17 deletions
+3 -1
View File
@@ -6,6 +6,7 @@ import 'package:http/http.dart' as http;
import '../config.dart'; import '../config.dart';
import '../function/board_list_controller.dart'; import '../function/board_list_controller.dart';
import '../theme/app_palette.dart'; import '../theme/app_palette.dart';
import '../theme/theme_sync.dart';
import 'board_post_detail_screen.dart'; import 'board_post_detail_screen.dart';
import 'board_report_screen.dart'; import 'board_report_screen.dart';
import 'board_write_screen.dart'; import 'board_write_screen.dart';
@@ -149,7 +150,8 @@ class _BoardHomeScreenState extends State<BoardHomeScreen>
floatingActionButton: _tabController == null floatingActionButton: _tabController == null
? null ? null
: FloatingActionButton( : FloatingActionButton(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
onPressed: _openWrite, onPressed: _openWrite,
child: const Icon(Icons.edit_rounded), child: const Icon(Icons.edit_rounded),
+3 -1
View File
@@ -3,6 +3,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../function/board_post_controller.dart'; import '../function/board_post_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';
@@ -101,7 +102,8 @@ class _BoardPostDetailScreenState extends State<BoardPostDetailScreen> {
const SizedBox(height: 14), const SizedBox(height: 14),
ElevatedButton( ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
padding: const EdgeInsets.symmetric(vertical: 14), padding: const EdgeInsets.symmetric(vertical: 14),
), ),
+6 -2
View File
@@ -3,6 +3,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../function/device_checkout_ledger_controller.dart'; import '../function/device_checkout_ledger_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';
@@ -79,7 +80,8 @@ class _DeviceCheckoutLedgerPageState extends State<DeviceCheckoutLedgerPage> {
ElevatedButton( ElevatedButton(
autofocus: true, autofocus: true,
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () async { onPressed: () async {
@@ -191,7 +193,9 @@ class _DeviceCheckoutLedgerPageState extends State<DeviceCheckoutLedgerPage> {
_approve(r['id']); _approve(r['id']);
}, },
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ??
AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
child: const Text('승인'), child: const Text('승인'),
+4 -1
View File
@@ -3,6 +3,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../function/device_checkout_controller.dart'; import '../function/device_checkout_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';
@@ -163,7 +164,9 @@ class _DeviceCheckoutRequestScreenState
? null ? null
: _submit, : _submit,
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ??
AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
+7 -3
View File
@@ -3,6 +3,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../function/friend_controller.dart'; import '../function/friend_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';
@@ -63,7 +64,8 @@ class _FriendsScreenState extends State<FriendsScreen> {
), ),
ElevatedButton( ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () => Navigator.pop(dialogContext, true), onPressed: () => Navigator.pop(dialogContext, true),
@@ -159,7 +161,7 @@ class _FriendsScreenState extends State<FriendsScreen> {
elevation: 0, elevation: 0,
), ),
floatingActionButton: FloatingActionButton.extended( floatingActionButton: FloatingActionButton.extended(
backgroundColor: AppPalette.ink, backgroundColor: globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
onPressed: _showAddFriendDialog, onPressed: _showAddFriendDialog,
icon: const Icon(Icons.person_add_rounded), icon: const Icon(Icons.person_add_rounded),
@@ -217,7 +219,9 @@ class _FriendsScreenState extends State<FriendsScreen> {
), ),
ElevatedButton( ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ??
AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () => onPressed: () =>
+10 -4
View File
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import '../function/friend_controller.dart'; import '../function/friend_controller.dart';
import '../function/group_detail_controller.dart'; import '../function/group_detail_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 'launchpad_transition.dart'; import 'launchpad_transition.dart';
import 'study_timer_screen.dart'; import 'study_timer_screen.dart';
@@ -106,7 +107,9 @@ class _GroupDetailScreenState extends State<GroupDetailScreen> {
subtitle: Text('${f['studentId']}'), subtitle: Text('${f['studentId']}'),
trailing: ElevatedButton( trailing: ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ??
AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () async { onPressed: () async {
@@ -160,7 +163,8 @@ class _GroupDetailScreenState extends State<GroupDetailScreen> {
ElevatedButton( ElevatedButton(
autofocus: true, autofocus: true,
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () => Navigator.pop(dialogContext, true), onPressed: () => Navigator.pop(dialogContext, true),
@@ -289,7 +293,7 @@ class _GroupDetailScreenState extends State<GroupDetailScreen> {
], ],
), ),
floatingActionButton: FloatingActionButton.extended( floatingActionButton: FloatingActionButton.extended(
backgroundColor: AppPalette.ink, backgroundColor: globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
onPressed: _showInviteSheet, onPressed: _showInviteSheet,
icon: const Icon(Icons.person_add_rounded), icon: const Icon(Icons.person_add_rounded),
@@ -400,7 +404,9 @@ class _GroupDetailScreenState extends State<GroupDetailScreen> {
), ),
ElevatedButton( ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ??
AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () => _respondJoinRequest( onPressed: () => _respondJoinRequest(
+12 -4
View File
@@ -3,6 +3,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../function/group_controller.dart'; import '../function/group_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 'group_detail_screen.dart'; import 'group_detail_screen.dart';
import 'launchpad_transition.dart'; import 'launchpad_transition.dart';
@@ -86,7 +87,8 @@ class _GroupListScreenState extends State<GroupListScreen> {
), ),
ElevatedButton( ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () => Navigator.pop(dialogContext, true), onPressed: () => Navigator.pop(dialogContext, true),
@@ -183,7 +185,7 @@ class _GroupListScreenState extends State<GroupListScreen> {
elevation: 0, elevation: 0,
), ),
floatingActionButton: FloatingActionButton.extended( floatingActionButton: FloatingActionButton.extended(
backgroundColor: AppPalette.ink, backgroundColor: globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
onPressed: _showCreateGroupDialog, onPressed: _showCreateGroupDialog,
icon: const Icon(Icons.add_rounded), icon: const Icon(Icons.add_rounded),
@@ -241,7 +243,9 @@ class _GroupListScreenState extends State<GroupListScreen> {
), ),
ElevatedButton( ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ??
AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () => _respondInvite( onPressed: () => _respondInvite(
@@ -447,7 +451,11 @@ class _GroupListScreenState extends State<GroupListScreen> {
else else
ElevatedButton( ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme
.value
?.accent ??
AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () => onPressed: () =>
+3 -1
View File
@@ -4,6 +4,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../function/study_calendar_controller.dart'; import '../function/study_calendar_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';
@@ -153,7 +154,8 @@ class _StudyCalendarScreenState extends State<StudyCalendarScreen> {
Expanded( Expanded(
child: ElevatedButton( child: ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppPalette.ink, backgroundColor:
globalProfileTheme.value?.accent ?? AppPalette.ink,
foregroundColor: AppPalette.paper, foregroundColor: AppPalette.paper,
), ),
onPressed: () async { onPressed: () async {