프로필 상점 준비중 타일 텍스트 오버플로우 수정 + 관리자 테마 반영

카테고리 타일 내부 패딩/간격을 줄이고 제목·부제목에 ellipsis를 줘서
"준비중" 텍스트가 타일 밖으로 삐져나오던 문제를 해결. 관리자 계정도
백엔드에서 템플릿을 무료로 쓸 수 있게 된 것에 맞춰, 메인 대시보드
프로필 카드의 장착 테마 반영을 관리자 계정에도 적용한다.
This commit is contained in:
2026-10-01 04:03:47 +00:00
parent a4a7b5be48
commit a29efe77ad
2 changed files with 14 additions and 9 deletions
+2 -2
View File
@@ -80,7 +80,7 @@ class _MainDashboardState extends State<MainDashboard> {
if (kTileEditingEnabled) { if (kTileEditingEnabled) {
_layout.load(_tileSpecs().map((t) => t.id).toList()); _layout.load(_tileSpecs().map((t) => t.id).toList());
} }
if (_isStudent) { if (_isStudent || _isAdmin) {
_loadEquippedTheme(); _loadEquippedTheme();
} }
} }
@@ -753,7 +753,7 @@ class _MainDashboardState extends State<MainDashboard> {
), ),
); );
// 상점에서 테마를 바꾸고 돌아왔을 수 있으니 다시 불러온다. // 상점에서 테마를 바꾸고 돌아왔을 수 있으니 다시 불러온다.
if (_isStudent) _loadEquippedTheme(); if (_isStudent || _isAdmin) _loadEquippedTheme();
}, },
child: const Padding( child: const Padding(
padding: EdgeInsets.all(8), padding: EdgeInsets.all(8),
+12 -7
View File
@@ -141,7 +141,7 @@ class _ProfileCustomizeScreenState extends State<ProfileCustomizeScreen> {
// 📏 ListView(스크롤 영역) 안에서는 높이가 정해져 있지 않아 Row에 // 📏 ListView(스크롤 영역) 안에서는 높이가 정해져 있지 않아 Row에
// stretch 정렬만 주면 자식 크기 계산이 깨진다. SizedBox로 높이를 못박아둔다. // stretch 정렬만 주면 자식 크기 계산이 깨진다. SizedBox로 높이를 못박아둔다.
return SizedBox( return SizedBox(
height: 180, height: 210,
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch, crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ children: [
@@ -247,7 +247,7 @@ class _CategoryTile extends StatelessWidget {
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(20),
onTap: onTap, onTap: onTap,
child: Container( child: Container(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 10),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(20),
border: Border.all( border: Border.all(
@@ -257,30 +257,35 @@ class _CategoryTile extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [ children: [
Icon( Icon(
icon, icon,
size: 26, size: 22,
color: selected color: selected
? Colors.white ? Colors.white
: (enabled ? AppPalette.ink : Colors.grey), : (enabled ? AppPalette.ink : Colors.grey),
), ),
const SizedBox(height: 10), const SizedBox(height: 8),
Text( Text(
title, title,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 14, fontSize: 13,
color: selected color: selected
? Colors.white ? Colors.white
: (enabled ? AppPalette.ink : Colors.grey[600]), : (enabled ? AppPalette.ink : Colors.grey[600]),
), ),
), ),
if (subtitle != null) ...[ if (subtitle != null) ...[
const SizedBox(height: 4), const SizedBox(height: 2),
Text( Text(
subtitle!, subtitle!,
style: TextStyle(fontSize: 11, color: Colors.grey[500]), maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: 10, color: Colors.grey[500]),
), ),
], ],
], ],