diff --git a/lib/ui/profile_customize_screen.dart b/lib/ui/profile_customize_screen.dart index 2931030..b7ca056 100644 --- a/lib/ui/profile_customize_screen.dart +++ b/lib/ui/profile_customize_screen.dart @@ -136,7 +136,7 @@ class _ProfileCustomizeScreenState extends State { foregroundColor: AppPalette.ink, elevation: 0, centerTitle: true, - title: const TitlePill('프로필 꾸미기'), + title: TitlePill('프로필 꾸미기', previewTheme: _displayTheme), ), body: ListenableBuilder( listenable: _controller, @@ -233,6 +233,7 @@ class _ProfileCustomizeScreenState extends State { selected: false, enabled: false, onTap: null, + theme: _displayTheme, ), ), const SizedBox(height: 12), @@ -244,6 +245,7 @@ class _ProfileCustomizeScreenState extends State { selected: false, enabled: false, onTap: null, + theme: _displayTheme, ), ), ], @@ -301,6 +303,8 @@ class _CategoryTile extends StatelessWidget { // 👀 미리보기 중인 테마 색상 - selected일 때만 의미가 있다 (기본 프로필 타일 전용). final Color? previewPrimary; final Color? previewSecondary; + // 🚧 "준비중" 비활성 타일의 은은한 틴트용 - 커스텀창의 체험하기 미리보기를 따라간다. + final ProfileTheme? theme; const _CategoryTile({ required this.title, @@ -311,6 +315,7 @@ class _CategoryTile extends StatelessWidget { required this.onTap, this.previewPrimary, this.previewSecondary, + this.theme, }); @override @@ -321,7 +326,9 @@ class _CategoryTile extends StatelessWidget { ? Colors.transparent : (selected ? AppPalette.ink - : (enabled ? AppPalette.paper : AppPalette.linen)), + : (enabled + ? AppPalette.paper + : (theme?.surfaceAlt ?? AppPalette.linen))), borderRadius: BorderRadius.circular(20), child: InkWell( borderRadius: BorderRadius.circular(20), @@ -340,7 +347,9 @@ class _CategoryTile extends StatelessWidget { border: Border.all( color: hasPreview ? previewSecondary! - : (selected ? AppPalette.ink : AppPalette.sage), + : (selected + ? AppPalette.ink + : (theme?.border ?? AppPalette.sage)), width: hasPreview ? 2 : 1, ), ), diff --git a/lib/ui/title_pill.dart b/lib/ui/title_pill.dart index 80df533..5bb598c 100644 --- a/lib/ui/title_pill.dart +++ b/lib/ui/title_pill.dart @@ -4,18 +4,24 @@ // 공유하는 위젯이라 여기 하나만 고치면 모든 화면의 제목 배경이 한번에 바뀐다. import 'package:flutter/material.dart'; import '../theme/app_palette.dart'; +import '../theme/profile_themes.dart'; import '../theme/theme_sync.dart'; class TitlePill extends StatelessWidget { final String text; - const TitlePill(this.text, {super.key}); + /// 🎨 프로필 꾸미기 화면의 "체험하기" 미리보기처럼, 이 화면 안에서만 임시로 + /// 보여줄 테마가 있을 때 넘긴다. 넘기면 전역 장착 테마보다 이게 우선한다. + final ProfileTheme? previewTheme; + + const TitlePill(this.text, {super.key, this.previewTheme}); @override Widget build(BuildContext context) { return ValueListenableBuilder( valueListenable: globalProfileTheme, - builder: (context, theme, _) { + builder: (context, globalTheme, _) { + final theme = previewTheme ?? globalTheme; return Padding( padding: const EdgeInsets.only(top: 8), child: Container(