프로필 상점 준비중 타일 텍스트 오버플로우 수정 + 관리자 테마 반영
카테고리 타일 내부 패딩/간격을 줄이고 제목·부제목에 ellipsis를 줘서 "준비중" 텍스트가 타일 밖으로 삐져나오던 문제를 해결. 관리자 계정도 백엔드에서 템플릿을 무료로 쓸 수 있게 된 것에 맞춰, 메인 대시보드 프로필 카드의 장착 테마 반영을 관리자 계정에도 적용한다.
This commit is contained in:
@@ -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),
|
||||||
|
|||||||
@@ -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]),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user