From 12780eb3afa086e31b314f447cfe1493317a8d8b Mon Sep 17 00:00:00 2001 From: sihoo Date: Thu, 1 Oct 2026 07:17:11 +0000 Subject: [PATCH] =?UTF-8?q?=EB=B0=98=EC=B6=9C/=EB=B0=B1=ED=8C=90/=EC=B6=9C?= =?UTF-8?q?=EC=84=9D=20=EB=8B=AC=EB=A0=A5/=EC=B9=9C=EA=B5=AC/=EA=B7=B8?= =?UTF-8?q?=EB=A3=B9=20=EC=8A=A4=ED=84=B0=EB=94=94=20=EA=B2=80=EC=A0=95=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=EC=9D=84=20=ED=85=8C=EB=A7=88=20=EA=B0=95?= =?UTF-8?q?=EC=A1=B0=EC=83=89=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 각 화면의 주요 CTA 버튼(ElevatedButton/FloatingActionButton)이 고정 색 AppPalette.ink로 칠해져 있어서, 다른 화면들처럼 테마를 적용해도 버튼만 계속 검정색으로 남아있었다. globalProfileTheme.value?.accent로 교체해서 장착한 템플릿의 강조색을 따라가게 했다. AppBar 아이콘 색(foregroundColor)과 danger/warning 등 의미 있는 색은 그대로 둔다. --- lib/ui/board_home_screen.dart | 4 +++- lib/ui/board_post_detail_screen.dart | 4 +++- lib/ui/device_checkout_ledger_page.dart | 8 ++++++-- lib/ui/device_checkout_request_screen.dart | 5 ++++- lib/ui/friends_screen.dart | 10 +++++++--- lib/ui/group_detail_screen.dart | 14 ++++++++++---- lib/ui/group_list_screen.dart | 16 ++++++++++++---- lib/ui/study_calendar_screen.dart | 4 +++- 8 files changed, 48 insertions(+), 17 deletions(-) diff --git a/lib/ui/board_home_screen.dart b/lib/ui/board_home_screen.dart index 1822247..83ef2ba 100644 --- a/lib/ui/board_home_screen.dart +++ b/lib/ui/board_home_screen.dart @@ -6,6 +6,7 @@ import 'package:http/http.dart' as http; import '../config.dart'; import '../function/board_list_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'board_post_detail_screen.dart'; import 'board_report_screen.dart'; import 'board_write_screen.dart'; @@ -149,7 +150,8 @@ class _BoardHomeScreenState extends State floatingActionButton: _tabController == null ? null : FloatingActionButton( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, onPressed: _openWrite, child: const Icon(Icons.edit_rounded), diff --git a/lib/ui/board_post_detail_screen.dart b/lib/ui/board_post_detail_screen.dart index 4af2953..40ecc9e 100644 --- a/lib/ui/board_post_detail_screen.dart +++ b/lib/ui/board_post_detail_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import '../function/board_post_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'title_pill.dart'; @@ -101,7 +102,8 @@ class _BoardPostDetailScreenState extends State { const SizedBox(height: 14), ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, padding: const EdgeInsets.symmetric(vertical: 14), ), diff --git a/lib/ui/device_checkout_ledger_page.dart b/lib/ui/device_checkout_ledger_page.dart index f8f18cf..7c7f471 100644 --- a/lib/ui/device_checkout_ledger_page.dart +++ b/lib/ui/device_checkout_ledger_page.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import '../function/device_checkout_ledger_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'title_pill.dart'; @@ -79,7 +80,8 @@ class _DeviceCheckoutLedgerPageState extends State { ElevatedButton( autofocus: true, style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () async { @@ -191,7 +193,9 @@ class _DeviceCheckoutLedgerPageState extends State { _approve(r['id']); }, style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, foregroundColor: AppPalette.paper, ), child: const Text('승인'), diff --git a/lib/ui/device_checkout_request_screen.dart b/lib/ui/device_checkout_request_screen.dart index ad0614e..ec8e8e2 100644 --- a/lib/ui/device_checkout_request_screen.dart +++ b/lib/ui/device_checkout_request_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import '../function/device_checkout_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'title_pill.dart'; @@ -163,7 +164,9 @@ class _DeviceCheckoutRequestScreenState ? null : _submit, style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, foregroundColor: AppPalette.paper, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), diff --git a/lib/ui/friends_screen.dart b/lib/ui/friends_screen.dart index 4850169..bfac50a 100644 --- a/lib/ui/friends_screen.dart +++ b/lib/ui/friends_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import '../function/friend_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'title_pill.dart'; @@ -63,7 +64,8 @@ class _FriendsScreenState extends State { ), ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () => Navigator.pop(dialogContext, true), @@ -159,7 +161,7 @@ class _FriendsScreenState extends State { elevation: 0, ), floatingActionButton: FloatingActionButton.extended( - backgroundColor: AppPalette.ink, + backgroundColor: globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, onPressed: _showAddFriendDialog, icon: const Icon(Icons.person_add_rounded), @@ -217,7 +219,9 @@ class _FriendsScreenState extends State { ), ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () => diff --git a/lib/ui/group_detail_screen.dart b/lib/ui/group_detail_screen.dart index b4b14a1..3a12161 100644 --- a/lib/ui/group_detail_screen.dart +++ b/lib/ui/group_detail_screen.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import '../function/friend_controller.dart'; import '../function/group_detail_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'launchpad_transition.dart'; import 'study_timer_screen.dart'; @@ -106,7 +107,9 @@ class _GroupDetailScreenState extends State { subtitle: Text('${f['studentId']}'), trailing: ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () async { @@ -160,7 +163,8 @@ class _GroupDetailScreenState extends State { ElevatedButton( autofocus: true, style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () => Navigator.pop(dialogContext, true), @@ -289,7 +293,7 @@ class _GroupDetailScreenState extends State { ], ), floatingActionButton: FloatingActionButton.extended( - backgroundColor: AppPalette.ink, + backgroundColor: globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, onPressed: _showInviteSheet, icon: const Icon(Icons.person_add_rounded), @@ -400,7 +404,9 @@ class _GroupDetailScreenState extends State { ), ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () => _respondJoinRequest( diff --git a/lib/ui/group_list_screen.dart b/lib/ui/group_list_screen.dart index ea46fb7..91a77fe 100644 --- a/lib/ui/group_list_screen.dart +++ b/lib/ui/group_list_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import '../function/group_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'group_detail_screen.dart'; import 'launchpad_transition.dart'; @@ -86,7 +87,8 @@ class _GroupListScreenState extends State { ), ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () => Navigator.pop(dialogContext, true), @@ -183,7 +185,7 @@ class _GroupListScreenState extends State { elevation: 0, ), floatingActionButton: FloatingActionButton.extended( - backgroundColor: AppPalette.ink, + backgroundColor: globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, onPressed: _showCreateGroupDialog, icon: const Icon(Icons.add_rounded), @@ -241,7 +243,9 @@ class _GroupListScreenState extends State { ), ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? + AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () => _respondInvite( @@ -447,7 +451,11 @@ class _GroupListScreenState extends State { else ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme + .value + ?.accent ?? + AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () => diff --git a/lib/ui/study_calendar_screen.dart b/lib/ui/study_calendar_screen.dart index 4fb54df..aefa5bd 100644 --- a/lib/ui/study_calendar_screen.dart +++ b/lib/ui/study_calendar_screen.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import '../function/study_calendar_controller.dart'; import '../theme/app_palette.dart'; +import '../theme/theme_sync.dart'; import 'app_notice.dart'; import 'title_pill.dart'; @@ -153,7 +154,8 @@ class _StudyCalendarScreenState extends State { Expanded( child: ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AppPalette.ink, + backgroundColor: + globalProfileTheme.value?.accent ?? AppPalette.ink, foregroundColor: AppPalette.paper, ), onPressed: () async {