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

카테고리 타일 내부 패딩/간격을 줄이고 제목·부제목에 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) {
_layout.load(_tileSpecs().map((t) => t.id).toList());
}
if (_isStudent) {
if (_isStudent || _isAdmin) {
_loadEquippedTheme();
}
}
@@ -753,7 +753,7 @@ class _MainDashboardState extends State<MainDashboard> {
),
);
// 상점에서 테마를 바꾸고 돌아왔을 수 있으니 다시 불러온다.
if (_isStudent) _loadEquippedTheme();
if (_isStudent || _isAdmin) _loadEquippedTheme();
},
child: const Padding(
padding: EdgeInsets.all(8),
+12 -7
View File
@@ -141,7 +141,7 @@ class _ProfileCustomizeScreenState extends State<ProfileCustomizeScreen> {
// 📏 ListView(스크롤 영역) 안에서는 높이가 정해져 있지 않아 Row에
// stretch 정렬만 주면 자식 크기 계산이 깨진다. SizedBox로 높이를 못박아둔다.
return SizedBox(
height: 180,
height: 210,
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
@@ -247,7 +247,7 @@ class _CategoryTile extends StatelessWidget {
borderRadius: BorderRadius.circular(20),
onTap: onTap,
child: Container(
padding: const EdgeInsets.all(16),
padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
border: Border.all(
@@ -257,30 +257,35 @@ class _CategoryTile extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
Icon(
icon,
size: 26,
size: 22,
color: selected
? Colors.white
: (enabled ? AppPalette.ink : Colors.grey),
),
const SizedBox(height: 10),
const SizedBox(height: 8),
Text(
title,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
fontSize: 13,
color: selected
? Colors.white
: (enabled ? AppPalette.ink : Colors.grey[600]),
),
),
if (subtitle != null) ...[
const SizedBox(height: 4),
const SizedBox(height: 2),
Text(
subtitle!,
style: TextStyle(fontSize: 11, color: Colors.grey[500]),
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: 10, color: Colors.grey[500]),
),
],
],