화면 하단 여백 · 로그아웃 진행 · 스낵바 강조색 · TODAY'S QUEST 관리자 퀘스트 3개

This commit is contained in:
Sn-Kinos
2026-10-06 02:29:09 +09:00
parent 82662b9b9f
commit 64825e72b0
17 changed files with 104 additions and 67 deletions
+9 -2
View File
@@ -19,6 +19,7 @@ import 'pop_history_screen.dart';
import 'push_settings_screen.dart';
import 'support_screens.dart';
import 'widgets/my_cards.dart';
import '../../core/ui/bottom_inset.dart';
/// 설정 — 화면 대조 원장 F6 · Figma `354:222008`.
///
@@ -93,7 +94,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
return Scaffold(
appBar: AppBar(title: Text(l10n.settingsTitle)),
body: ListView(
padding: const EdgeInsets.fromLTRB(16, 16, 16, 0),
padding: withBottomInset(context, const EdgeInsets.fromLTRB(16, 16, 16, 0)),
children: [
MyGroup(
title: l10n.settingsAccount,
@@ -220,8 +221,14 @@ class _SettingsScreenState extends State<SettingsScreen> {
action: l10n.settingsLogout,
// 푸시 정리를 **먼저** 한다. 보안 규칙이 `users/{uid}` 쓰기를
// `isSelf(uid)` 로 막아, 로그아웃 뒤에는 이 기기 토큰을 지울 수 없다.
// 정리가 실패해도(토픽 해제 · 토큰 쓰기 네트워크 오류) 로그아웃은 한다 — 예외가
// 그대로 올라가면 signOut 이 돌지 않아 첫 탭이 무시된 것처럼 보인다(10/6 실기기 1회).
onConfirm: () async {
await widget.push?.clearOnSignOut();
try {
await widget.push?.clearOnSignOut();
} on Object catch (error) {
debugPrint('[Settings] push cleanup failed: ${error.runtimeType}');
}
await widget.auth?.signOut();
},
),