학생 목록 타일 크기 약 1/4로 축소
타일이 너무 크다는 피드백에 따라 crossAxisCount를 늘리고(8/4) 아바타, 폰트, 버튼 크기를 전반적으로 줄여 훨씬 컴팩트한 타일로 변경. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -545,15 +545,12 @@ class _TeacherStudentManagementPageState
|
||||
final bool needsReset = student['device'] == '초기화 필요';
|
||||
|
||||
return Container(
|
||||
padding: const EdgeInsets.all(14),
|
||||
padding: const EdgeInsets.all(8),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
borderRadius: BorderRadius.circular(14),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withValues(alpha: 0.04),
|
||||
blurRadius: 12,
|
||||
),
|
||||
BoxShadow(color: Colors.black.withValues(alpha: 0.04), blurRadius: 8),
|
||||
],
|
||||
),
|
||||
child: Column(
|
||||
@@ -561,43 +558,47 @@ class _TeacherStudentManagementPageState
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
CircleAvatar(
|
||||
radius: 24,
|
||||
radius: 14,
|
||||
backgroundColor: needsReset ? Colors.red[50] : Colors.blue[50],
|
||||
child: Icon(
|
||||
needsReset ? Icons.lock_reset : Icons.person,
|
||||
size: 14,
|
||||
color: needsReset ? Colors.red : Colors.blue,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
'$studentName ($studentId)',
|
||||
textAlign: TextAlign.center,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 13),
|
||||
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 10),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
const SizedBox(height: 1),
|
||||
Text(
|
||||
needsReset ? '초기화 대기중' : '정상 등록',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 11,
|
||||
fontSize: 8,
|
||||
color: needsReset ? Colors.red : Colors.grey,
|
||||
fontWeight: needsReset ? FontWeight.bold : FontWeight.normal,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
const SizedBox(height: 4),
|
||||
Wrap(
|
||||
alignment: WrapAlignment.center,
|
||||
spacing: 2,
|
||||
runSpacing: 2,
|
||||
spacing: 0,
|
||||
runSpacing: 0,
|
||||
children: [
|
||||
Builder(
|
||||
builder: (chipContext) => ActionChip(
|
||||
visualDensity: VisualDensity.compact,
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||
padding: EdgeInsets.zero,
|
||||
labelPadding: const EdgeInsets.symmetric(horizontal: 4),
|
||||
label: Text(
|
||||
grade != null ? '$grade학년' : '미배정',
|
||||
style: const TextStyle(fontSize: 11),
|
||||
style: const TextStyle(fontSize: 8),
|
||||
),
|
||||
onPressed: () => _showGradeMenu(
|
||||
chipContext,
|
||||
@@ -608,23 +609,25 @@ class _TeacherStudentManagementPageState
|
||||
),
|
||||
),
|
||||
IconButton(
|
||||
visualDensity: VisualDensity.compact,
|
||||
icon: const Icon(
|
||||
Icons.lock_reset,
|
||||
color: Colors.purple,
|
||||
size: 20,
|
||||
size: 14,
|
||||
),
|
||||
tooltip: '기기 리셋',
|
||||
padding: EdgeInsets.zero,
|
||||
constraints: const BoxConstraints(minWidth: 22, minHeight: 22),
|
||||
onPressed: () => _confirmResetDevice(studentId, studentName),
|
||||
),
|
||||
IconButton(
|
||||
visualDensity: VisualDensity.compact,
|
||||
icon: const Icon(
|
||||
Icons.delete_forever_rounded,
|
||||
color: Colors.redAccent,
|
||||
size: 20,
|
||||
size: 14,
|
||||
),
|
||||
tooltip: '계정 영구 삭제',
|
||||
padding: EdgeInsets.zero,
|
||||
constraints: const BoxConstraints(minWidth: 22, minHeight: 22),
|
||||
onPressed: () => _confirmDeleteStudent(studentId, studentName),
|
||||
),
|
||||
],
|
||||
@@ -759,10 +762,10 @@ class _TeacherStudentManagementPageState
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
gridDelegate:
|
||||
SliverGridDelegateWithFixedCrossAxisCount(
|
||||
crossAxisCount: isWide ? 4 : 2,
|
||||
crossAxisSpacing: 16,
|
||||
mainAxisSpacing: 16,
|
||||
childAspectRatio: isWide ? 1.5 : 0.75,
|
||||
crossAxisCount: isWide ? 8 : 4,
|
||||
crossAxisSpacing: 10,
|
||||
mainAxisSpacing: 10,
|
||||
childAspectRatio: isWide ? 1.4 : 0.9,
|
||||
),
|
||||
itemCount: _controller.students.length,
|
||||
itemBuilder: (context, index) =>
|
||||
|
||||
Reference in New Issue
Block a user