하단 내비게이션 바 여백 · 인증 칩 · 위치 선택 지도 · 퀘스트 상세 값 정렬

This commit is contained in:
Sn-Kinos
2026-10-06 01:32:25 +09:00
parent d441170dd7
commit 807e446b8b
8 changed files with 263 additions and 96 deletions
+47 -28
View File
@@ -73,10 +73,57 @@ class _TermsScreenState extends State<TermsScreen> {
void _toggle(_Term t) =>
setState(() => _agreed.contains(t) ? _agreed.remove(t) : _agreed.add(t));
Widget _termsButtons(BuildContext context) {
final shape = RoundedRectangleBorder(
borderRadius: BorderRadius.circular(AppRadius.sm),
);
return Row(
children: [
Expanded(
child: FilledButton(
onPressed: widget.onBack ?? () => Navigator.of(context).pop(),
style: FilledButton.styleFrom(
minimumSize: const Size.fromHeight(56),
shape: shape,
side: const BorderSide(color: _stroke),
backgroundColor: Colors.black,
foregroundColor: AppColors.onCosmic,
),
child: Text(context.l10n.commonPrev),
),
),
const SizedBox(width: 10),
Expanded(
child: FilledButton(
onPressed: _ready ? _done : null,
style: FilledButton.styleFrom(
minimumSize: const Size.fromHeight(56),
shape: shape,
side: const BorderSide(color: _stroke),
backgroundColor: AppColors.cosmicAccent,
foregroundColor: AppColors.onCosmicAccent,
disabledBackgroundColor: const Color(0xFF333333),
disabledForegroundColor: const Color(0xFF777777),
),
child: Text(context.l10n.commonDone),
),
),
],
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(context.l10n.termsTitle)),
// Figma `179:24230` — 「이전 · 완료」는 목록 끝이 아니라 화면 하단 고정(56 높이 · 간격 10 · 아래 16).
// 시스템 내비게이션 바 위로 올린다(SafeArea) — 10/6 실기기에서 첫 탭이 바에 먹혔다.
bottomNavigationBar: SafeArea(
child: Padding(
padding: const EdgeInsets.all(AppSpace.s4),
child: _termsButtons(context),
),
),
body: ListView(
padding: const EdgeInsets.all(AppSpace.s4),
children: [
@@ -137,34 +184,6 @@ class _TermsScreenState extends State<TermsScreen> {
),
),
],
const SizedBox(height: AppSpace.s6),
Row(
children: [
Expanded(
child: FilledButton(
onPressed: widget.onBack ?? () => Navigator.of(context).pop(),
style: FilledButton.styleFrom(
backgroundColor: Colors.black,
foregroundColor: AppColors.onCosmic,
),
child: Text(context.l10n.commonPrev),
),
),
const SizedBox(width: 10),
Expanded(
child: FilledButton(
onPressed: _ready ? _done : null,
style: FilledButton.styleFrom(
backgroundColor: AppColors.cosmicAccent,
foregroundColor: AppColors.onCosmicAccent,
disabledBackgroundColor: const Color(0xFF333333),
disabledForegroundColor: const Color(0xFF777777),
),
child: Text(context.l10n.commonDone),
),
),
],
),
],
),
);