제목 알약 폰트 통일 + 위치 조정, 좁은 폼 너비, 메인 타일 확대
- TitlePill을 String 기반으로 바꿔서 모든 화면(설정/교사 회원가입/관리자 시스템/NFC 태그 쓰기·체크인/학생 관리/스마트기기 반출 신청·대장/실시간 출석 현황)이 완전히 같은 폰트(굵게, 15px, 흰색)를 쓰게 통일 - 알약이 화면 맨 위에 딱 붙어 보이지 않도록 위쪽에 8px 여백 추가 - "스마트기기 반출 신청" 폼과 "관리자 시스템"의 "모든 출석 데이터 초기화" 버튼이 넓은 화면에서 양옆으로 과하게 늘어지던 문제 수정 - 최대 폭 420px로 제한하고 가운데 정렬 (기존 대비 약 1/3 크기) - 메인 대시보드 타일 목표 크기를 184 → 276(50% 확대)로 키우고, 아이콘/ 패딩/폰트 기준값도 함께 올려서 제목 10→12pt, 부제 8→10pt로 확대 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+46
-42
@@ -78,9 +78,7 @@ class _AdminDashboardState extends State<AdminDashboard> {
|
||||
foregroundColor: AppPalette.ink,
|
||||
elevation: 0,
|
||||
centerTitle: true,
|
||||
title: const TitlePill(
|
||||
child: Text('관리자 시스템', style: TextStyle(color: Colors.white)),
|
||||
),
|
||||
title: const TitlePill('관리자 시스템'),
|
||||
actions: [
|
||||
IconButton(
|
||||
icon: const Icon(Icons.logout),
|
||||
@@ -94,50 +92,56 @@ class _AdminDashboardState extends State<AdminDashboard> {
|
||||
body: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(24.0),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
const Icon(
|
||||
Icons.admin_panel_settings,
|
||||
size: 100,
|
||||
color: AppPalette.ink,
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
const Text(
|
||||
'데이터베이스 관리',
|
||||
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),
|
||||
),
|
||||
const SizedBox(height: 40),
|
||||
child: ConstrainedBox(
|
||||
constraints: const BoxConstraints(maxWidth: 420),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
const Icon(
|
||||
Icons.admin_panel_settings,
|
||||
size: 100,
|
||||
color: AppPalette.ink,
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
const Text(
|
||||
'데이터베이스 관리',
|
||||
style: TextStyle(
|
||||
fontSize: 22,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 40),
|
||||
|
||||
_controller.isLoading
|
||||
? const CircularProgressIndicator(color: Colors.red)
|
||||
: SizedBox(
|
||||
width: double.infinity,
|
||||
height: 60,
|
||||
child: ElevatedButton.icon(
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: Colors.red[50],
|
||||
foregroundColor: Colors.red,
|
||||
side: const BorderSide(
|
||||
color: Colors.red,
|
||||
width: 2,
|
||||
_controller.isLoading
|
||||
? const CircularProgressIndicator(color: Colors.red)
|
||||
: SizedBox(
|
||||
width: double.infinity,
|
||||
height: 60,
|
||||
child: ElevatedButton.icon(
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: Colors.red[50],
|
||||
foregroundColor: Colors.red,
|
||||
side: const BorderSide(
|
||||
color: Colors.red,
|
||||
width: 2,
|
||||
),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
icon: const Icon(Icons.delete_forever, size: 28),
|
||||
label: const Text(
|
||||
'모든 출석 데이터 초기화',
|
||||
style: TextStyle(
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
onPressed: _showResetConfirmDialog,
|
||||
),
|
||||
icon: const Icon(Icons.delete_forever, size: 28),
|
||||
label: const Text(
|
||||
'모든 출석 데이터 초기화',
|
||||
style: TextStyle(
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
onPressed: _showResetConfirmDialog,
|
||||
),
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user