- 폰처럼 작은 화면에서 6칸 고정 격자 때문에 레이아웃이 깨지는 문제로, 타일 드래그 이동/크기조절 기능을 kTileEditingEnabled 플래그로 임시 비활성화 (관련 코드는 그대로 유지 - 작은 화면 대응 방안 마련 후 플래그만 켜면 재사용 가능) - 비활성화 상태에서는 화면 폭에 따라 열이 자동으로 줄어드는 기본 그리드 사용 - 설정 화면의 "UI 편집" 항목은 비활성화 표시로 안내 - 로그인 화면에 "로그인 상태 유지" 체크박스 추가 (기본 체크됨, 해제 시 세션 저장 안 함) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
61 lines
2.2 KiB
Dart
61 lines
2.2 KiB
Dart
// ⚙️ 대시보드 설정 화면 (UI 전용). 지금은 "UI 편집" 진입점 하나만 있다.
|
|
// "UI 편집"을 누르면 이 화면을 pop('edit_ui')로 닫고, 대시보드가 그 결과를 받아 편집 모드로 들어간다.
|
|
import 'package:flutter/material.dart';
|
|
import '../models/dashboard_tile_layout.dart';
|
|
import '../theme/app_palette.dart';
|
|
|
|
class DashboardSettingsPage extends StatelessWidget {
|
|
const DashboardSettingsPage({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
backgroundColor: AppPalette.mist,
|
|
appBar: AppBar(
|
|
title: const Text('설정'),
|
|
backgroundColor: AppPalette.ink,
|
|
foregroundColor: AppPalette.paper,
|
|
elevation: 0,
|
|
),
|
|
body: ListView(
|
|
padding: const EdgeInsets.all(16),
|
|
children: [
|
|
Container(
|
|
decoration: BoxDecoration(
|
|
color: AppPalette.paper,
|
|
borderRadius: BorderRadius.circular(16),
|
|
border: Border.all(color: AppPalette.sage),
|
|
),
|
|
child: ListTile(
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(16),
|
|
),
|
|
enabled: kTileEditingEnabled,
|
|
leading: const Icon(
|
|
Icons.grid_view_rounded,
|
|
color: AppPalette.ink,
|
|
),
|
|
title: const Text(
|
|
'UI 편집',
|
|
style: TextStyle(fontWeight: FontWeight.bold),
|
|
),
|
|
// 📱 [기능 보류] 작은 화면에서 레이아웃이 깨지는 문제로 잠시 막아둠.
|
|
subtitle: Text(
|
|
kTileEditingEnabled
|
|
? '타일을 드래그해서 옮기고 크기를 바꿀 수 있어요.'
|
|
: '작은 화면 대응을 준비 중이라 잠시 사용할 수 없어요.',
|
|
),
|
|
trailing: kTileEditingEnabled
|
|
? const Icon(Icons.chevron_right_rounded)
|
|
: null,
|
|
onTap: kTileEditingEnabled
|
|
? () => Navigator.pop(context, 'edit_ui')
|
|
: null,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|