From ecf5998725b9f39cb3af61ed687116aeaccff74f Mon Sep 17 00:00:00 2001 From: Sn-Kinos Date: Tue, 6 Oct 2026 03:03:20 +0900 Subject: [PATCH] =?UTF-8?q?Figma=20=EC=84=A4=EB=AA=85=20=ED=94=84=EB=A0=88?= =?UTF-8?q?=EC=9E=84=20=EB=B0=98=EC=98=81=20=E2=80=94=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=C2=B7=EC=98=A8=EB=B3=B4=EB=94=A9=C2=B7=EC=8A=A4?= =?UTF-8?q?=ED=94=8C=EB=9E=98=EC=8B=9C=20=C2=B7=20HOME=20=C2=B7=20GALAXY?= =?UTF-8?q?=20=C2=B7=20=ED=80=98=EC=8A=A4=ED=8A=B8=C2=B7=EC=9D=B4=ED=81=B4?= =?UTF-8?q?=EB=A6=BD=EC=8A=A4=C2=B7=EC=95=8C=EB=A6=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/drawable-v21/launch_background.xml | 9 +- .../main/res/drawable-xxhdpi/launch_logo.png | Bin 0 -> 154235 bytes .../main/res/drawable/launch_background.xml | 9 +- app/assets/brand/fanuzu-mark.png | Bin 0 -> 154235 bytes app/firebase/firestore.rules | 7 + app/firebase/functions/src/admin/admin.ts | 3 + .../functions/test/admin_write.test.ts | 10 + .../test/tests/firestore.rules.test.mjs | 12 + .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 19139 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 81001 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 154235 bytes .../Runner/Base.lproj/LaunchScreen.storyboard | 2 +- app/lib/app.dart | 37 ++ app/lib/core/config/feature_flags.dart | 34 +- app/lib/core/router/app_router.dart | 45 +- app/lib/core/ui/app_dialog.dart | 14 + app/lib/core/ui/sheet_route.dart | 25 ++ app/lib/features/auth/auth.dart | 3 + app/lib/features/auth/login_screen.dart | 15 +- app/lib/features/auth/onboarding_screens.dart | 137 +++++- app/lib/features/auth/signup_screens.dart | 15 +- .../eclipse/eclipse_defend_screen.dart | 57 ++- .../eclipse/widgets/eclipse_banner.dart | 12 +- .../eclipse/widgets/eclipse_event_button.dart | 16 +- app/lib/features/galaxy/galaxy_data.dart | 6 + .../features/galaxy/galaxy_home_screen.dart | 403 +++++++++++++----- .../galaxy/galaxy_repository_firestore.dart | 25 +- app/lib/features/galaxy/galaxy_screen.dart | 8 +- .../features/galaxy/galaxy_search_screen.dart | 356 +++++++++++++--- app/lib/features/home/home_data.dart | 10 +- .../home/home_repository_firestore.dart | 17 +- app/lib/features/home/home_screen.dart | 237 +++++----- .../features/home/nebula_create_screen.dart | 25 +- .../features/home/planet_create_screen.dart | 4 +- app/lib/features/home/widgets/home_hero.dart | 53 ++- app/lib/features/home/widgets/quest_row.dart | 23 +- app/lib/features/my/profile_edit_screen.dart | 3 + app/lib/features/my/settings_screen.dart | 2 + .../notification/notification_data.dart | 10 +- .../notification/notification_screen.dart | 84 ++-- .../features/planet/fpi_ranking_screen.dart | 274 ++++++++---- app/lib/features/planet/planet_data.dart | 31 ++ .../features/planet/planet_detail_screen.dart | 27 +- .../planet/planet_repository_firestore.dart | 16 +- .../planet/widgets/fandom_size_badge.dart | 41 ++ .../planet/widgets/planet_detail_hero.dart | 132 +++--- .../features/quest/place_picker_screen.dart | 94 +++- app/lib/features/quest/quest_ad_screens.dart | 28 +- .../features/quest/quest_create_screen.dart | 36 +- app/lib/features/quest/quest_data.dart | 49 ++- .../features/quest/quest_detail_screen.dart | 53 ++- app/lib/features/quest/quest_list_screen.dart | 12 +- .../quest/quest_repository_firestore.dart | 33 +- .../features/quest/quest_reward_screen.dart | 16 +- app/lib/l10n/app_en.arb | 14 +- app/lib/l10n/app_es.arb | 14 +- app/lib/l10n/app_ja.arb | 14 +- app/lib/l10n/app_ko.arb | 17 +- app/lib/l10n/app_localizations.dart | 74 +++- app/lib/l10n/app_localizations_en.dart | 41 +- app/lib/l10n/app_localizations_es.dart | 41 +- app/lib/l10n/app_localizations_ja.dart | 41 +- app/lib/l10n/app_localizations_ko.dart | 41 +- app/lib/l10n/app_localizations_zh.dart | 40 +- app/lib/l10n/app_zh.arb | 14 +- app/lib/l10n/remote_app_localizations.dart | 36 ++ app/pubspec.lock | 16 + app/pubspec.yaml | 5 + app/test/app_update_test.dart | 23 + app/test/backend_repository_test.dart | 21 +- app/test/f1_screens_test.dart | 12 +- app/test/f2_screens_test.dart | 76 +++- app/test/f3_screens_test.dart | 45 ++ app/test/f4_screens_test.dart | 57 ++- app/test/home_screen_test.dart | 58 +++ app/test/onboarding_test.dart | 68 +++ app/test/planet_growth_status_test.dart | 5 +- 77 files changed, 2703 insertions(+), 640 deletions(-) create mode 100644 app/android/app/src/main/res/drawable-xxhdpi/launch_logo.png create mode 100644 app/assets/brand/fanuzu-mark.png create mode 100644 app/lib/core/ui/sheet_route.dart create mode 100644 app/lib/features/planet/widgets/fandom_size_badge.dart create mode 100644 app/test/app_update_test.dart diff --git a/app/android/app/src/main/res/drawable-v21/launch_background.xml b/app/android/app/src/main/res/drawable-v21/launch_background.xml index 7b6aa62..40c6111 100644 --- a/app/android/app/src/main/res/drawable-v21/launch_background.xml +++ b/app/android/app/src/main/res/drawable-v21/launch_background.xml @@ -3,10 +3,11 @@ - - + - --> + android:src="@drawable/launch_logo" /> + diff --git a/app/android/app/src/main/res/drawable-xxhdpi/launch_logo.png b/app/android/app/src/main/res/drawable-xxhdpi/launch_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ab5ce78c2fbdda887e018f22d1405a26611811 GIT binary patch literal 154235 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

w)T*Gs%$_d(HZcv@kE2DV5_vok|}Vv->tr9`>@+ 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

RN^^c& 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 - - + - --> + android:src="@drawable/launch_logo" /> + diff --git a/app/assets/brand/fanuzu-mark.png b/app/assets/brand/fanuzu-mark.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ab5ce78c2fbdda887e018f22d1405a26611811 GIT binary patch literal 154235 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

w)T*Gs%$_d(HZcv@kE2DV5_vok|}Vv->tr9`>@+ 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

RN^^c& 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 { await ref.set({ ...(patch as Record), + // 처음 쓰는 문서에는 생성 시각을 남긴다 — 퀘스트 목록 *퀘스트 생성 최신순 소팅*(Figma `518:88395`)의 + // 정렬 키. 예전 문서는 `updatedAt` 만 있어 수정할 때마다 순서가 바뀌었다. + ...(before.exists ? {} : { createdAt: FieldValue.serverTimestamp() }), updatedAt: FieldValue.serverTimestamp(), }, { merge: true }); diff --git a/app/firebase/functions/test/admin_write.test.ts b/app/firebase/functions/test/admin_write.test.ts index 0f9c452..8111473 100644 --- a/app/firebase/functions/test/admin_write.test.ts +++ b/app/firebase/functions/test/admin_write.test.ts @@ -67,3 +67,13 @@ it('master 도 원장 · 지표 · 감사 기록과 서버 산출 필드는 못 expect(doc.get('fpiScore')).toBeUndefined(); await getFirestore().doc('fandoms/admin-write-test').delete(); }); + +// 퀘스트 목록 *퀘스트 생성 최신순*(Figma `518:88395`) — 처음 쓴 문서만 생성 시각을 받고, 수정은 그대로 둔다. +it('처음 쓰는 문서에는 createdAt 을 찍고 다시 써도 바꾸지 않는다', async () => { + const ref = getFirestore().doc('notices/admin-write-test'); + await run('ops', ref.path, { title: '첫' }); + const first = (await ref.get()).get('createdAt'); + expect(first).toBeDefined(); + await run('ops', ref.path, { title: '둘' }); + expect((await ref.get()).get('createdAt').isEqual(first)).toBe(true); +}); diff --git a/app/firebase/test/tests/firestore.rules.test.mjs b/app/firebase/test/tests/firestore.rules.test.mjs index e70c18f..e441bd2 100644 --- a/app/firebase/test/tests/firestore.rules.test.mjs +++ b/app/firebase/test/tests/firestore.rules.test.mjs @@ -1772,3 +1772,15 @@ describe('테스트 자가 점검', () => { expect(testEnvironment.projectId).toMatch(/^demo-/); }); }); + +describe('성운 일 1회 기록 — GALAXY 「성운 생성」 버튼(Figma 540:19592)', () => { + test('본인 기록은 읽고, 남의 기록은 못 읽고, 아무도 쓰지 못한다', async () => { + await seedDocuments(testEnvironment, { + 'users/alice/nebulaCreates/2026-10-06': { fandomId: 'f1' }, + }); + await assertSucceeds(getDoc(doc(dbFor('alice'), 'users/alice/nebulaCreates/2026-10-06'))); + await assertSucceeds(getDoc(doc(dbFor('alice'), 'users/alice/nebulaCreates/2026-10-07'))); + await assertFails(getDoc(doc(dbFor('bob'), 'users/alice/nebulaCreates/2026-10-06'))); + await assertFails(setDoc(doc(dbFor('alice'), 'users/alice/nebulaCreates/2026-10-08'), { fandomId: 'f2' })); + }); +}); diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..617fe816bb1a566f1e24dca9c24c3cf92db9545a 100644 GIT binary patch literal 19139 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 SL#9;#0000Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..7416d6c30a0c187b54e21c12dac9da691c5603bd 100644 GIT binary patch literal 81001 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 z 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 P00000NkvXXu0mjf@H`>$ literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..f2ab5ce78c2fbdda887e018f22d1405a26611811 100644 GIT binary patch literal 154235 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

w)T*Gs%$_d(HZcv@kE2DV5_vok|}Vv->tr9`>@+ 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

RN^^c& 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 Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/app/ios/Runner/Base.lproj/LaunchScreen.storyboard b/app/ios/Runner/Base.lproj/LaunchScreen.storyboard index 69f7b93..d415e51 100644 --- a/app/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ b/app/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -33,6 +33,6 @@ - + diff --git a/app/lib/app.dart b/app/lib/app.dart index 5ace112..1934c37 100644 --- a/app/lib/app.dart +++ b/app/lib/app.dart @@ -4,11 +4,14 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:go_router/go_router.dart'; +import 'package:package_info_plus/package_info_plus.dart'; +import 'core/config/feature_flags.dart' show isOlderVersion; import 'core/data/repositories.dart'; import 'core/i18n/app_locale.dart'; import 'core/ui/adaptive_planet_effects.dart'; import 'core/push/push_messaging.dart'; +import 'core/ui/app_dialog.dart'; import 'core/router/app_router.dart'; import 'features/home/home_screen.dart' show homeRefreshSignal; import 'core/theme/app_theme.dart'; @@ -123,9 +126,42 @@ class _FancakeAppState extends State with WidgetsBindingObserver { } } + /// 업데이트 확인을 마쳤는가 — 앱 실행당 한 번만 안내한다. + bool _updateChecked = false; + bool _updateChecking = false; + + /// 스플래시 업데이트 확인 — Figma `510:19053` 「앱 버전 정보 · 최신 버전 여부 확인 · + /// 업데이트 안내 노출」. 최신 버전은 운영값 `config/features.latestAppVersion` 이고, + /// 값이 없거나 설치 버전을 못 읽으면 안내하지 않는다. + Future _checkUpdate() async { + final latest = _repos.flags.latestVersion; + if (_updateChecked || _updateChecking || latest == null) return; + _updateChecking = true; + try { + final installed = (await PackageInfo.fromPlatform()).version; + _updateChecked = true; + if (!isOlderVersion(installed, latest)) return; + final context = _router.routerDelegate.navigatorKey.currentContext; + if (context == null || !context.mounted) { + _updateChecked = false; // 화면이 아직 없으면 다음 알림 때 다시 본다. + return; + } + await showAlertDialog( + context, + context.l10n.updateAvailableTitle, + body: context.l10n.updateAvailableBody(latest), + ); + } catch (e) { + debugPrint('[FancakeApp] update check: ${e.runtimeType}'); + } finally { + _updateChecking = false; + } + } + @override void initState() { super.initState(); + _repos.flags.addListener(_checkUpdate); WidgetsBinding.instance.addObserver(this); widget.auth.addListener(_onAuthChanged); _onAuthChanged(); @@ -133,6 +169,7 @@ class _FancakeAppState extends State with WidgetsBindingObserver { @override void dispose() { + _repos.flags.removeListener(_checkUpdate); WidgetsBinding.instance.removeObserver(this); _presence?.cancel(); widget.auth.removeListener(_onAuthChanged); diff --git a/app/lib/core/config/feature_flags.dart b/app/lib/core/config/feature_flags.dart index 2d49b98..31ef911 100644 --- a/app/lib/core/config/feature_flags.dart +++ b/app/lib/core/config/feature_flags.dart @@ -27,9 +27,18 @@ class FeatureFlags extends ChangeNotifier { /// STATION 탭 노출 스위치. 문서의 `stationEnabled`(bool) 하나를 읽는다. static const String stationKey = 'stationEnabled'; + /// 운영 중인 최신 앱 버전(문자열 `x.y.z`). 스플래시 업데이트 확인 — Figma `510:19053` + /// 「앱 버전 정보 · 최신 버전 여부 확인 · 업데이트 안내 노출」. 로그인 전에 읽어야 해서 + /// 같은 공개 문서에 둔다. 값이 없으면 안내를 띄우지 않는다. + static const String latestVersionKey = 'latestAppVersion'; + StreamSubscription>? _subscription; bool _stationTab = false; + String? _latestVersion; + + /// 운영 최신 버전. 문서에 없거나 문자열이 아니면 null. + String? get latestVersion => _latestVersion; /// 하단 탭에 STATION 을 그릴 것인가. 기본 false. bool get stationTab => _stationTab; @@ -37,8 +46,13 @@ class FeatureFlags extends ChangeNotifier { void _apply(Map data) { // 타입까지 확인한다. 누가 문자열 "true" 를 넣어도 켜지지 않는다. final next = data[stationKey] == true; - if (next == _stationTab) return; + final latest = switch (data[latestVersionKey]) { + final String v when v.trim().isNotEmpty => v.trim(), + _ => null, + }; + if (next == _stationTab && latest == _latestVersion) return; _stationTab = next; + _latestVersion = latest; notifyListeners(); } @@ -54,3 +68,21 @@ class FeatureFlags extends ChangeNotifier { super.dispose(); } } + +/// [installed] 가 [latest] 보다 낮은가 — 점으로 나눈 숫자를 앞에서부터 비교한다(`0.5.0` < `0.10.0`). +/// 빌드 번호(`+7`)와 숫자가 아닌 꼬리는 무시한다. 읽을 수 없는 값이면 false(안내하지 않음). +bool isOlderVersion(String installed, String latest) { + List? parse(String v) { + final parts = v.split('+').first.split('.'); + final nums = [for (final p in parts) int.tryParse(p.trim())]; + return nums.any((n) => n == null) ? null : nums.cast(); + } + + final a = parse(installed), b = parse(latest); + if (a == null || b == null) return false; + for (var i = 0; i < a.length || i < b.length; i++) { + final x = i < a.length ? a[i] : 0, y = i < b.length ? b[i] : 0; + if (x != y) return x < y; + } + return false; +} diff --git a/app/lib/core/router/app_router.dart b/app/lib/core/router/app_router.dart index e34c291..3ea7d2f 100644 --- a/app/lib/core/router/app_router.dart +++ b/app/lib/core/router/app_router.dart @@ -263,12 +263,21 @@ class AppShell extends StatelessWidget { selectedIndex: selected < 0 ? 0 : selected, onDestinationSelected: (i) { // 다른 탭에서 HOME 으로 돌아오면 다시 읽는다(HOME 은 탭 전환으로 다시 만들어지지 않는다). - if (branches[i] == 0 && shell.currentIndex != 0) homeRefreshSignal.value++; + if (branches[i] == 0 && shell.currentIndex != 0) + homeRefreshSignal.value++; + final again = branches[i] == shell.currentIndex; shell.goBranch( branches[i], // initialLocation: true 를 주면 이미 열려 있는 탭을 다시 누를 때 루트로 되돌아간다. - initialLocation: branches[i] == shell.currentIndex, + initialLocation: again, ); + // 설명 프레임 `2097:16427` 「HOME 화면에서 클릭 시, Y스크롤값 초기화」(INSIDE · GALAXY · + // MY 동일) — 열려 있는 탭을 다시 누르면 그 탭 루트 화면을 맨 위로 올린다. + if (again) { + scrollTabToTop( + shell.route.branches[branches[i]].navigatorKey, + ); + } }, destinations: [ for (final tab in tabs) @@ -287,3 +296,35 @@ class AppShell extends StatelessWidget { }, ); } + +/// 탭 루트 화면의 세로 목록을 맨 위로. 루트 라우트의 [PrimaryScrollController] 를 쓴다 — +/// 각 탭 화면이 따로 컨트롤러를 들고 있지 않아도 된다. 다시 누름으로 위에 쌓인 화면이 닫힌 +/// 다음 프레임에 움직인다. +void scrollTabToTop(GlobalKey navigatorKey) { + WidgetsBinding.instance.addPostFrameCallback((_) { + ScrollController? found; + void visit(Element e) { + if (found != null) return; + final w = e.widget; + // 컨트롤러 없는 칸(`PrimaryScrollController.none`)과 붙은 목록이 없는 라우트는 건너뛴다. + if (w is PrimaryScrollController && (w.controller?.hasClients ?? false)) { + found = w.controller; + return; + } + e.visitChildElements(visit); + } + + navigatorKey.currentContext?.visitChildElements(visit); + for (final p in found?.positions.toList() ?? const []) { + if (p.axis == Axis.vertical && p.pixels != p.minScrollExtent) { + p.animateTo( + p.minScrollExtent, + duration: const Duration(milliseconds: 300), + curve: Curves.easeOut, + ); + } + } + }); + // 탭이 이미 루트면 다시 그릴 일이 없어 위 콜백이 돌지 않는다 — 한 프레임을 청한다. + WidgetsBinding.instance.ensureVisualUpdate(); +} diff --git a/app/lib/core/ui/app_dialog.dart b/app/lib/core/ui/app_dialog.dart index ce98958..22cff03 100644 --- a/app/lib/core/ui/app_dialog.dart +++ b/app/lib/core/ui/app_dialog.dart @@ -176,3 +176,17 @@ Future showAlertDialog( confirmLabel: confirmLabel ?? context.l10n.commonConfirm, ), ); + +/// 아래에서 올라오고 닫으면 아래로 내려가는 전체 화면 — Figma 설명 「닫기 버튼 클릭 시, 하단 +/// move out 페이지 종료」(`516:87382` 성운 생성 · `516:87457` 행성 생성 · `516:88164` 이클립스 상세). +/// 안드로이드 기본 전환(확대)과 iOS 기본 전환(옆으로)이 모두 이 동작이 아니라 따로 둔다. +Route slideUpRoute(WidgetBuilder builder) => PageRouteBuilder( + pageBuilder: (context, _, _) => builder(context), + transitionsBuilder: (_, animation, _, child) => SlideTransition( + position: Tween( + begin: const Offset(0, 1), + end: Offset.zero, + ).chain(CurveTween(curve: Curves.easeOutCubic)).animate(animation), + child: child, + ), +); diff --git a/app/lib/core/ui/sheet_route.dart b/app/lib/core/ui/sheet_route.dart new file mode 100644 index 0000000..c506378 --- /dev/null +++ b/app/lib/core/ui/sheet_route.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; + +/// 아래에서 올라와 아래로 닫히는 전체 화면 — Figma 설명 프레임의 「닫기 버튼 클릭 시, 하단 move out +/// 페이지 종료 후 이전 화면 이동」(퀘스트 생성 `523:18123` · 위치 선택 `523:18207` · 신고하기 `548:21389` +/// · 이클립스 상세 `516:88158`). +/// +/// `MaterialPageRoute(fullscreenDialog: true)` 는 iOS 에서만 아래로 내려간다(Android 는 기본 전환). +/// 두 플랫폼 모두 같은 방향으로 움직이게 전환만 바꾼다. +class SheetRoute extends MaterialPageRoute { + SheetRoute({required super.builder}) : super(fullscreenDialog: true); + + @override + Widget buildTransitions( + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ) => SlideTransition( + position: animation.drive( + Tween(begin: const Offset(0, 1), end: Offset.zero) + .chain(CurveTween(curve: Curves.easeOutCubic)), + ), + child: child, + ); +} diff --git a/app/lib/features/auth/auth.dart b/app/lib/features/auth/auth.dart index b9df86a..763b48f 100644 --- a/app/lib/features/auth/auth.dart +++ b/app/lib/features/auth/auth.dart @@ -138,6 +138,9 @@ abstract interface class AuthSession { /// **제공자가 인증한 이메일 전체**를 정규화(trim·소문자)해 비교한다. /// 로컬 파트만 보면 `test123@naver.com` 과 `test123@gmail.com` 처럼 남의 계정이 /// 붙는다. 비었거나 `@` 가 없는 값은 이메일로 보지 않아 false. +/// +/// Figma 예시(앞부분 같으면 O)는 **2026-09-16 회신 3절 7항**(「다른 도메인 이메일의 앞부분만으로 +/// 동일 소유자를 판단하지 않습니다」)이 대체했다. 이메일을 주지 않는 제공자의 연결은 해석 확인 Q-E8. bool sameAccountIdentity(String a, String b) { final x = a.trim().toLowerCase(); return x.contains('@') && x == b.trim().toLowerCase(); diff --git a/app/lib/features/auth/login_screen.dart b/app/lib/features/auth/login_screen.dart index d8efba6..40e7068 100644 --- a/app/lib/features/auth/login_screen.dart +++ b/app/lib/features/auth/login_screen.dart @@ -102,6 +102,8 @@ class _LoginScreenState extends State { void _open({required bool signUp}) { Navigator.of(context).push( MaterialPageRoute( + // 명세 `510:86374` 「닫기 — 아래 방향 Move Out 으로 이전 화면」 — 아래에서 올라오는 전체 화면. + fullscreenDialog: true, builder: (_) => SimpleLoginScreen(auth: widget.auth, signUp: signUp), ), ); @@ -114,20 +116,20 @@ class _LoginScreenState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - // 시안 173:1905 — 상단 386 영역 가운데에 핑크 원(120) 하나. 로고 원본 미확정(Q6). + // 시안 173:1905 — 상단 386 영역 가운데 로고(120). 명세 `510:86330` 「컨테인 중앙 정렬」. + // 로고는 발주사 인수 자산 `fanuzu logo only.png` 의 마크(공통 기준 4항 FANUZU). SizedBox( height: 386, child: Center( child: GestureDetector( key: loginLogoKey, onLongPress: _toggleDevPanel, - child: Container( + child: Image.asset( + 'assets/brand/fanuzu-mark.png', width: 120, height: 120, - decoration: const BoxDecoration( - color: AppColors.cosmicAccent, - shape: BoxShape.circle, - ), + fit: BoxFit.contain, + semanticLabel: 'FANUZU', ), ), ), @@ -247,6 +249,7 @@ class _SimpleLoginScreenState extends State { void _switchMode() { Navigator.of(context).pushReplacement( MaterialPageRoute( + fullscreenDialog: true, builder: (_) => SimpleLoginScreen(auth: widget.auth, signUp: !widget.signUp), ), diff --git a/app/lib/features/auth/onboarding_screens.dart b/app/lib/features/auth/onboarding_screens.dart index 9d77093..249bb21 100644 --- a/app/lib/features/auth/onboarding_screens.dart +++ b/app/lib/features/auth/onboarding_screens.dart @@ -4,11 +4,13 @@ import '../../core/data/backend.dart' show BackendException; import '../../core/i18n/app_locale.dart'; import '../../core/push/push_messaging.dart'; import '../../core/theme/tokens.dart'; +import '../../core/ui/app_icons.dart'; import '../home/coach_mark.dart'; import '../home/home_data.dart'; import '../home/nebula_create_screen.dart'; import '../my/my_data.dart' show nicknameMaxLength, nicknameMinLength, nicknameReserved; +import '../planet/planet_data.dart' show countryName; import 'auth_repository.dart'; import 'onboarding_data.dart'; import 'signup_screens.dart'; @@ -159,6 +161,9 @@ class _OnboardingFlowState extends State { _Step _step = _Step.terms; bool _busy = false; + /// ② 에서 서버에 기록한 동의 항목. ③ 에서 뒤로 오면 이 상태로 체크해 보여 준다. + Set? _agreed; + /// ④ 에서 고른 팬덤 — 고른 순서. 첫 번째가 대표(Primary). final _picked = []; @@ -189,14 +194,25 @@ class _OnboardingFlowState extends State { void _agree(Set agreed) { if (_busy) return; + // ③ 에서 뒤로 왔다가 그대로 「완료」면 기록을 다시 남기지 않는다(서버 동의 기록 유지). + final prev = _agreed; + if (prev != null && + prev.length == agreed.length && + prev.containsAll(agreed)) { + setState(() => _step = _Step.profile); + return; + } _run(() async { await widget.repository.agree(agreed, signupTermsVersion); + _agreed = agreed; if (mounted) setState(() => _step = _Step.profile); }); } void _back() => setState( () => _step = switch (_step) { + // 명세 `511:86825` 「상단 뒤로가기 — 이전 화면」. 이전 = ② 약관(동의 체크 유지). + _Step.profile => _Step.terms, _Step.artist => _Step.profile, _Step.planet => _Step.artist, final s => s, @@ -216,9 +232,15 @@ class _OnboardingFlowState extends State { @override Widget build(BuildContext context) { final body = switch (_step) { - _Step.terms => TermsScreen(onAgreed: _agree, onBack: widget.auth.signOut), + _Step.terms => TermsScreen( + key: ValueKey(_agreed), + initial: _agreed ?? const {}, + onAgreed: _agree, + onBack: widget.auth.signOut, + ), _Step.profile => _ProfileStep( repository: widget.repository, + onBack: _back, onDone: () => setState(() => _step = _Step.artist), ), _Step.artist => _ArtistStep( @@ -262,10 +284,15 @@ class _OnboardingFlowState extends State { /// 사본 `MY/프로필 설정` 구성을 따른다. 국가 기본값은 기기 지역(Figma `554:24126` 「앱 기동 단계에서 /// 조회된 국가/언어를 디폴트」). class _ProfileStep extends StatefulWidget { - const _ProfileStep({required this.repository, required this.onDone}); + const _ProfileStep({ + required this.repository, + required this.onDone, + required this.onBack, + }); final OnboardingRepository repository; final VoidCallback onDone; + final VoidCallback onBack; @override State<_ProfileStep> createState() => _ProfileStepState(); @@ -348,12 +375,23 @@ class _ProfileStepState extends State<_ProfileStep> { } } + Future _pickCountry() async { + final picked = await showModalBottomSheet( + context: context, + isScrollControlled: true, + backgroundColor: const Color(0xFF101010), + builder: (_) => _CountrySheet(current: _country), + ); + if (picked != null && mounted) setState(() => _country = picked); + } + @override Widget build(BuildContext context) { final l10n = context.l10n; final current = _locale ?? LocaleScope.maybeOf(context)?.locale; return _StepScaffold( title: l10n.onbProfileTitle, + onBack: widget.onBack, action: _PrimaryButton( label: l10n.commonNext, onPressed: _valid && !_busy ? _save : null, @@ -369,15 +407,20 @@ class _ProfileStepState extends State<_ProfileStep> { ), ), const SizedBox(height: AppSpace.s3), - DropdownButtonFormField( - initialValue: _country, - isExpanded: true, - decoration: InputDecoration(labelText: l10n.onbCountry), - items: [ - for (final c in isoCountries) - DropdownMenuItem(value: c, child: Text('${countryFlag(c)} $c')), - ], - onChanged: (v) => setState(() => _country = v ?? _country), + // 사본 국가 리스트 모달 `178:23489`(명세 `511:86786` · `511:86796`) — 국기 · 국가명 · + // 단수 선택 체크, 「선택」을 눌러야 적용하고 닫힌다. + InkWell( + onTap: _pickCountry, + child: InputDecorator( + decoration: InputDecoration( + labelText: l10n.onbCountry, + suffixIcon: const Icon(Icons.expand_more), + ), + isEmpty: _country == null, + child: _country == null + ? null + : Text('${countryFlag(_country!)} ${countryName(_country!)}'), + ), ), const SizedBox(height: AppSpace.s3), DropdownButtonFormField( @@ -407,6 +450,78 @@ class _ProfileStepState extends State<_ProfileStep> { } } +/// 국가 리스트 모달 — 사본 `178:23489`. +/// +/// 명세 `511:86762` 타이틀 좌측 · 닫기 우측(누르면 모달 종료) / `511:86786` 국기 좌측 · 국가명 · +/// 선택한 국가에만 오른쪽 체크(단수) / `511:86796` 국가를 골라야 「선택」이 켜지고, 누르면 적용 후 닫힘. +class _CountrySheet extends StatefulWidget { + const _CountrySheet({required this.current}); + + final String? current; + + @override + State<_CountrySheet> createState() => _CountrySheetState(); +} + +class _CountrySheetState extends State<_CountrySheet> { + late String? _picked = widget.current; + + @override + Widget build(BuildContext context) => SafeArea( + child: SizedBox( + height: MediaQuery.sizeOf(context).height * 0.8, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 4, 0), + child: Row( + children: [ + Expanded(child: Text(context.l10n.onbCountry, style: _title)), + IconButton( + tooltip: context.l10n.commonClose, + onPressed: () => Navigator.of(context).pop(), + icon: const ImageIcon(AppIcons.x, size: 24), + ), + ], + ), + ), + Expanded( + child: ListView( + children: [ + for (final c in isoCountries) + ListTile( + onTap: () => setState(() => _picked = c), + leading: Text( + countryFlag(c), + style: const TextStyle(fontSize: 22), + ), + title: Text(countryName(c)), + trailing: c == _picked + ? const Icon( + Icons.check_circle_outline, + color: AppColors.cosmicAccent, + ) + : null, + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.all(AppSpace.s4), + child: _PrimaryButton( + label: context.l10n.commonSelect, + onPressed: _picked == null + ? null + : () => Navigator.of(context).pop(_picked), + ), + ), + ], + ), + ), + ); +} + /// ④ 관심 아티스트 / Primary Fandom — 최소 1개(FR-CMN-06). 처음 고른 팬덤이 대표가 된다. /// 찾는 아티스트가 없으면 ⑤ 에서 성운을 만든다. class _ArtistStep extends StatefulWidget { diff --git a/app/lib/features/auth/signup_screens.dart b/app/lib/features/auth/signup_screens.dart index e95672e..c18e45e 100644 --- a/app/lib/features/auth/signup_screens.dart +++ b/app/lib/features/auth/signup_screens.dart @@ -14,7 +14,15 @@ import '../../core/theme/tokens.dart'; /// 약관 본문은 발주사 실서비스 문구를 받기 전까지 시안의 자리 표시 문구다 — 받으면 [_body] 와 /// [signupTermsVersion] 을 함께 바꾼다(동의 기록에 버전이 남는다). class TermsScreen extends StatefulWidget { - const TermsScreen({super.key, this.onAgreed, this.onBack}); + const TermsScreen({ + super.key, + this.onAgreed, + this.onBack, + this.initial = const {}, + }); + + /// 처음부터 체크해 둘 항목 키 — 온보딩 ③ 에서 뒤로 왔을 때 이미 동의한 항목. + final Set initial; /// 온보딩 안에서 쓸 때 — 「완료」가 화면을 닫지 않고 이걸 부른다. final ValueChanged>? onAgreed; @@ -58,7 +66,10 @@ const _body = const _stroke = Color(0xFF545454); class _TermsScreenState extends State { - final _agreed = <_Term>{}; + late final _agreed = <_Term>{ + for (final t in _Term.values) + if (widget.initial.contains(t.name)) t, + }; bool get _all => _agreed.length == _Term.values.length; bool get _ready => diff --git a/app/lib/features/eclipse/eclipse_defend_screen.dart b/app/lib/features/eclipse/eclipse_defend_screen.dart index 354499c..4c7e63b 100644 --- a/app/lib/features/eclipse/eclipse_defend_screen.dart +++ b/app/lib/features/eclipse/eclipse_defend_screen.dart @@ -14,6 +14,7 @@ import '../home/home_screen.dart' show formatPop; import '../quest/quest_evidence.dart' show ShakeProbe, deviceShakes; import 'eclipse_data.dart'; import '../../core/i18n/app_locale.dart'; +import '../../core/ui/sheet_route.dart'; /// 「흔들어 방어」 — 팬덤 공동 Shake 참여 화면. /// @@ -35,10 +36,15 @@ class EclipseDefendScreen extends StatefulWidget { required this.repository, required this.fandomId, this.shakes = deviceShakes, + this.nebula = false, }); final EclipseRepository repository; + /// 대상 팬덤이 아직 성운인가 — 명세 `516:88158` *온보딩 행성/성운 - 이미지* · `516:88185` + /// *행성/성운 - 사용자 행성/성운 이미지*. 성운이면 성운 그림으로 그린다. + final bool nebula; + /// 흔들기 입력. 테스트는 가짜 스트림을 넣는다 — 방어 수단은 **Shake 하나**다(FX §5). final ShakeProbe shakes; @@ -326,8 +332,8 @@ class _EclipseDefendScreenState extends State ), ), const SizedBox(height: 24), - const Flexible( - child: SizedBox(height: 400, child: _ErodingPlanet()), + Flexible( + child: SizedBox(height: 400, child: _ErodingPlanet(image: _imageOf(widget.nebula))), ), const Spacer(), // `516:88184` 남은 시간 노출 영역 — 하단 정렬, 끝나면 방어 화면으로. @@ -435,7 +441,11 @@ class _EclipseDefendScreenState extends State Flexible( child: SizedBox( height: 400, - child: _DefendPlanet(remaining: remaining, pending: _pending), + child: _DefendPlanet( + remaining: remaining, + pending: _pending, + image: _imageOf(widget.nebula), + ), ), ), const Spacer(), @@ -620,6 +630,23 @@ class _EclipseTickerState extends State { } const _planet = AssetImage('assets/figma/planet-home.png'); +const _nebula = AssetImage('assets/figma/nebula-home.png'); + +AssetImage _imageOf(bool nebula) => nebula ? _nebula : _planet; + +/// 이클립스 상세로 가는 길 — 아래에서 올라와 아래로 닫힌다(명세 `516:88158` *하단 move out*). +/// HOME 버튼 · 배너(HOME · 행성 상세 · GALAXY)가 모두 이 경로를 쓴다. +Route eclipseDefendRoute({ + required EclipseRepository repository, + required String fandomId, + bool nebula = false, +}) => SheetRoute( + builder: (_) => EclipseDefendScreen( + repository: repository, + fandomId: fandomId, + nebula: nebula, + ), +); // 사본 좌표(프레임 원점 x10 · y220 기준). Widget _at(double x, double y, double w, double h, Widget child) => @@ -629,9 +656,11 @@ Widget _at(double x, double y, double w, double h, Widget child) => /// /// 행성(240) 양옆에 흐린 사본(`image 9~12`, 흐림 4)을 겹쳐 그림자가 번지는 모습이다. class _ErodingPlanet extends StatelessWidget { - const _ErodingPlanet(); + const _ErodingPlanet({required this.image}); - static Widget _shadow(double x, double y, double size, {double blur = 0}) => + final AssetImage image; + + Widget _shadow(double x, double y, double size, {double blur = 0}) => _at( x, y, @@ -639,9 +668,9 @@ class _ErodingPlanet extends StatelessWidget { size, ImageFiltered( imageFilter: ImageFilter.blur(sigmaX: blur, sigmaY: blur), - child: const ColorFiltered( - colorFilter: ColorFilter.mode(Color(0xB3141414), BlendMode.srcATop), - child: Image(image: _planet), + child: ColorFiltered( + colorFilter: const ColorFilter.mode(Color(0xB3141414), BlendMode.srcATop), + child: Image(image: image), ), ), ); @@ -658,7 +687,7 @@ class _ErodingPlanet extends StatelessWidget { _shadow(27, 347, 192, blur: 2), _shadow(47, 320, 220), _shadow(108, 320, 220), - _at(67.5, 300, 240, 240, const Image(image: _planet)), + _at(67.5, 300, 240, 240, Image(image: image)), ], ), ), @@ -671,7 +700,13 @@ class _ErodingPlanet extends StatelessWidget { /// `Group 572` 그라디언트 원 · `516:88231`)는 잔여 시간 비율 [remaining] 이고, 운석은 /// 시간이 흐를수록(1 − [remaining]) 행성 쪽으로 다가온다. class _DefendPlanet extends StatelessWidget { - const _DefendPlanet({required this.remaining, required this.pending}); + const _DefendPlanet({ + required this.remaining, + required this.pending, + required this.image, + }); + + final AssetImage image; /// 남은 시간 비율 1 → 0. final double remaining; @@ -719,7 +754,7 @@ class _DefendPlanet extends StatelessWidget { 280, CustomPaint(painter: _RemainingRing(remaining)), ), - _at(67.5, 300, 240, 240, const Image(image: _planet)), + _at(67.5, 300, 240, 240, Image(image: image)), // 좌상단 운석(`Group 573`)은 내보낸 자산이 없어 `Group 575` 를 뒤집어 쓴다. _meteor( 38, diff --git a/app/lib/features/eclipse/widgets/eclipse_banner.dart b/app/lib/features/eclipse/widgets/eclipse_banner.dart index ae4b16e..6adeb79 100644 --- a/app/lib/features/eclipse/widgets/eclipse_banner.dart +++ b/app/lib/features/eclipse/widgets/eclipse_banner.dart @@ -26,6 +26,7 @@ class EclipseBanner extends StatelessWidget { required this.repository, this.fandomId, this.onTap, + this.nebula = false, this.margin = const EdgeInsets.fromLTRB( AppSpace.s4, AppSpace.s2, @@ -42,6 +43,9 @@ class EclipseBanner extends StatelessWidget { final VoidCallback? onTap; final EdgeInsets margin; + /// 대상 팬덤이 아직 성운인가 — 상세 · 방어 화면이 성운 그림을 그린다. + final bool nebula; + @override Widget build(BuildContext context) => LiveStreamBuilder( // 대상 팬덤이 바뀌면 구독을 갈아탄다 — [LiveStreamBuilder] 주석 참고. @@ -58,9 +62,11 @@ class EclipseBanner extends StatelessWidget { child: EclipseBannerCard( state: state, onTap: onTap ?? () => Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute(builder: (_) => EclipseDefendScreen( - repository: repository, fandomId: state.fandomId, - )), + eclipseDefendRoute( + repository: repository, + fandomId: state.fandomId, + nebula: nebula, + ), ), ), ), diff --git a/app/lib/features/eclipse/widgets/eclipse_event_button.dart b/app/lib/features/eclipse/widgets/eclipse_event_button.dart index 4fc099e..1635695 100644 --- a/app/lib/features/eclipse/widgets/eclipse_event_button.dart +++ b/app/lib/features/eclipse/widgets/eclipse_event_button.dart @@ -20,11 +20,15 @@ class EclipseEventButton extends StatelessWidget { super.key, required this.repository, required this.fandomId, + this.nebula = false, }); final EclipseRepository repository; final String fandomId; + /// 내 팬덤이 아직 성운인가 — 상세 · 방어 화면이 성운 그림을 그린다. + final bool nebula; + @override Widget build(BuildContext context) => LiveStreamBuilder( key: ValueKey('eclipse-button-$fandomId'), @@ -49,13 +53,11 @@ class EclipseEventButton extends StatelessWidget { child: GestureDetector( behavior: HitTestBehavior.opaque, onTap: () => Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute( - // 명세 `516:88164` 「닫기 — 하단 move out」 — 아래에서 올라오는 전체 화면. - fullscreenDialog: true, - builder: (_) => EclipseDefendScreen( - repository: repository, - fandomId: state.fandomId, - ), + // 명세 `516:88164` 「닫기 — 하단 move out」 — 아래에서 올라오는 전체 화면. + eclipseDefendRoute( + repository: repository, + fandomId: state.fandomId, + nebula: nebula, ), ), child: Column( diff --git a/app/lib/features/galaxy/galaxy_data.dart b/app/lib/features/galaxy/galaxy_data.dart index 1b081a9..1cfce44 100644 --- a/app/lib/features/galaxy/galaxy_data.dart +++ b/app/lib/features/galaxy/galaxy_data.dart @@ -90,8 +90,13 @@ class GalaxySnapshot { this.joined = true, this.memberships = const [], this.joinedIds = const {}, + this.nebulaCreatedToday = false, }); + /// 오늘(KST) 이미 성운을 만들었는가 — Figma `540:19592` 「일1회 생성 가능(이후 비활성화) · + /// 횟수 초과 시 초과 안내 모달」. 서버 `fn-nebula-create` 의 일 1회 판정(E-FDM-02)과 같은 문서를 본다. + final bool nebulaCreatedToday; + final List planets; /// 내가 가입한 모든 팬덤 ID(`users.fandomIds` + 대표). 10/3 통합회신 #10 「다른 가입 팬덤에서도 Zap」 — @@ -155,6 +160,7 @@ class GalaxySnapshot { joined: joined, memberships: memberships, joinedIds: joinedIds, + nebulaCreatedToday: nebulaCreatedToday, ); } } diff --git a/app/lib/features/galaxy/galaxy_home_screen.dart b/app/lib/features/galaxy/galaxy_home_screen.dart index 2a8c4da..b4d05d6 100644 --- a/app/lib/features/galaxy/galaxy_home_screen.dart +++ b/app/lib/features/galaxy/galaxy_home_screen.dart @@ -70,6 +70,9 @@ class GalaxyHomeScreen extends StatefulWidget { class _GalaxyHomeScreenState extends State { late Future _snapshot = widget.repository.load(); + /// Figma `540:19580` 그리드 변경 영역 — 디폴트 격자, 누르면 격자 ↔ 리스트(`354:221533`). + bool _list = false; + /// 명세 §2.58-3 — *행성/성운 클릭 시 기본 행성 변경 안내 모달 노출*. 이미 대표면 궤도 맵으로. Future _choose(PlanetNode p) async { if (p.isMine) return _openMap(); @@ -104,7 +107,14 @@ class _GalaxyHomeScreenState extends State { /// 만든 성운으로 바로 들어간다. 돌아오면 「내 행성」 그리드에 새 성운이 선다. Future _createNebula() async { final navigator = Navigator.of(context, rootNavigator: true); - final myPop = (await _snapshot).myPop; + final snapshot = await _snapshot; + // Figma `540:19592` · `543:19609` — 일 1회. 오늘 이미 만들었으면 화면을 열지 않고 초과 안내 모달. + if (snapshot.nebulaCreatedToday) { + if (mounted) + await showAlertDialog(context, context.l10n.nebulaAlreadyToday); + return; + } + final myPop = snapshot.myPop; final fandomId = await navigator.push( MaterialPageRoute( builder: (_) => @@ -155,16 +165,14 @@ class _GalaxyHomeScreenState extends State { ), ); } - // 시안은 내 행성 셋을 보여 준다 — 가입하거나 만든 행성/성운, 최신 가입순(§2.58). - // 「선택」 알약은 대표 팬덤(C-15)이다. - final mine = data.memberships.take(3).toList(); + // 가입하거나 만든 행성/성운 전부, 최신 가입순(Figma `540:19586`). 「선택」 알약은 대표 팬덤(C-15). + final mine = data.memberships; return Stack( children: [ - ListView( - padding: const EdgeInsets.only(bottom: AppSpace.s9), + Column( children: [ - // 상단 — 시안 `Top Navigation`(54 · 좌우 16) 「GALAXY」 ABeeZee 20 · 검색 · 알림 42 + // 상단 — 상단 고정 노출(Figma `540:19574`). 시안 `Top Navigation`(54 · 좌우 16) 「GALAXY」 ABeeZee 20 · 검색 · 알림 42 Padding( padding: const EdgeInsets.symmetric( horizontal: 16, @@ -191,6 +199,8 @@ class _GalaxyHomeScreenState extends State { MaterialPageRoute( builder: (_) => GalaxySearchScreen( repository: widget.repository, + onJoin: (p) => + widget.planetRepository(p.id).join(), onOpen: (p) => Navigator.of( context, @@ -226,73 +236,77 @@ class _GalaxyHomeScreenState extends State { ], ), ), - // 이클립스 인앱 경보 — 별첨 1 ① 「푸시 미수신 단말 — 인앱 - // 워닝 배너 병행」. 대상은 내 행성이다. - if (mine.where((p) => p.isMine).firstOrNull case final my?) - EclipseBanner( - repository: widget.eclipse, - fandomId: my.id, - margin: const EdgeInsets.fromLTRB( - 16, - AppSpace.s3, - 16, - 0, - ), - onTap: _openMap, - ), - // 「내 행성」 ABeeZee 26 · 우측 목록 아이콘 24 → 궤도 맵 (줄 44 · 위아래 4) - Padding( - padding: const EdgeInsets.symmetric( - horizontal: 16, - vertical: 4, - ), - child: Row( + Expanded( + child: ListView( + padding: const EdgeInsets.only(bottom: AppSpace.s9), children: [ - Text( - context.l10n.galaxyMyPlanets, - style: const TextStyle( - fontFamily: AppFonts.display, - fontWeight: FontWeight.w400, - fontSize: 26, - height: 1.4, - color: AppColors.onCosmic, - ), - ), - const Spacer(), - InkResponse( - onTap: _openMap, - radius: 20, - child: Image.asset( - 'assets/figma/icon-list.png', - width: 24, - height: 24, - color: const Color(0xFF777777), - semanticLabel: context.l10n.galaxyMap, - ), - ), - ], - ), - ), - Padding( - padding: const EdgeInsets.all(16), - child: Row( - children: [ - for (final (i, p) in mine.indexed) ...[ - if (i > 0) const SizedBox(width: AppSpace.s2), - Expanded( - child: _PlanetCard( - planet: p, - image: GalaxyHomeScreen.cardImageOf(p, i), - selected: p.isMine, - onTap: () => _choose(p), + // 이클립스 인앱 경보 — 별첨 1 ① 「푸시 미수신 단말 — 인앱 + // 워닝 배너 병행」. 대상은 내 행성이다. + if (mine.where((p) => p.isMine).firstOrNull + case final my?) + EclipseBanner( + repository: widget.eclipse, + fandomId: my.id, + margin: const EdgeInsets.fromLTRB( + 16, + AppSpace.s3, + 16, + 0, ), + onTap: _openMap, ), - ], - // 시안은 항상 세 칸이다. 행성이 모자라면 빈 칸을 둔다. - for (var i = mine.length; i < 3; i++) ...[ - if (i > 0) const SizedBox(width: AppSpace.s2), - const Expanded(child: _EmptySlot()), - ], + // 「내 행성」 ABeeZee 26 · 우측 목록 아이콘 24 → 궤도 맵 (줄 44 · 위아래 4) + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 4, + ), + child: Row( + children: [ + Text( + context.l10n.galaxyMyPlanets, + style: const TextStyle( + fontFamily: AppFonts.display, + fontWeight: FontWeight.w400, + fontSize: 26, + height: 1.4, + color: AppColors.onCosmic, + ), + ), + const Spacer(), + // 격자 ↔ 리스트(Figma `540:19580`). 궤도 맵은 선택된 카드를 눌러 연다. + InkResponse( + onTap: () => setState(() => _list = !_list), + radius: 20, + child: Semantics( + container: true, + button: true, + label: _list + ? context.l10n.galaxyGridView + : context.l10n.galaxyListView, + child: _list + ? const _GridIcon() + : Image.asset( + 'assets/figma/icon-list.png', + width: 24, + height: 24, + color: const Color(0xFF777777), + ), + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.all(16), + child: _list + ? _PlanetList( + planets: mine, + imageOf: GalaxyHomeScreen.cardImageOf, + onTap: _choose, + ) + : _PlanetGrid(planets: mine, onTap: _choose), + ), ], ), ), @@ -303,7 +317,13 @@ class _GalaxyHomeScreenState extends State { left: 0, right: 0, bottom: 16, - child: Center(child: _NebulaPill(onTap: _createNebula)), + child: Center( + child: _NebulaPill( + onTap: _createNebula, + // 일 1회 생성 뒤 비활성화(Figma `540:19592`). 눌러도 초과 안내 모달만 뜬다. + disabled: data.nebulaCreatedToday, + ), + ), ), ], ); @@ -426,44 +446,221 @@ class _EmptySlot extends StatelessWidget { } class _NebulaPill extends StatelessWidget { - const _NebulaPill({required this.onTap}); + const _NebulaPill({required this.onTap, this.disabled = false}); final VoidCallback onTap; + final bool disabled; @override Widget build(BuildContext context) { - return Material( - color: const Color(0xFF19191C), - borderRadius: BorderRadius.circular(AppRadius.full), - child: InkWell( - onTap: onTap, + return Opacity( + opacity: disabled ? 0.4 : 1, + child: Material( + color: const Color(0xFF19191C), borderRadius: BorderRadius.circular(AppRadius.full), - child: Container( - height: 36, - padding: const EdgeInsets.symmetric(horizontal: AppSpace.s4), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(AppRadius.full), - border: Border.all(color: AppColors.cosmicSurfaceRaised), - ), - // 시안 — Iconset/badge 16 · 간격 6 · 「성운 생성」 14/500 #a3a2a0 - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - const ImageIcon( - AppIcons.badge, - size: 16, - color: AppColors.cosmicAccent, - ), - const SizedBox(width: 6), - Text( - context.l10n.nebulaCreate, - style: const TextStyle( - fontFamily: AppFonts.body, - fontSize: 14, - fontWeight: FontWeight.w500, - height: 20 / 14, - color: AppColors.onCosmicVariant, + child: InkWell( + onTap: onTap, + borderRadius: BorderRadius.circular(AppRadius.full), + child: Container( + height: 36, + padding: const EdgeInsets.symmetric(horizontal: AppSpace.s4), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(AppRadius.full), + border: Border.all(color: AppColors.cosmicSurfaceRaised), + ), + // 시안 — Iconset/badge 16 · 간격 6 · 「성운 생성」 14/500 #a3a2a0 + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const ImageIcon( + AppIcons.badge, + size: 16, + color: AppColors.cosmicAccent, ), + const SizedBox(width: 6), + Text( + context.l10n.nebulaCreate, + style: const TextStyle( + fontFamily: AppFonts.body, + fontSize: 14, + fontWeight: FontWeight.w500, + height: 20 / 14, + color: AppColors.onCosmicVariant, + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +/// 격자 — 세 칸씩 줄을 채운다. 행성이 셋보다 적으면 빈 칸으로 한 줄을 맞춘다(시안 세 칸). +class _PlanetGrid extends StatelessWidget { + const _PlanetGrid({required this.planets, required this.onTap}); + + final List planets; + final ValueChanged onTap; + + @override + Widget build(BuildContext context) { + final cells = planets.length < 3 ? 3 : (planets.length + 2) ~/ 3 * 3; + return Column( + children: [ + for (var row = 0; row < cells; row += 3) ...[ + if (row > 0) const SizedBox(height: AppSpace.s2), + Row( + children: [ + for (var i = row; i < row + 3; i++) ...[ + if (i > row) const SizedBox(width: AppSpace.s2), + Expanded( + child: i < planets.length + ? _PlanetCard( + planet: planets[i], + image: GalaxyHomeScreen.cardImageOf(planets[i], i), + selected: planets[i].isMine, + onTap: () => onTap(planets[i]), + ) + : const _EmptySlot(), + ), + ], + ], + ), + ], + ], + ); + } +} + +/// 리스트 그리드 — 시안 `354:221533`: 80×79 #2c2c2c r8 칸(그림 64) · 간격 15 · 이름 16/600, +/// 줄 사이 1px #2c2c2c. 선택된 행성은 칸 위에 「선택」 알약. +class _PlanetList extends StatelessWidget { + const _PlanetList({ + required this.planets, + required this.imageOf, + required this.onTap, + }); + + final List planets; + final String Function(PlanetNode, [int]) imageOf; + final ValueChanged onTap; + + @override + Widget build(BuildContext context) => Column( + children: [ + for (final (i, p) in planets.indexed) ...[ + if (i > 0) + const Padding( + padding: EdgeInsets.symmetric(vertical: 8), + child: Divider(height: 1, thickness: 1, color: Color(0xFF2C2C2C)), + ), + InkWell( + onTap: () => onTap(p), + child: Row( + children: [ + SizedBox( + width: 80, + height: 79, + child: Stack( + children: [ + Positioned.fill( + child: DecoratedBox( + decoration: BoxDecoration( + color: const Color(0xFF2C2C2C), + borderRadius: BorderRadius.circular(8), + ), + child: Padding( + padding: const EdgeInsets.all(8), + child: PlanetArt( + fallback: imageOf(p, i), + planetType: p.stage == 0 ? null : p.planetType, + colorKey: p.colorKey, + semanticLabel: p.name, + ), + ), + ), + ), + if (p.isMine) + Positioned( + top: 0, + right: 0, + child: Container( + width: 32, + height: 24, + alignment: Alignment.center, + decoration: BoxDecoration( + color: AppColors.cosmicAccent, + borderRadius: BorderRadius.circular(AppRadius.full), + ), + child: Text( + context.l10n.commonSelect, + style: const TextStyle( + fontFamily: AppFonts.body, + fontSize: 12, + fontWeight: FontWeight.w600, + height: 1, + color: AppColors.onCosmic, + ), + ), + ), + ), + ], + ), + ), + const SizedBox(width: 15), + Expanded( + child: Text( + p.name, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: const TextStyle( + fontFamily: AppFonts.body, + fontSize: 16, + fontWeight: FontWeight.w600, + height: 22 / 16, + color: AppColors.onCosmic, + ), + ), + ), + ], + ), + ), + ], + ], + ); +} + +/// 리스트 상태의 「격자로」 아이콘 — 시안 9×9 r1 #777777 네 칸(20×20). +class _GridIcon extends StatelessWidget { + const _GridIcon(); + + @override + Widget build(BuildContext context) { + Widget sq() => Container( + width: 9, + height: 9, + decoration: BoxDecoration( + color: const Color(0xFF777777), + borderRadius: BorderRadius.circular(1), + ), + ); + return SizedBox.square( + dimension: 24, + child: Center( + child: SizedBox.square( + dimension: 20, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [sq(), sq()], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [sq(), sq()], ), ], ), diff --git a/app/lib/features/galaxy/galaxy_repository_firestore.dart b/app/lib/features/galaxy/galaxy_repository_firestore.dart index 87e2677..4266cfb 100644 --- a/app/lib/features/galaxy/galaxy_repository_firestore.dart +++ b/app/lib/features/galaxy/galaxy_repository_firestore.dart @@ -26,13 +26,20 @@ class FirestoreGalaxyRepository implements GalaxyRepository { final user = userSnap.data() ?? const {}; // 대표 팬덤(C-15). `primaryFandomId` 가 없던 계정은 옛 `fandomId` 를 쓴다. final myFandomId = user.strOr('primaryFandomId', user.strOr('fandomId')); - // 「가입 또는 생성한 행성/성운」 — 최신 가입순. 시안 그리드가 세 칸이라 셋만 읽는다. - // ponytail: 모아보기 리스트 그리드(명세 §2.58-2)를 붙이면 limit 과 페이지를 연다. + // 「가입 또는 생성한 행성/성운」 — 최신 가입순 전부(Figma `540:19586`). 세 칸은 한 줄의 칸 수다. final membershipsF = db .collection('users/$uid/memberships') .orderBy('joinedAt', descending: true) - .limit(3) .get(); + // 오늘(KST) 성운 생성 기록 — 서버 `dayKey`(UTC+9)와 같은 키. + final kst = DateTime.now().toUtc().add(const Duration(hours: 9)); + final todayKey = + '${kst.year.toString().padLeft(4, '0')}-${kst.month.toString().padLeft(2, '0')}-${kst.day.toString().padLeft(2, '0')}'; + // 규칙 배포 전이면 읽기가 거부된다 — 그때는 버튼을 막지 않고 서버 판정(E-FDM-02)에 맡긴다. + final createdTodayF = db + .doc('users/$uid/nebulaCreates/$todayKey') + .get() + .then((d) => d.exists, onError: (_) => false); final fandomsF = db .collection('fandoms') @@ -102,6 +109,7 @@ class FirestoreGalaxyRepository implements GalaxyRepository { // Zap 은 가입·생성한 사용자에게만 보인다(Figma 「Zap 버튼」 규칙). joined: myFandomId.isNotEmpty, memberships: [for (final id in membershipIds) ?byId[id]], + nebulaCreatedToday: await createdTodayF, joinedIds: { ...?(user['fandomIds'] as List?)?.whereType(), if (myFandomId.isNotEmpty) myFandomId, @@ -118,7 +126,8 @@ class FirestoreGalaxyRepository implements GalaxyRepository { if (q.isEmpty) return const []; final uid = _backend.requireUid; final db = _backend.db; - final user = (await db.doc('users/$uid').get()).data() ?? const {}; + final user = + (await db.doc('users/$uid').get()).data() ?? const {}; final myFandomId = user.strOr('primaryFandomId', user.strOr('fandomId')); final names = await db .collection('fandomNames') @@ -130,7 +139,9 @@ class FirestoreGalaxyRepository implements GalaxyRepository { for (final d in names.docs) if (d.data()['fandomId'] case final String id when id.isNotEmpty) id, }; - final docs = await Future.wait([for (final id in ids) db.doc('fandoms/$id').get()]); + final docs = await Future.wait([ + for (final id in ids) db.doc('fandoms/$id').get(), + ]); return [ for (final doc in docs) if (doc.data() case final data?) @@ -152,7 +163,9 @@ class FirestoreGalaxyRepository implements GalaxyRepository { _ => null, }, colorKey: data['colorKey'] is String ? data['colorKey'] as String : null, - planetType: data['planetType'] is String ? data['planetType'] as String : null, + planetType: data['planetType'] is String + ? data['planetType'] as String + : null, name: data.strOr('name', id), rank: rank, fpi: data.intOr('fpiScore'), diff --git a/app/lib/features/galaxy/galaxy_screen.dart b/app/lib/features/galaxy/galaxy_screen.dart index cc3f291..dfccaf1 100644 --- a/app/lib/features/galaxy/galaxy_screen.dart +++ b/app/lib/features/galaxy/galaxy_screen.dart @@ -573,11 +573,9 @@ class _Map extends StatelessWidget { state: e, onTap: () => Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute( - builder: (_) => EclipseDefendScreen( - repository: eclipseRepository, - fandomId: e.fandomId, - ), + eclipseDefendRoute( + repository: eclipseRepository, + fandomId: e.fandomId, ), ), ), diff --git a/app/lib/features/galaxy/galaxy_search_screen.dart b/app/lib/features/galaxy/galaxy_search_screen.dart index 423904b..fdd548c 100644 --- a/app/lib/features/galaxy/galaxy_search_screen.dart +++ b/app/lib/features/galaxy/galaxy_search_screen.dart @@ -4,7 +4,10 @@ import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../../core/theme/tokens.dart'; +import '../../core/data/backend.dart' show BackendException; +import '../../core/ui/planet_25d.dart' show PlanetArt; import '../../core/ui/play_banner.dart'; +import '../planet/widgets/fandom_size_badge.dart'; import 'galaxy_data.dart'; import '../../core/format.dart'; import '../../core/i18n/app_locale.dart'; @@ -20,10 +23,14 @@ class GalaxySearchScreen extends StatefulWidget { super.key, this.repository = const SampleGalaxyRepository(), this.onOpen, + this.onJoin, }); final GalaxyRepository repository; + /// 결과 줄의 「가입」 — Figma `543:19694` 「가입 처리 후 가입중 버튼스타일로 변경」. + final Future Function(PlanetNode planet)? onJoin; + /// 결과 줄을 누르면 그 행성 상세로 — 상세 화면 저장소는 부르는 쪽이 안다. final void Function(PlanetNode planet)? onOpen; @@ -41,6 +48,17 @@ class _GalaxySearchScreenState extends State { String _query = ''; + /// Figma `543:19672` 탭 — 디폴트 행성(false) · 성운(true). + bool _nebulaTab = false; + + /// Figma `543:19683` 필터 — 디폴트 전체. 행성: 전체 · 가입자 수 · FPI / 성운: 전체 · 가입자 수. + /// 성운의 「기여율」 필터 · 칩(`543:19704` · `543:19714`)은 기여율의 정의가 자료에 없어 해석 확인 후 붙인다. + _Sort _sort = _Sort.all; + + /// 이 화면에서 가입한 행성 — 서버 확인 뒤 「가입중」으로 바꾼다. + final _joined = {}; + final _joining = {}; + /// 전체 행성 검색 결과 — 입력이 멈춘 뒤 서버에 묻는다. Future>? _hits; Timer? _debounce; @@ -55,8 +73,15 @@ class _GalaxySearchScreenState extends State { Future _loadRecent() async { try { - final saved = (await SharedPreferences.getInstance()).getStringList(_recentKey); - if (mounted && saved != null) setState(() => _recent..clear()..addAll(saved)); + final saved = (await SharedPreferences.getInstance()).getStringList( + _recentKey, + ); + if (mounted && saved != null) + setState( + () => _recent + ..clear() + ..addAll(saved), + ); } catch (_) { // 기기 저장소를 못 쓰면 이번 화면 안에서만 기억한다. } @@ -64,7 +89,10 @@ class _GalaxySearchScreenState extends State { Future _saveRecent() async { try { - await (await SharedPreferences.getInstance()).setStringList(_recentKey, _recent); + await (await SharedPreferences.getInstance()).setStringList( + _recentKey, + _recent, + ); } catch (_) {} } @@ -95,6 +123,24 @@ class _GalaxySearchScreenState extends State { super.dispose(); } + Future _join(PlanetNode p) async { + final join = widget.onJoin; + if (join == null || _joining.contains(p.id)) return; + setState(() => _joining.add(p.id)); + try { + await join(p); + if (mounted) setState(() => _joined.add(p.id)); + } on BackendException catch (e) { + if (mounted) { + ScaffoldMessenger.of( + context, + ).showSnackBar(SnackBar(content: Text(e.message))); + } + } finally { + if (mounted) setState(() => _joining.remove(p.id)); + } + } + void _submit(String q) { final term = q.trim(); if (term.isEmpty) return; @@ -201,19 +247,64 @@ class _GalaxySearchScreenState extends State { result.connectionState != ConnectionState.done) { return const Center(child: CircularProgressIndicator()); } - final hits = result.data ?? const []; - if (hits.isEmpty) return const _NoHit(); - return ListView.separated( - padding: const EdgeInsets.all(AppSpace.s4), - itemCount: hits.length, - separatorBuilder: (_, _) => - const SizedBox(height: AppSpace.s2), - itemBuilder: (context, i) => _Hit( - planet: hits[i], - onTap: widget.onOpen == null - ? null - : () => widget.onOpen!(hits[i]), - ), + final all = result.data ?? const []; + final joinedIds = { + ...(snap.data?.joinedIds ?? const {}), + ..._joined, + }; + final hits = [ + for (final p in all) + if ((p.stage == 0) == _nebulaTab) p, + ]; + switch (_sort) { + case _Sort.all: + break; + case _Sort.members: + hits.sort((a, b) => b.members.compareTo(a.members)); + case _Sort.fpi: + hits.sort((a, b) => b.fpi.compareTo(a.fpi)); + } + return Column( + children: [ + _Tabs( + nebula: _nebulaTab, + onPick: (v) => setState(() { + _nebulaTab = v; + if (v && _sort == _Sort.fpi) _sort = _Sort.all; + }), + ), + _Filters( + nebula: _nebulaTab, + sort: _sort, + onPick: (v) => setState(() => _sort = v), + ), + Expanded( + child: hits.isEmpty + ? const _NoHit() + : ListView.separated( + padding: const EdgeInsets.all(AppSpace.s4), + itemCount: hits.length, + separatorBuilder: (_, _) => + const SizedBox(height: 24), + itemBuilder: (context, i) { + final p = hits[i]; + final joined = + p.isMine || joinedIds.contains(p.id); + return _Hit( + planet: p, + joined: joined, + busy: _joining.contains(p.id), + onJoin: joined || widget.onJoin == null + ? null + : () => _join(p), + onTap: widget.onOpen == null + ? null + : () => widget.onOpen!(p), + ); + }, + ), + ), + ], ); }, ); @@ -290,13 +381,19 @@ class _Recent extends StatelessWidget { ), ) else - Wrap( - spacing: AppSpace.s2, - runSpacing: AppSpace.s2, - children: [ - for (final term in terms) - ActionChip(label: Text(term), onPressed: () => onPick(term)), - ], + // Figma `543:19637` 「검색 결과 칩의 최대 높이는 3줄」 — 칩 33 · 줄 간격 10. + ConstrainedBox( + constraints: const BoxConstraints(maxHeight: 33 * 3 + 10 * 2), + child: ClipRect( + child: Wrap( + spacing: AppSpace.s2, + runSpacing: 10, + children: [ + for (final term in terms) + ActionChip(label: Text(term), onPressed: () => onPick(term)), + ], + ), + ), ), ], ); @@ -318,46 +415,205 @@ class _NoHit extends StatelessWidget { ); } +enum _Sort { all, members, fpi } + +/// 탭 — 시안 `353:218091` 375×44 · 칸 171 · 16/500(선택 #4bc2ae 밑줄). +class _Tabs extends StatelessWidget { + const _Tabs({required this.nebula, required this.onPick}); + + final bool nebula; + final ValueChanged onPick; + + @override + Widget build(BuildContext context) => SizedBox( + height: 44, + child: Row( + children: [ + for (final (v, label) in [ + (false, context.l10n.galaxyTabPlanet), + (true, context.l10n.galaxyTabNebula), + ]) + Expanded( + child: InkWell( + onTap: () => onPick(v), + child: Container( + alignment: Alignment.center, + decoration: BoxDecoration( + border: Border( + bottom: BorderSide( + color: v == nebula + ? AppColors.cosmicTeal + : const Color(0xFF1A1A1A), + width: v == nebula ? 2 : 1, + ), + ), + ), + child: Text( + label, + style: _t( + 16, + v == nebula + ? AppColors.cosmicTeal + : const Color(0xFFBBBBBB), + FontWeight.w500, + 1, + ), + ), + ), + ), + ), + ], + ), + ); +} + +/// 필터 칩 — 시안 32 높이 r8 · 선택 #ffffff(글자 검정) · 비선택 #1a1a1a · 12/500. +class _Filters extends StatelessWidget { + const _Filters({ + required this.nebula, + required this.sort, + required this.onPick, + }); + + final bool nebula; + final _Sort sort; + final ValueChanged<_Sort> onPick; + + @override + Widget build(BuildContext context) => SizedBox( + height: 48, + child: ListView( + scrollDirection: Axis.horizontal, + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + children: [ + for (final (v, label) in [ + (_Sort.all, context.l10n.commonAll), + (_Sort.members, context.l10n.galaxySortMembers), + if (!nebula) (_Sort.fpi, 'FPI'), + ]) ...[ + GestureDetector( + onTap: () => onPick(v), + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 10), + alignment: Alignment.center, + decoration: BoxDecoration( + color: v == sort ? Colors.white : const Color(0xFF1A1A1A), + borderRadius: BorderRadius.circular(8), + ), + child: Text( + label, + style: _t( + 12, + v == sort ? Colors.black : AppColors.onCosmic, + FontWeight.w500, + 20 / 12, + ), + ), + ), + ), + const SizedBox(width: 4), + ], + ], + ), + ); +} + +/// 결과 한 줄 — 시안 `353:218091`: 그림 70 · 간격 15 · 이름 16/600 · 규모 칩 · 사람 14 + 수 12/500 · +/// 「FPI : n」 12/500, 오른쪽 「가입」(#ff7ddd) / 「가입중」(#1a1a1a) 알약 30 높이. class _Hit extends StatelessWidget { - const _Hit({required this.planet, this.onTap}); + const _Hit({ + required this.planet, + required this.joined, + this.busy = false, + this.onJoin, + this.onTap, + }); final PlanetNode planet; + final bool joined; + final bool busy; + final VoidCallback? onJoin; final VoidCallback? onTap; @override Widget build(BuildContext context) { - final t = Theme.of(context).textTheme; + final nebula = planet.stage == 0; return GestureDetector( behavior: HitTestBehavior.opaque, onTap: onTap, - child: Container( - padding: const EdgeInsets.all(AppSpace.s4), - decoration: BoxDecoration( - color: AppColors.cosmicSurfaceContainer, - borderRadius: BorderRadius.circular(AppRadius.md), - ), - child: Row( - children: [ - Text( - planet.rankLabel, - style: t.titleMedium?.copyWith(color: AppColors.cosmicAccent), + child: Row( + children: [ + SizedBox.square( + dimension: 70, + child: PlanetArt( + fallback: nebula + ? 'assets/figma/nebula-card.png' + : 'assets/figma/planet-detail-hero.png', + planetType: nebula ? null : planet.planetType, + colorKey: planet.colorKey, + semanticLabel: planet.name, ), - const SizedBox(width: AppSpace.s4), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(planet.name, style: t.bodyMedium), - Text( - context.l10n.galaxyMembers(formatPop(planet.members)), - style: t.labelSmall, - ), - ], + ), + const SizedBox(width: 15), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + planet.name, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: _t(16, AppColors.onCosmic, FontWeight.w600, 1), + ), + const SizedBox(height: 6), + Row( + children: [ + if (!nebula) ...[ + FandomSizeBadge(members: planet.members), + const SizedBox(width: 8), + ], + const Icon( + Icons.person, + size: 14, + color: Color(0xFF777777), + ), + const SizedBox(width: 3), + Text( + formatPop(planet.members), + style: _t(12, AppColors.onCosmic, FontWeight.w500, 1), + ), + if (!nebula) ...[ + const SizedBox(width: 8), + Text( + 'FPI : ${formatPop(planet.fpi)}', + style: _t(12, AppColors.onCosmic, FontWeight.w500, 1), + ), + ], + ], + ), + ], + ), + ), + const SizedBox(width: 8), + GestureDetector( + onTap: busy ? null : onJoin, + child: Container( + height: 30, + padding: const EdgeInsets.symmetric(horizontal: 12), + alignment: Alignment.center, + decoration: BoxDecoration( + color: joined + ? const Color(0xFF1A1A1A) + : AppColors.cosmicAccent, + borderRadius: BorderRadius.circular(AppRadius.full), + ), + child: Text( + joined ? context.l10n.planetJoined : context.l10n.galaxyJoin, + style: _t(14, AppColors.onCosmic, FontWeight.w500, 1), ), ), - Text('FPI ${formatPop(planet.fpi)}', style: t.bodySmall), - ], - ), + ), + ], ), ); } diff --git a/app/lib/features/home/home_data.dart b/app/lib/features/home/home_data.dart index 1ca1a36..dc16042 100644 --- a/app/lib/features/home/home_data.dart +++ b/app/lib/features/home/home_data.dart @@ -24,6 +24,7 @@ class PlanetGrowth { this.requiredMembers, this.nebulaGoalPassed = false, this.isFounder = false, + this.photoUrl, required this.fandomName, required this.contributorName, required this.contributedPop, @@ -36,8 +37,15 @@ class PlanetGrowth { final int? stage; final String fandomName; - /// 직전 기여자. 「BTS_Hong 님의 1,230 POP 기여로 …」 문구에 쓴다. + /// 히어로 인사 줄의 이름 — 설명 프레임 `2097:16391` 「프로필 · 닉네임 · 타이틀 - **로그인 + /// 사용자 기준** 노출」이라 로그인한 사용자다(팬덤의 직전 기여자가 아니다). final String contributorName; + + /// 인사 줄 아바타 — 로그인 사용자의 프로필 사진(`users/{uid}.photoUrl`). 없으면 이니셜. + final String? photoUrl; + + /// 「{N} POP 기여로 …」의 N. 로그인 사용자의 어느 기여량인지 자료에 정의가 없어(해석 확인 + /// Q-A17) 실 서버는 0 으로 두고 숫자 없는 문구를 쓴다. final int contributedPop; bool get hasRecentContribution => diff --git a/app/lib/features/home/home_repository_firestore.dart b/app/lib/features/home/home_repository_firestore.dart index e4f19e7..c0b96ef 100644 --- a/app/lib/features/home/home_repository_firestore.dart +++ b/app/lib/features/home/home_repository_firestore.dart @@ -26,6 +26,10 @@ class FirestoreHomeRepository implements HomeRepository { final Backend _backend; + /// 히어로 인사 줄의 로그인 사용자(설명 프레임 `2097:16391`). [load] 가 채우고 [watchGrowth] 도 쓴다. + String _myName = ''; + String? _myPhoto; + @override Stream watchGrowth(String fandomId) { if (fandomId.isEmpty) return const Stream.empty(); @@ -107,6 +111,8 @@ class FirestoreHomeRepository implements HomeRepository { final userSnap = await db.doc('users/$uid').get(); final user = userSnap.data() ?? const {}; final fandomId = user.strOr('fandomId'); + _myName = publicName(user['nickname']); + _myPhoto = user.strOr('photoUrl').isEmpty ? null : user.strOr('photoUrl'); // 홈 한 화면에 필요한 것을 병렬로 띄운다. 순차로 기다리면 왕복이 그대로 쌓인다. final walletF = db.doc('users/$uid/wallet/main').get(); @@ -366,11 +372,12 @@ class FirestoreHomeRepository implements HomeRepository { return PlanetGrowth( stage: stage, fandomName: fandom.strOr('name', fandomId), - // 기존 데이터에 이메일 형태가 남아 있어도 가린다. - contributorName: fandom.containsKey('lastContributorName') - ? publicName(fandom['lastContributorName']) - : '', - contributedPop: fandom.intOr('lastContributedPop'), + // 설명 프레임 `2097:16391` — 프로필 · 닉네임은 로그인 사용자 기준. 팬덤 문서의 직전 + // 기여자(`lastContributorName`)를 쓰면 남의 이름이 「님의 … 기여로」에 올라 내 것처럼 읽힌다. + contributorName: _myName, + photoUrl: _myPhoto, + // 「N POP 기여로」의 N 이 어느 기여량인지 정의가 없다(Q-A17) — 회신 전에는 숫자 없는 문구. + contributedPop: 0, growthPercent: current != null && goal != null && goal > 0 ? ((current / goal) * 100).clamp(0, 100).round() : null, diff --git a/app/lib/features/home/home_screen.dart b/app/lib/features/home/home_screen.dart index 66887a8..cc587ab 100644 --- a/app/lib/features/home/home_screen.dart +++ b/app/lib/features/home/home_screen.dart @@ -16,6 +16,7 @@ import 'package:go_router/go_router.dart'; import '../../core/format.dart'; import '../../core/i18n/app_locale.dart'; import '../../core/theme/tokens.dart'; +import '../../core/ui/app_dialog.dart' show slideUpRoute; import '../../core/ui/app_icons.dart'; import '../../core/data/planet_visual_state.dart'; import '../../core/ui/live_stream.dart'; @@ -167,7 +168,7 @@ class _HomeScreenState extends State with WidgetsBindingObserver { final created = await Navigator.of( context, rootNavigator: true, - ).push(MaterialPageRoute(builder: (_) => screen)); + ).push(slideUpRoute((_) => screen)); if (created == null || !mounted) return; if (widget.galaxyRepository case final repository?) { setState(() { @@ -287,7 +288,7 @@ class _LiveTickerSlot extends StatelessWidget { } /// 홈 헤더 — 성장 완료 · 첫 사용자 상태 화면도 같은 헤더를 쓴다. -class HomeHeader extends StatelessWidget { +class HomeHeader extends StatefulWidget { const HomeHeader({ super.key, required this.pop, @@ -306,71 +307,116 @@ class HomeHeader extends StatelessWidget { final List items; @override - Widget build(BuildContext context) => Padding( - // 사본 `Top Navigation` — 높이 54 · 패딩 6/16 · 오른쪽 묶음은 알약 + 42 아이콘 두 개. - padding: const EdgeInsets.symmetric(horizontal: AppSpace.s4, vertical: 6), - child: SizedBox( - height: 42, - child: Row( - children: [ - const Text( - 'FANUZU', - style: TextStyle( - fontFamily: 'Pretendard', - fontSize: 20, - fontWeight: FontWeight.w900, - height: 1.4, - letterSpacing: -0.5, - color: AppColors.cosmicAccent, - ), - ), - const Spacer(), - _PopBalance(value: pop), - IconButton( - constraints: const BoxConstraints.tightFor(width: 42, height: 42), - // 사본 `icon` 42 칸 — 테마 최소 크기(48)로 늘어나 POP 알약이 왼쪽으로 밀리지 않게. - style: IconButton.styleFrom( - minimumSize: const Size.square(42), - tapTargetSize: MaterialTapTargetSize.shrinkWrap, - ), - padding: EdgeInsets.zero, - icon: const Image( - image: AssetImage('assets/figma/icon-wallet.png'), - width: 42, - height: 42, - ), - // 사본 `252:159367` — 홈 주 프레임에 열린 「아이템 구입」 시트. - onPressed: () => showItemSheet( - context, - items: items, - purchase: true, - fandomId: fandomId, - ), - tooltip: context.l10n.homeItemsTooltip, - ), - IconButton( - constraints: const BoxConstraints.tightFor(width: 42, height: 42), - // 사본 `icon` 42 칸 — 테마 최소 크기(48)로 늘어나 POP 알약이 왼쪽으로 밀리지 않게. - style: IconButton.styleFrom( - minimumSize: const Size.square(42), - tapTargetSize: MaterialTapTargetSize.shrinkWrap, - ), - padding: EdgeInsets.zero, - // 사본 `icon` 42 칸 안 lucide/bell 20. - iconSize: 20, - icon: const ImageIcon(AppIcons.bell, color: AppColors.onCosmic), - // 알림 — 화면 대조 원장 F0 · `229:11265`. - onPressed: () => Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute( - builder: (_) => NotificationScreen(repository: notifications), + State createState() => _HomeHeaderState(); +} + +class _HomeHeaderState extends State { + /// 안 읽은 알림이 있는가 — 설명 프레임 `2097:16385` 「알림 - 알림 아이콘 / 알림 상태값 · + /// 알림 존재 시 배찌 알림으로 변경」. 알림함은 닫힐 때 읽음 상태를 돌려주므로(`518:88347`) + /// 돌아오면 다시 읽는다. + bool _unread = false; + + @override + void initState() { + super.initState(); + _checkUnread(); + } + + Future _checkUnread() async { + try { + final items = await widget.notifications.load(); + if (mounted) setState(() => _unread = items.any((i) => !i.read)); + } catch (_) { + // 읽지 못하면 배지를 띄우지 않는다 — 알림함 자체는 열린다. + } + } + + @override + Widget build(BuildContext context) { + final pop = widget.pop; + final items = widget.items; + final fandomId = widget.fandomId; + final notifications = widget.notifications; + return Padding( + // 사본 `Top Navigation` — 높이 54 · 패딩 6/16 · 오른쪽 묶음은 알약 + 42 아이콘 두 개. + padding: const EdgeInsets.symmetric(horizontal: AppSpace.s4, vertical: 6), + child: SizedBox( + height: 42, + child: Row( + children: [ + const Text( + 'FANUZU', + style: TextStyle( + fontFamily: 'Pretendard', + fontSize: 20, + fontWeight: FontWeight.w900, + height: 1.4, + letterSpacing: -0.5, + color: AppColors.cosmicAccent, ), ), - tooltip: context.l10n.homeNotificationsTooltip, - ), - ], + const Spacer(), + _PopBalance(value: pop), + IconButton( + constraints: const BoxConstraints.tightFor(width: 42, height: 42), + // 사본 `icon` 42 칸 — 테마 최소 크기(48)로 늘어나 POP 알약이 왼쪽으로 밀리지 않게. + style: IconButton.styleFrom( + minimumSize: const Size.square(42), + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + padding: EdgeInsets.zero, + icon: const Image( + image: AssetImage('assets/figma/icon-wallet.png'), + width: 42, + height: 42, + ), + // 사본 `252:159367` — 홈 주 프레임에 열린 「아이템 구입」 시트. + onPressed: () => showItemSheet( + context, + items: items, + purchase: true, + fandomId: fandomId, + ), + tooltip: context.l10n.homeItemsTooltip, + ), + IconButton( + constraints: const BoxConstraints.tightFor(width: 42, height: 42), + // 사본 `icon` 42 칸 — 테마 최소 크기(48)로 늘어나 POP 알약이 왼쪽으로 밀리지 않게. + style: IconButton.styleFrom( + minimumSize: const Size.square(42), + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + padding: EdgeInsets.zero, + // 사본 `icon` 42 칸 안 lucide/bell 20. + iconSize: 20, + // 배지 모양은 Figma 에 그림이 없어 테마 기본 점 배지(강조색)를 쓴다. + icon: Badge( + key: const ValueKey('home-bell-badge'), + isLabelVisible: _unread, + smallSize: 6, + backgroundColor: AppColors.cosmicAccent, + child: const ImageIcon( + AppIcons.bell, + color: AppColors.onCosmic, + ), + ), + // 알림 — 화면 대조 원장 F0 · `229:11265`. + onPressed: () async { + await Navigator.of(context, rootNavigator: true).push( + MaterialPageRoute( + builder: (_) => + NotificationScreen(repository: notifications), + ), + ); + await _checkUnread(); + }, + tooltip: context.l10n.homeNotificationsTooltip, + ), + ], + ), ), - ), - ); + ); + } } class _HomeBody extends StatelessWidget { @@ -488,35 +534,7 @@ class _HomeBody extends StatelessWidget { fallback: data.liveTicker, ), onClose: () => onMap(false), - onSearch: () => - Navigator.of( - context, - rootNavigator: true, - ).push( - MaterialPageRoute( - builder: (_) => GalaxySearchScreen( - repository: zap!.repository, - onOpen: (p) => - Navigator.of( - context, - rootNavigator: true, - ).push( - MaterialPageRoute( - builder: (_) => - PlanetDetailScreen( - repository: - planetRepository!( - p.id, - ), - watchPlanet: - watchPlanet, - eclipse: eclipse, - ), - ), - ), - ), - ), - ), + onSearch: () => _openSearch(context), ) : HomeHero( key: const ValueKey('home-hero'), @@ -604,9 +622,8 @@ class _HomeBody extends StatelessWidget { myPop: data.popBalance, ), ), - // 행성 가입은 GALAXY 에서 한다(사본 시트 「행성 가입」). - onJoin: () => - GoRouter.maybeOf(context)?.go('/galaxy'), + // 설명 프레임 `516:87335` 「행성 가입 버튼 - 클릭 시 Galaxy 검색 화면 이동」. + onJoin: () => _openSearch(context), zapButtonKey: zapKey, onHeroParticipate: _heroParticipate(context), eclipseButton: data.fandomId.isEmpty @@ -614,6 +631,7 @@ class _HomeBody extends StatelessWidget { : EclipseEventButton( repository: eclipse, fandomId: data.fandomId, + nebula: (growth ?? data.growth).isNebula, ), ), ), @@ -842,6 +860,33 @@ class _HomeBody extends StatelessWidget { ); } + /// 갤럭시 검색 — 확장 맵 돋보기(`2008:14560`)와 첫 사용자 시트 「행성 가입」(`516:87335`). + /// 지도 저장소가 없으면(표본 모드) GALAXY 탭으로 물러난다. + void _openSearch(BuildContext context) { + final galaxyRepository = zap?.repository; + if (galaxyRepository == null || planetRepository == null) { + GoRouter.maybeOf(context)?.go('/galaxy'); + return; + } + final navigator = Navigator.of(context, rootNavigator: true); + navigator.push( + MaterialPageRoute( + builder: (_) => GalaxySearchScreen( + repository: galaxyRepository, + onOpen: (p) => navigator.push( + MaterialPageRoute( + builder: (_) => PlanetDetailScreen( + repository: planetRepository!(p.id), + watchPlanet: watchPlanet, + eclipse: eclipse, + ), + ), + ), + ), + ), + ); + } + VoidCallback? _heroParticipate(BuildContext context) => planetRepository == null || data.fandomId.isEmpty ? null diff --git a/app/lib/features/home/nebula_create_screen.dart b/app/lib/features/home/nebula_create_screen.dart index e7f1318..b44d719 100644 --- a/app/lib/features/home/nebula_create_screen.dart +++ b/app/lib/features/home/nebula_create_screen.dart @@ -13,7 +13,9 @@ import '../../core/i18n/app_locale.dart'; /// 틀은 사본(이름 입력 → 성운 → 목표 영역 → 「성운 생성」)이고 숫자는 정책 원장이다. /// B-10 — 성운은 **10명 이상 + 1,000 POP 이상**을 기본 목표 **7일** 안에 채우면 정식 /// 행성이 된다. 목표가 고정값이라 사본의 목표 슬라이더 자리에는 조작할 수 없는 고정 -/// 표시를 둔다(사본 슬라이더 ↔ 원장 고정값, 해석 확인 문항). B-19 — 진화 참여자에게는 +/// 표시를 둔다. 근거는 발주사 10/3 통합회신(원장 C-112) 「성운 생성은 10 명 + 1,000 POP + +/// 기본 목표 7 일, 사용자 목표 POP 조작 없음」 — Figma `516:87407` 목표 POP · 창립멤버 핸들러를 +/// 이 회신이 대체한다. B-19 — 진화 참여자에게는 /// 기념 배지만 지급하므로 사본의 「1T 등급 · 거버넌스」 문장은 그 내용으로 바꾼다. /// /// 사본이 함께 그린 다이얼로그 두 개를 그대로 쓴다. @@ -52,6 +54,10 @@ class _NebulaCreateScreenState extends State { String? _takenName; bool get _taken => _takenName != null && _takenName == _value; + /// 설명 프레임 `516:87397` 「성운명 입력 필드 - 유효성 검증 오류 메시지」 — 서버 + /// `isValidNebulaName` 과 같은 규칙을 입력 칸에서 먼저 보인다(중복 · 금칙어는 서버 판정). + bool get _invalid => _name.text.isNotEmpty && !isValidNebulaName(_name.text); + @override void initState() { super.initState(); @@ -129,13 +135,15 @@ class _NebulaCreateScreenState extends State { ), ), const SizedBox(height: AppSpace.s5), - _NameInput(controller: _name, error: _taken), + _NameInput(controller: _name, error: _taken || _invalid), const SizedBox(height: 6), SizedBox( height: 17, - child: _taken + child: _taken || _invalid ? Text( - context.l10n.nebulaNameTaken, + _taken + ? context.l10n.nebulaNameTaken + : context.l10n.nebulaNameInvalid, textAlign: TextAlign.center, style: TextStyle( fontFamily: AppFonts.display, @@ -171,7 +179,7 @@ class _NebulaCreateScreenState extends State { 0, ), child: FilledButton( - onPressed: _taken ? null : _confirm, + onPressed: _taken || _invalid ? null : _confirm, style: FilledButton.styleFrom( minimumSize: const Size.fromHeight(56), shape: RoundedRectangleBorder( @@ -407,3 +415,10 @@ class _Target extends StatelessWidget { ], ); } + +/// 성운명 규칙 — 서버 `isValidNebulaName`(`account.ts`)과 같다: 2~20자 · 한글/영문/숫자/공백 · +/// 앞뒤 공백 · 연속 공백 불가. +bool isValidNebulaName(String name) => + RegExp(r'^[가-힣A-Za-z0-9 ]{2,20}$').hasMatch(name) && + name == name.trim() && + !name.contains(' '); diff --git a/app/lib/features/home/planet_create_screen.dart b/app/lib/features/home/planet_create_screen.dart index e20c9d2..c21f586 100644 --- a/app/lib/features/home/planet_create_screen.dart +++ b/app/lib/features/home/planet_create_screen.dart @@ -13,7 +13,9 @@ import '../../core/i18n/app_locale.dart'; /// /// 정책 원장 C-50 — 생성 때 고르는 것은 **최초 기본 모델의 형태와 컬러 두 가지**뿐이고, /// 생성 뒤 사용자가 외형을 바꾸는 입구는 없다. 그래서 사본의 「오브젝트 색 선택」 줄과 -/// 직접 색 고르기(스포이트) 칩은 두지 않는다. +/// 직접 색 고르기(스포이트) 칩은 두지 않는다. 사용자화(컬러 팔레트)를 빼는 근거는 발주사 +/// 10/3 통합회신 #6(원장 C-115) 「사용자 자유 HEX/RGB 컬러피커는 적용하지 않음」 — Figma +/// `2066:17910` 의 「사용자화」를 이 회신이 대체한다. 「오브젝트 색」 줄은 Q-A14 회신 대기. /// /// 형태 칸 · 미리보기는 행성 형태 시트 그림이다([planetShapeImage] — 6번 칸만 자리표시, Q-A14). class PlanetCreateScreen extends StatefulWidget { diff --git a/app/lib/features/home/widgets/home_hero.dart b/app/lib/features/home/widgets/home_hero.dart index 2fe6624..f7c9338 100644 --- a/app/lib/features/home/widgets/home_hero.dart +++ b/app/lib/features/home/widgets/home_hero.dart @@ -314,32 +314,42 @@ class _Contribution extends StatelessWidget { Widget build(BuildContext context) => Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - // 성운·첫 사용자 상태의 「{닉네임} 님의」는 기여 여부와 무관한 인사 줄이다. - if (growth.hasRecentContribution || - ((!joined || growth.isNebula) && - growth.contributorName.trim().isNotEmpty)) ...[ + // 「{닉네임} 님의」는 로그인 사용자의 인사 줄이다(설명 프레임 `2097:16391`). + if (growth.contributorName.trim().isNotEmpty) ...[ Row( children: [ - // 프로필 사진 자산이 데이터에 없어 이니셜로 그린다. + // 로그인 사용자의 프로필 사진(`2097:16391` 「프로필 - 이미지」). 없으면 이니셜. Container( width: 26, height: 26, alignment: Alignment.center, - decoration: const BoxDecoration( + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration( shape: BoxShape.circle, // 사본 `Ellipse 3` #9BF8A8(프로필 사진이 없을 때의 바탕). - color: Color(0xFF9BF8A8), - boxShadow: [BoxShadow(color: Color(0xB3000000), blurRadius: 4)], - ), - child: Text( - growth.contributorName.characters.firstOrNull ?? '—', - style: const TextStyle( - fontFamily: AppFonts.body, - fontSize: 12, - fontWeight: FontWeight.w500, - color: Colors.black, - ), + color: const Color(0xFF9BF8A8), + boxShadow: const [ + BoxShadow(color: Color(0xB3000000), blurRadius: 4), + ], + image: growth.photoUrl == null + ? null + : DecorationImage( + image: NetworkImage(growth.photoUrl!), + fit: BoxFit.cover, + onError: (_, _) {}, + ), ), + child: growth.photoUrl != null + ? null + : Text( + growth.contributorName.characters.firstOrNull ?? '—', + style: const TextStyle( + fontFamily: AppFonts.body, + fontSize: 12, + fontWeight: FontWeight.w500, + color: Colors.black, + ), + ), ), const SizedBox(width: 9), Text( @@ -686,8 +696,10 @@ class _Nebula extends StatelessWidget { Semantics( button: ready && onBirth != null, label: context.l10n.heroNebula, - child: GestureDetector( - onTap: ready ? onBirth : null, + // Figma `2013:15377` 「성운 터치시 흔들림」 — 조건 전에도 흔들림 · 가벼운 햅틱으로 반응하고, + // 탄생 조건을 채웠으면 흔들린 뒤 행성 생성으로 간다. + child: _TapShake( + onTap: ready && onBirth != null ? onBirth : () {}, child: Image.asset( 'assets/figma/nebula-home.png', width: 212, @@ -1018,6 +1030,9 @@ class HomeZap extends StatelessWidget { onItem: onItem, zapPop: data.zapPop, myPop: (zap.balance ?? data.myPop) - zap.pending * data.zapPop, + // Figma `516:88102` Zap_버프(아이템 배수 · 지속시간)는 별첨 B B-22 「배수 기능 제거」 · + // 10/3 통합회신(C-124) 「사용 시 Drop Pool 발생 후 HERO TIME 발동」이 대체한다 — + // 같은 팬덤의 아이템 사용으로 HERO TIME 이 열리면 ZAP 이 Drop POP 참여로 바뀐다. isHeroTime: hero, blockedReason: zap.sending ? context.l10n.zapApplying diff --git a/app/lib/features/home/widgets/quest_row.dart b/app/lib/features/home/widgets/quest_row.dart index afe06fc..465dc52 100644 --- a/app/lib/features/home/widgets/quest_row.dart +++ b/app/lib/features/home/widgets/quest_row.dart @@ -2,12 +2,10 @@ import 'dart:math' as math; import 'package:flutter/material.dart'; -import '../../../core/i18n/app_locale.dart'; import '../../../core/theme/tokens.dart'; import '../../../core/ui/app_icons.dart'; import '../../quest/widgets/quest_card_tile.dart' show QuestIconBox, questImageFor; -import '../../quest/widgets/time_attack_countdown.dart'; import '../home_data.dart'; /// 홈 「TODAY'S QUEST」 묶음 — Figma 「홈」 `2097:16428`: 343×270 · r12 안에 343×90 줄 @@ -45,8 +43,9 @@ class QuestRows extends StatelessWidget { /// 오른쪽 chevron 24 #4F4F4F. /// /// 보조 줄은 카테고리(사본 「오늘의 출석체크」 · 「커뮤니티」)다. 「홈」 프레임에는 보상 숫자 · -/// 진행 상태가 없어 그리지 않는다. 예외는 긴급 타임어택의 남은 시간 하나 — FR-QST-06 -/// 「홈 카운트다운」이 요구한다. +/// 진행 상태가 없어 그리지 않는다. 타임어택 남은 시간도 그리지 않는다 — 설명 프레임 +/// `2097:16397` 데이터는 「어드민에서 등록된 퀘스트」뿐이고, FR-QST-06 · 원장 C-94 의 카운트다운 +/// 표시 위치는 퀘스트 목록 · 상세다. class QuestRow extends StatelessWidget { const QuestRow({ super.key, @@ -65,7 +64,6 @@ class QuestRow extends StatelessWidget { @override Widget build(BuildContext context) { - final done = quest.state == QuestState.done; return Material( color: AppColors.cosmicSurfaceContainer, shape: divider @@ -100,20 +98,7 @@ class QuestRow extends StatelessWidget { ), ), const SizedBox(height: 4), - // 타임어택은 받기 전까지 남은 시간을 센다(FR-QST-06). - if (quest.endsAt case final endsAt? when !done) - TimeAttackCountdown( - endsAt: endsAt, - builder: (context, left) => _sub( - left == null - ? context.l10n.questTimeAttackClosed - : context.l10n.questTimeAttackLeft( - formatLeft(left), - ), - ), - ) - else - _sub(quest.category ?? ''), + _sub(quest.category ?? ''), ], ), ), diff --git a/app/lib/features/my/profile_edit_screen.dart b/app/lib/features/my/profile_edit_screen.dart index aa733ae..f5f649a 100644 --- a/app/lib/features/my/profile_edit_screen.dart +++ b/app/lib/features/my/profile_edit_screen.dart @@ -12,6 +12,9 @@ import '../../core/ui/bottom_inset.dart'; /// 명세 `549:22136` — *완료 디폴트 비활성화 · 변경 사항 있을 경우 활성화 ·* /// ***중복된 닉네임일 경우 닉네임 필드 아래 헬프 텍스트로 오류 메시지 노출*** /// +/// 중복 오류는 **별첨 B 「닉네임」(2~20자 · 중복 허용 · 내부 UID 식별, 원장 B-52)** 이 대체했다 — +/// 중복을 이유로 막지 않는다. 헬프 텍스트 자리는 길이 · 예약어 오류에 쓴다. +/// /// 사진은 시안대로 MY 의 카메라 배지 → [ProfilePhotoScreen] 에서 바꾼다. class ProfileEditScreen extends StatefulWidget { const ProfileEditScreen({ diff --git a/app/lib/features/my/settings_screen.dart b/app/lib/features/my/settings_screen.dart index 2a7898f..2e84259 100644 --- a/app/lib/features/my/settings_screen.dart +++ b/app/lib/features/my/settings_screen.dart @@ -353,6 +353,8 @@ class _SettingsScreenState extends State { /// 서비스 탈퇴 — 명세 `554:24885` 「연동 상태값이 있을 경우 비정상 탈퇴 처리 · 게시물 보존 · /// 탈퇴 처리 후 앱 종료」. 연동이 남아 있으면 비정상 탈퇴 안내(`554:24908` · `374:14699`)만 띄운다. /// 서버도 같은 조건을 다시 본다(E-AUTH-14). + /// 「연동 상태값」을 로그인 제공자 **외 추가 연결**로 읽는다 — 별첨 B 로 소셜 전용 로그인이라 + /// 문자 그대로면 모든 계정이 비정상 탈퇴가 된다. 해석 확인 Q-E9 회신 대기(임시값). Future _withdraw() async { final l10n = context.l10n; if (_linked.values.where((e) => e != null).length > 1) { diff --git a/app/lib/features/notification/notification_data.dart b/app/lib/features/notification/notification_data.dart index 73ceb26..51551ab 100644 --- a/app/lib/features/notification/notification_data.dart +++ b/app/lib/features/notification/notification_data.dart @@ -17,7 +17,11 @@ enum NotificationKind { like(Icons.favorite_border), comment(Icons.mode_comment_outlined), campaign(Icons.campaign_outlined), - quest(Icons.checklist_rtl); + quest(Icons.checklist_rtl), + + /// 행성 진화 참여 알림(9/21 회신 「당신도 이 진화에 함께했습니다」). Figma `518:88353` 6종 밖이라 + /// 이동하지 않는다 — 예전에는 아이템 사용으로 떨어져 노란 아이템 배지 · 「아이템 사용」으로 보였다. + evolution(Icons.public); const NotificationKind(this.icon); @@ -30,12 +34,13 @@ enum NotificationKind { comment => appL10n.notifKindComment, campaign => appL10n.notifKindCampaign, quest => appL10n.notifKindQuest, + evolution => appL10n.notifKindEvolution, }; /// 눌러서 갈 곳. `null` 이면 이동하지 않는다 — 명세가 이클립스와 아이템 /// 사용을 *클릭 이동 X* 로 정했다. String? get target => switch (this) { - eclipse || itemUsed => null, + eclipse || itemUsed || evolution => null, like || comment => appL10n.notifTargetPost, campaign => appL10n.notifTargetCampaign, quest => appL10n.notifTargetQuest, @@ -66,6 +71,7 @@ enum NotificationKind { 'comment' => NotificationKind.comment, 'campaign' => NotificationKind.campaign, 'quest' => NotificationKind.quest, + 'evolution' => NotificationKind.evolution, _ => NotificationKind.itemUsed, }; } diff --git a/app/lib/features/notification/notification_screen.dart b/app/lib/features/notification/notification_screen.dart index e0bffca..95e700a 100644 --- a/app/lib/features/notification/notification_screen.dart +++ b/app/lib/features/notification/notification_screen.dart @@ -70,44 +70,52 @@ class _NotificationScreenState extends State { } final groups = groupNotifications(items); - return Scaffold( - appBar: AppBar( - title: Text(context.l10n.homeNotificationsTooltip), - // 명세 — 뒤로가기 시 읽음 상태값을 돌려준다. - leading: BackButton( - onPressed: () => Navigator.of(context).pop({..._read}), + // 명세 `518:88347` — 뒤로가기는 *이전 화면 이동 및 읽음 상태값 반환*. 시스템 뒤로가기(Android + // 제스처 · iOS 스와이프)도 같은 값을 돌려준다. + return PopScope( + canPop: false, + onPopInvokedWithResult: (didPop, _) { + if (!didPop) Navigator.of(context).pop({..._read}); + }, + child: Scaffold( + appBar: AppBar( + title: Text(context.l10n.homeNotificationsTooltip), + // 명세 — 뒤로가기 시 읽음 상태값을 돌려준다. + leading: BackButton( + onPressed: () => Navigator.of(context).pop({..._read}), + ), ), - ), - body: items.isEmpty - ? Center(child: Text(context.l10n.notifEmpty, style: t.bodyMedium)) - : ListView( - padding: const EdgeInsets.symmetric(horizontal: AppSpace.s4), - children: [ - for (final group in groups) - // 시안 날짜 묶음 — 위아래 20 · 머리글과 항목 사이 20 · 항목 사이 24 · 아래 #1a1a1a 줄. - Container( - padding: const EdgeInsets.symmetric(vertical: 20), - foregroundDecoration: const BoxDecoration( - border: Border( - bottom: BorderSide(color: Color(0xFF1A1A1A)), + body: items.isEmpty + ? Center(child: Text(context.l10n.notifEmpty, style: t.bodyMedium)) + : ListView( + padding: const EdgeInsets.symmetric(horizontal: AppSpace.s4), + children: [ + for (final group in groups) + // 시안 날짜 묶음 — 위아래 20 · 머리글과 항목 사이 20 · 항목 사이 24 · 아래 #1a1a1a 줄. + Container( + padding: const EdgeInsets.symmetric(vertical: 20), + foregroundDecoration: const BoxDecoration( + border: Border( + bottom: BorderSide(color: Color(0xFF1A1A1A)), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text( + group.label, + style: _style(_grey, height: 24 / 14), + ), + for (final (i, item) in group.items.indexed) ...[ + SizedBox(height: i == 0 ? 20 : 24), + _tile(item), + ], + ], ), ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Text( - group.label, - style: _style(_grey, height: 24 / 14), - ), - for (final (i, item) in group.items.indexed) ...[ - SizedBox(height: i == 0 ? 20 : 24), - _tile(item), - ], - ], - ), - ), - ], - ), + ], + ), + ), ); } @@ -187,8 +195,9 @@ class _NotificationScreenState extends State { } final screen = _screenFor(item); if (screen == null || !mounted) return; - await Navigator.of(context) - .push(MaterialPageRoute(builder: (_) => screen)); + await Navigator.of( + context, + ).push(MaterialPageRoute(builder: (_) => screen)); } } @@ -211,6 +220,7 @@ TextStyle _style(Color color, {double height = 1.3}) => TextStyle( NotificationKind.campaign => (Colors.black, _icon('message_circle')), NotificationKind.like => (const Color(0xFFFF5151), _icon('heart')), NotificationKind.eclipse => (Colors.black, _icon('planet')), + NotificationKind.evolution => (Colors.black, _icon('planet')), NotificationKind.itemUsed => (const Color(0xFFCEBF3B), _icon('water_ec')), NotificationKind.quest => ( AppColors.cosmicSurfaceContainer, diff --git a/app/lib/features/planet/fpi_ranking_screen.dart b/app/lib/features/planet/fpi_ranking_screen.dart index f62b3a6..ef9f85f 100644 --- a/app/lib/features/planet/fpi_ranking_screen.dart +++ b/app/lib/features/planet/fpi_ranking_screen.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import '../../core/theme/tokens.dart'; +import '../../core/ui/planet_25d.dart' show PlanetArt; import 'planet_data.dart'; import 'widgets/action_sheet.dart'; import '../../core/i18n/app_locale.dart'; @@ -32,10 +33,38 @@ class FpiRankingScreen extends StatefulWidget { } class _FpiRankingScreenState extends State { - late final Future _ranking = widget.repository.planetRanking( + /// 명세 `546:14639` — 최초 30개, 스크롤 시 10개씩. + int _limit = 30; + late Future _ranking = widget.repository.planetRanking( metric: widget.metric, + limit: _limit, ); + Future _load(int limit) => + widget.repository.planetRanking(metric: widget.metric, limit: limit); + + bool _loadingMore = false; + + /// 지금 장이 꽉 찼을 때만 10개 더 읽는다(덜 찼으면 끝이다). + Future _next() async { + if (_loadingMore) return; + _loadingMore = true; + try { + final now = await _ranking; + if (now.rows.length < _limit || !mounted) return; + final next = _load(_limit + 10); + setState(() { + _limit += 10; + _ranking = next; + }); + await next; + } catch (_) { + // 다음 장 실패는 앞 장을 그대로 둔다. + } finally { + _loadingMore = false; + } + } + void _openUsers(FpiRankRow planet) => Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( @@ -57,6 +86,9 @@ class _FpiRankingScreenState extends State { myLabel: context.l10n.rankMyPlanet(widget.metric.label), emptyLabel: context.l10n.rankPlanetEmpty, onTapRow: _openUsers, + // 명세 `546:14629` — 소속 행성 랭킹 영역도 「사용자 랭킹 화면 이동」. + onTapMine: _openUsers, + onEnd: _next, planets: true, ), ); @@ -102,18 +134,45 @@ class FpiUserRankingScreen extends StatefulWidget { class _FpiUserRankingScreenState extends State { FpiRankScope _scope = FpiRankScope.live; - late Future _ranking = _load(); + int _limit = 30; + late Future _ranking = _load(_limit); - Future _load() => switch (_scope) { + Future _load(int limit) => switch (_scope) { FpiRankScope.live => widget.repository.userRanking( metric: widget.metric, fandomId: widget.fandomId, + limit: limit, ), FpiRankScope.byCountry => widget.repository.countryRanking( metric: widget.metric, + limit: limit, ), }; + /// 국가별은 명세 `546:14713` 「최초 30개 노출 스크롤시 10개씩」. 실시간 사용자 랭킹은 명세에 수가 없어 + /// 같은 방식으로 이어 읽는다. + bool _loadingMore = false; + + /// 지금 장이 꽉 찼을 때만 10개 더 읽는다(덜 찼으면 끝이다). + Future _next() async { + if (_loadingMore) return; + _loadingMore = true; + try { + final now = await _ranking; + if (now.rows.length < _limit || !mounted) return; + final next = _load(_limit + 10); + setState(() { + _limit += 10; + _ranking = next; + }); + await next; + } catch (_) { + // 다음 장 실패는 앞 장을 그대로 둔다. + } finally { + _loadingMore = false; + } + } + @override Widget build(BuildContext context) => Scaffold( // 시안 `373:436695` — 제목 「USER RANKING」, 범위 필터는 본문 「실시간 랭킹 ⌄」. @@ -130,6 +189,8 @@ class _FpiUserRankingScreenState extends State { emptyLabel: context.l10n.rankEmpty, scopeLabel: context.l10n.rankScope(_scope.label), onPickScope: _pickScope, + onEnd: _next, + flags: _scope == FpiRankScope.byCountry, ), ); @@ -143,7 +204,8 @@ class _FpiUserRankingScreenState extends State { if (next != null && next != _scope && mounted) { setState(() { _scope = next; - _ranking = _load(); + _limit = 30; + _ranking = _load(_limit); }); } } @@ -162,8 +224,20 @@ class _RankingBody extends StatelessWidget { this.planets = false, this.scopeLabel, this.onPickScope, + this.onTapMine, + this.onEnd, + this.flags = false, }); + /// 내 줄 카드를 눌렀을 때. + final ValueChanged? onTapMine; + + /// 목록 끝 가까이 스크롤했을 때 — 다음 10개. + final VoidCallback? onEnd; + + /// 국가 랭킹 — 아바타 자리에 국기(명세 `546:14713` 「국기 이미지」). + final bool flags; + final Future future; final String myLabel; final String emptyLabel; @@ -180,7 +254,8 @@ class _RankingBody extends StatelessWidget { Widget build(BuildContext context) => FutureBuilder( future: future, builder: (context, snap) { - if (snap.connectionState != ConnectionState.done) { + // 다음 장을 읽는 동안에는 앞 장을 그대로 둔다 — 바퀴로 바꾸면 스크롤 자리가 사라진다. + if (!snap.hasData && snap.connectionState != ConnectionState.done) { return const Center(child: CircularProgressIndicator()); } final data = snap.data; @@ -189,84 +264,115 @@ class _RankingBody extends StatelessWidget { } final podium = scopeLabel != null && data.rows.length >= 3; final rows = podium ? data.rows.skip(3).toList() : data.rows; - return ListView( - padding: const EdgeInsets.all(AppSpace.s4), - children: [ - // 별첨 1 ② 예외처리 — 갱신 주기 · 마지막 갱신 시각을 화면에서 안내한다. - if (data.refreshMinutes case final minutes?) ...[ - Text( - [ - if (data.updatedAt case final at?) - context.l10n.planetLastUpdated( - '${at.toLocal().hour.toString().padLeft(2, '0')}:${at.toLocal().minute.toString().padLeft(2, '0')}', - ), - context.l10n.rankRefreshEvery('$minutes'), - ].join(' · '), - style: _rt(12, AppColors.onCosmicMuted, FontWeight.w500), - ), - const SizedBox(height: AppSpace.s3), - ], - if (data.mine case final me?) ...[ - Text(myLabel, style: _rt(24, AppColors.onCosmic, FontWeight.w500)), - const SizedBox(height: AppSpace.s4), - Container( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), - decoration: BoxDecoration( + return NotificationListener( + onNotification: (n) { + if (n.metrics.extentAfter < 200) onEnd?.call(); + return false; + }, + child: ListView( + padding: const EdgeInsets.all(AppSpace.s4), + children: [ + // 별첨 1 ② 예외처리 — 갱신 주기 · 마지막 갱신 시각을 화면에서 안내한다. + if (data.refreshMinutes case final minutes?) ...[ + Text( + [ + if (data.updatedAt case final at?) + context.l10n.planetLastUpdated( + '${at.toLocal().hour.toString().padLeft(2, '0')}:${at.toLocal().minute.toString().padLeft(2, '0')}', + ), + context.l10n.rankRefreshEvery('$minutes'), + ].join(' · '), + style: _rt(12, AppColors.onCosmicMuted, FontWeight.w500), + ), + const SizedBox(height: AppSpace.s3), + ], + if (data.mine case final me?) ...[ + Text( + myLabel, + style: _rt(24, AppColors.onCosmic, FontWeight.w500), + ), + const SizedBox(height: AppSpace.s4), + Material( color: const Color(0xFF19191C), borderRadius: BorderRadius.circular(8), - ), - child: _RankRow(row: me, index: -1, planet: planets, mark: false), - ), - const SizedBox(height: 24), - ], - if (scopeLabel case final label?) ...[ - InkWell( - onTap: onPickScope, - child: Row( - children: [ - Text( - label, - style: _rt( - 18, - AppColors.onCosmic, - FontWeight.w600, - height: null, + child: InkWell( + borderRadius: BorderRadius.circular(8), + onTap: onTapMine == null ? null : () => onTapMine!(me), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 12, + ), + child: _RankRow( + row: me, + index: -1, + planet: planets, + flag: flags, + mark: false, ), ), - const SizedBox(width: 4), - const Icon( - Icons.keyboard_arrow_down, - size: 20, - color: AppColors.onCosmic, - ), - ], + ), ), - ), - const SizedBox(height: 12), - ], - if (data.rows.isEmpty) - Padding( - padding: const EdgeInsets.symmetric(vertical: 48), - child: Center(child: Text(emptyLabel)), - ), - if (podium) ...[ - _Podium(rows: data.rows.take(3).toList()), - const SizedBox(height: 12), - ], - for (final (i, row) in rows.indexed) - InkWell( - onTap: onTapRow == null ? null : () => onTapRow!(row), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 10), - child: _RankRow(row: row, index: i), + const SizedBox(height: 24), + ], + if (scopeLabel case final label?) ...[ + InkWell( + onTap: onPickScope, + child: Row( + children: [ + Text( + label, + style: _rt( + 18, + AppColors.onCosmic, + FontWeight.w600, + height: null, + ), + ), + const SizedBox(width: 4), + const Icon( + Icons.keyboard_arrow_down, + size: 20, + color: AppColors.onCosmic, + ), + ], + ), ), - ), - ], + const SizedBox(height: 12), + ], + if (data.rows.isEmpty) + Padding( + padding: const EdgeInsets.symmetric(vertical: 48), + child: Center(child: Text(emptyLabel)), + ), + if (podium) ...[ + _Podium(rows: data.rows.take(3).toList()), + const SizedBox(height: 12), + ], + for (final (i, row) in rows.indexed) + InkWell( + onTap: onTapRow == null ? null : () => onTapRow!(row), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 10), + child: _RankRow(row: row, index: i, planet: planets, flag: flags), + ), + ), + ], + ), ); }, ); } +/// 국가 코드 → 국기 이모지. 미지정(`ZZ`) · 형식 밖은 흰 깃발. +String flagOf(String code) { + final c = code.toUpperCase(); + if (c.length != 2 || c == 'ZZ' || !RegExp(r'^[A-Z]{2}$').hasMatch(c)) { + return '\u{1F3F3}'; + } + return String.fromCharCodes(c.codeUnits.map((u) => 0x1F1E6 + u - 65)); +} + TextStyle _rt( double size, Color color, @@ -302,11 +408,14 @@ const _avatarColors = [ Color(0xFFD2F5B8), ]; -Widget _avatar(int index, double size, {bool planet = false}) => planet - ? Image.asset( - 'assets/figma/planet-detail-hero.png', - width: size, - height: size, +Widget _avatar(int index, double size, {bool planet = false, FpiRankRow? row}) => planet + ? SizedBox.square( + dimension: size, + child: PlanetArt( + fallback: 'assets/figma/planet-detail-hero.png', + planetType: row?.planetType, + colorKey: row?.colorKey, + ), ) : Container( width: size, @@ -348,12 +457,14 @@ class _RankRow extends StatelessWidget { required this.row, required this.index, this.planet = false, + this.flag = false, this.mark = true, }); final FpiRankRow row; final int index; final bool planet; + final bool flag; /// 목록 안 내 행에 「(나)」를 붙인다. 위 내 줄 카드는 시안대로 이름만 둔다. final bool mark; @@ -381,7 +492,14 @@ class _RankRow extends StatelessWidget { // 사본 — 40 프레임 가운데 지름 36 원. SizedBox.square( dimension: 40, - child: Center(child: _avatar(index, 36, planet: planet)), + child: Center( + child: flag + ? Text( + flagOf(row.id), + style: const TextStyle(fontSize: 28, height: 1), + ) + : _avatar(index, 36, planet: planet, row: row), + ), ), const SizedBox(width: 6), Expanded( diff --git a/app/lib/features/planet/planet_data.dart b/app/lib/features/planet/planet_data.dart index 7424daf..f860981 100644 --- a/app/lib/features/planet/planet_data.dart +++ b/app/lib/features/planet/planet_data.dart @@ -32,6 +32,26 @@ enum FpiMetric { final String label; } +/// 팬덤 규모 — Figma 행성 정보 영역 `544:19765` 「소형 : 1,000명 미만 · 중형 : 50,000명 미만 · +/// 대형 : 50,000명 이상」. 기준은 가입자 수다(행성 상세 · GALAXY 검색 결과가 같이 쓴다). +enum FandomSize { + small, + medium, + large; + + static FandomSize of(int members) => members < 1000 + ? small + : members < 50000 + ? medium + : large; + + String get label => switch (this) { + small => appL10n.planetSizeSmall, + medium => appL10n.planetSizeMedium, + large => appL10n.planetSizeLarge, + }; +} + /// 지표별 값. 명세 — *값 · 전체 순위 · 최근 동향 · 내 기여도 상위 값*. class FpiScore { const FpiScore({ @@ -93,8 +113,14 @@ class FpiRankRow { required this.value, this.change = 0, this.isMine = false, + this.planetType, + this.colorKey, }); + /// 행성 랭킹 줄의 행성 그림(Figma `546:14629` 「행성 이미지」) — 생성 때 고른 형태 · 색. 없으면 기본 그림. + final String? planetType; + final String? colorKey; + /// 행성 랭킹이면 `fandomId`, 사용자 랭킹이면 `uid`, 국가 랭킹이면 국가 코드. final String id; @@ -272,8 +298,13 @@ class PlanetDetail { this.growthPop = 0, this.nebulaTargetPop = 1000, this.nebulaTargetMembers = 10, + this.isOwner = false, }); + /// 내가 만든 행성/성운인가(`fandoms.founderUid`). Figma `544:19765` 「가입 버튼 - 내가 생성했을 경우 + /// hide」 · `543:19721` 「(타인 행성) 신고/차단 · (내 행성) 편집」 — 편집은 C-50 으로 두지 않는다. + final bool isOwner; + /// 성운 → 정식 행성 전환 조건 — 서버와 같은 `config/policy`(원장 B-10 · `nebulaMinPop` · `nebulaMinMembers`). final int nebulaTargetPop; final int nebulaTargetMembers; diff --git a/app/lib/features/planet/planet_detail_screen.dart b/app/lib/features/planet/planet_detail_screen.dart index 047245e..d8bc157 100644 --- a/app/lib/features/planet/planet_detail_screen.dart +++ b/app/lib/features/planet/planet_detail_screen.dart @@ -148,7 +148,8 @@ class _PlanetDetailScreenState extends State { actions: [ IconButton( tooltip: context.l10n.commonMore, - onPressed: () => _showMore(context, d.name), + onPressed: () => + _showMore(context, d.name, mine: d.isOwner), icon: const ImageIcon( AppIcons.ellipsisVertical, size: 24, @@ -169,6 +170,7 @@ class _PlanetDetailScreenState extends State { ownerName: d.ownerName, ownerPhoto: d.ownerPhoto, joined: d.joined, + isOwner: d.isOwner, onJoin: d.joined ? _leave : _join, onOpenHistory: () => Navigator.of(context).push( MaterialPageRoute( @@ -209,7 +211,9 @@ class _PlanetDetailScreenState extends State { }, ); - void _showMore(BuildContext context, String name) => + /// Figma `543:19721` — 더보기: (타인 행성) 신고/차단 · (내 행성) 편집. 편집은 행성 사용자 커스텀이라 + /// 두지 않는다(원장 C-50 「생성 후 사용자가 외형을 바꾸는 진입점 0건」). 내 행성에는 신고 · 차단도 없다. + void _showMore(BuildContext context, String name, {required bool mine}) => showActionSheet(context, [ // 팬덤 역사는 시안 밖 기능이라 남기되 중립색으로 둔다. ActionSheetItem(context.l10n.planetPassportHistory, () { @@ -222,14 +226,16 @@ class _PlanetDetailScreenState extends State { ), ); }, destructive: false), - ActionSheetItem( - context.l10n.reportTitle, - () => _moderate(context, 'report', name), - ), - ActionSheetItem( - context.l10n.commonBlockAction, - () => _moderate(context, 'block', name), - ), + if (!mine) ...[ + ActionSheetItem( + context.l10n.reportTitle, + () => _moderate(context, 'report', name), + ), + ActionSheetItem( + context.l10n.commonBlockAction, + () => _moderate(context, 'block', name), + ), + ], ]); Future _moderate( @@ -459,6 +465,7 @@ class _FpiTab extends StatelessWidget { EclipseBanner( repository: eclipse, fandomId: detail.fandomId, + nebula: detail.isNebula, margin: const EdgeInsets.only(bottom: AppSpace.s3), ), Container( diff --git a/app/lib/features/planet/planet_repository_firestore.dart b/app/lib/features/planet/planet_repository_firestore.dart index 7b740e2..ed319b2 100644 --- a/app/lib/features/planet/planet_repository_firestore.dart +++ b/app/lib/features/planet/planet_repository_firestore.dart @@ -177,6 +177,12 @@ class FirestorePlanetRepository implements PlanetRepository { final member = memberSnap.data() ?? const {}; final posts = await postsF; final targets = nebulaTargetsFrom((await policyF).data()); + // 생성자 = `founderUid`(성운 생성자 · 탄생 전 탈퇴 시 승계자, C-100). 프로필 · 닉네임은 그 멤버 문서에서 + // 읽는다(Figma `544:19765` 「생성자 프로필 · 닉네임」). 떠났거나 시드 행성이면 줄을 그리지 않는다. + final founderUid = fandom.strOr('founderUid'); + final founder = founderUid.isEmpty + ? null + : (await db.doc('fandoms/$fandomId/members/$founderUid').get()).data(); final axes = _map(fandom, 'fpiAxes'); final ranks = _map(fandom, 'fpiRanks'); @@ -199,6 +205,8 @@ class FirestorePlanetRepository implements PlanetRepository { _ => null, }; return PlanetDetail( + isOwner: founderUid.isNotEmpty && founderUid == uid, + ownerName: founder == null ? null : publicName(founder['nickname']), joined: memberSnap.exists, stage: stage, fandomId: fandomId, @@ -325,6 +333,8 @@ class FirestorePlanetRepository implements PlanetRepository { // 순위 동향 = 직전 순위 − 현재 순위. 둘 다 서버가 적은 값이다. change: _map(data, 'fpiRanksPrev').intOr(axis, rank) - rank, isMine: id == fandomId, + planetType: data['planetType'] is String ? data['planetType'] as String : null, + colorKey: data['colorKey'] is String ? data['colorKey'] as String : null, ); } @@ -335,7 +345,11 @@ class FirestorePlanetRepository implements PlanetRepository { required String fandomId, int limit = 30, }) async { - final ranking = await _userRanking(metric: metric, fandomId: fandomId, limit: limit); + final ranking = await _userRanking( + metric: metric, + fandomId: fandomId, + limit: limit, + ); final fandom = (await _backend.db.doc('fandoms/$fandomId').get()).data(); return ranking.withUpdate(_time(fandom?['memberRankedAt']), 5); } diff --git a/app/lib/features/planet/widgets/fandom_size_badge.dart b/app/lib/features/planet/widgets/fandom_size_badge.dart new file mode 100644 index 0000000..a54d13d --- /dev/null +++ b/app/lib/features/planet/widgets/fandom_size_badge.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; + +import '../../../core/theme/tokens.dart'; +import '../planet_data.dart'; + +/// 팬덤 규모 칩 — Figma 「대형 팬덤」 `#AEC054` · 「중형 / 소형 팬덤」 `#54C07D`(바탕 10%, r4). +/// 행성 상세 히어로는 12/500 + 1px 테두리, GALAXY 목록은 10/500. +class FandomSizeBadge extends StatelessWidget { + const FandomSizeBadge({super.key, required this.members, this.large = false}); + + final int members; + + /// 행성 상세 히어로 크기(12 · 테두리). + final bool large; + + @override + Widget build(BuildContext context) { + final size = FandomSize.of(members); + final color = size == FandomSize.large + ? const Color(0xFFAEC054) + : const Color(0xFF54C07D); + return Container( + padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4), + decoration: BoxDecoration( + color: color.withValues(alpha: 0.1), + border: large ? Border.all(color: color) : null, + borderRadius: BorderRadius.circular(4), + ), + child: Text( + size.label, + style: TextStyle( + fontFamily: AppFonts.body, + fontSize: large ? 12 : 10, + fontWeight: FontWeight.w500, + height: 1, + color: color, + ), + ), + ); + } +} diff --git a/app/lib/features/planet/widgets/planet_detail_hero.dart b/app/lib/features/planet/widgets/planet_detail_hero.dart index 1aa1891..b73a89a 100644 --- a/app/lib/features/planet/widgets/planet_detail_hero.dart +++ b/app/lib/features/planet/widgets/planet_detail_hero.dart @@ -7,6 +7,7 @@ import '../../../core/ui/live_planet.dart'; import '../../../core/data/planet_visual_state.dart'; import '../../home/home_screen.dart' show formatPop; import '../../../core/i18n/app_locale.dart'; +import 'fandom_size_badge.dart'; /// 행성 상세 히어로 — 시안 `373:441117` 의 `Frame 1984081117`(375×543). /// @@ -24,15 +25,20 @@ class PlanetDetailHero extends StatelessWidget { this.nebula = false, this.onHeroParticipate, this.onJoin, + this.isOwner = false, this.onOpenHistory, this.fandomId = '', this.watchPlanet = noPlanetWatch, this.stage, this.ownerName, this.ownerPhoto, - this.sizeLabel, + this.onOpenOwner, }); + /// 개설자 줄을 눌렀을 때 — Figma `544:19765` 「프로필 및 닉네임 클릭 시 해당 사용자의 MY로 이동」. + /// 타인 프로필 화면(`549:21969`)이 생기면 연결한다(3차 MY). null 이면 누르지 않는다. + final VoidCallback? onOpenOwner; + final VoidCallback? onOpenHistory; final String fandomId; final PlanetWatch watchPlanet; @@ -46,6 +52,9 @@ class PlanetDetailHero extends StatelessWidget { /// 알약을 눌렀을 때 — 「가입하기」면 가입, 「가입중」이면 탈퇴 시트. null 이면 상태만 보인다. final VoidCallback? onJoin; + /// 내가 만든 행성이면 가입 알약을 숨긴다(Figma `544:19765` 「가입 버튼 - 내가 생성했을 경우 hide」). + final bool isOwner; + /// 성운 상세(`373:442708`)는 규모 칩과 FPI 줄이 없다. final bool nebula; @@ -56,9 +65,6 @@ class PlanetDetailHero extends StatelessWidget { /// 개설자 사진(URL 또는 에셋). 없으면 회색 원. final String? ownerPhoto; - /// 팬덤 규모 라벨. 정책 §P-08 등급명이 붙기 전까지 시안 문구를 쓴다. - final String? sizeLabel; - static const double designHeight = 543; /// 시안의 상태 표시줄 + 내비 높이. 본문은 그 아래 439 안에 가운데 놓인다. @@ -74,7 +80,8 @@ class PlanetDetailHero extends StatelessWidget { @override Widget build(BuildContext context) { - // 1인당 화력 — 시안 「1.44」. 총 FPI 를 멤버 수로 나눈 값이며 정책 확정 전 표시용이다. + // 1인당 화력 — 시안 「1.44」. Figma `544:19765` 정의(「모든 포인트 획득, 소비 활동 및 1인당 활동 값을 + // 집계한 값」)와 FPI 원천(C-34 활동 기준)이 갈려 해석 확인 중(전수대조 영역A Q-A23). 회신 전 임시로 총 FPI ÷ 멤버 수. final perHead = members == 0 ? 0.0 : totalFpi / members; const info = Color(0xFFDEDEDE); @@ -111,31 +118,36 @@ class PlanetDetailHero extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ if (ownerName case final owner?) ...[ - Row( - mainAxisSize: MainAxisSize.min, - children: [ - CircleAvatar( - radius: 13, - backgroundColor: const Color(0xFFD9D9D9), - backgroundImage: switch (ownerPhoto) { - final p? when p.startsWith('http') => NetworkImage(p), - final p? => AssetImage(p), - null => null, - }, - ), - const SizedBox(width: 9), - Text( - owner, - style: const TextStyle( - fontFamily: AppFonts.display, - fontWeight: FontWeight.w400, - fontSize: 16, - height: 1.3, - letterSpacing: -0.4, - color: AppColors.onCosmic, + GestureDetector( + onTap: onOpenOwner, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + CircleAvatar( + radius: 13, + backgroundColor: const Color(0xFFD9D9D9), + backgroundImage: switch (ownerPhoto) { + final p? when p.startsWith('http') => NetworkImage( + p, + ), + final p? => AssetImage(p), + null => null, + }, ), - ), - ], + const SizedBox(width: 9), + Text( + owner, + style: const TextStyle( + fontFamily: AppFonts.display, + fontWeight: FontWeight.w400, + fontSize: 16, + height: 1.3, + letterSpacing: -0.4, + color: AppColors.onCosmic, + ), + ), + ], + ), ), const SizedBox(height: 25), ], @@ -159,21 +171,8 @@ class PlanetDetailHero extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ if (!nebula) ...[ - Container( - padding: const EdgeInsets.symmetric( - horizontal: 6, - vertical: 4, - ), - decoration: BoxDecoration( - color: const Color(0x1A54C07D), - border: Border.all(color: const Color(0xFF54C07D)), - borderRadius: BorderRadius.circular(4), - ), - child: Text( - sizeLabel ?? context.l10n.planetSizeMedium, - style: _body(12, const Color(0xFF54C07D)), - ), - ), + // 소형 · 중형 · 대형 — 가입자 수 기준(Figma `544:19765`). + FandomSizeBadge(members: members, large: true), const SizedBox(width: 4), ], Image.asset( @@ -227,31 +226,32 @@ class PlanetDetailHero extends StatelessWidget { ), const SizedBox(height: 12), ], - Semantics( - button: onJoin != null, - child: GestureDetector( - onTap: onJoin, - child: Container( - padding: const EdgeInsets.symmetric( - horizontal: 12, - vertical: 8, - ), - decoration: BoxDecoration( - color: const Color(0xFF1A1A1A), - borderRadius: BorderRadius.circular(AppRadius.full), - ), - child: Text( - joined - ? context.l10n.planetJoined - : context.l10n.planetJoin, - style: _body( - 14, - const Color(0xFFD5D7D9), - ).copyWith(letterSpacing: -0.35), + if (!isOwner) + Semantics( + button: onJoin != null, + child: GestureDetector( + onTap: onJoin, + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 8, + ), + decoration: BoxDecoration( + color: const Color(0xFF1A1A1A), + borderRadius: BorderRadius.circular(AppRadius.full), + ), + child: Text( + joined + ? context.l10n.planetJoined + : context.l10n.planetJoin, + style: _body( + 14, + const Color(0xFFD5D7D9), + ).copyWith(letterSpacing: -0.35), + ), ), ), ), - ), ], ), ), diff --git a/app/lib/features/quest/place_picker_screen.dart b/app/lib/features/quest/place_picker_screen.dart index 95addba..9db3e99 100644 --- a/app/lib/features/quest/place_picker_screen.dart +++ b/app/lib/features/quest/place_picker_screen.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:ui' as ui; import 'package:flutter/material.dart'; @@ -8,10 +9,13 @@ import 'package:latlong2/latlong.dart'; import '../../core/theme/tokens.dart'; import '../../core/i18n/app_locale.dart'; import 'quest_data.dart'; +import 'quest_evidence.dart'; /// 위치 선택 — 화면 대조 원장 F4 · Figma `371:356705`(지도 + 핀 주소 + 「선택 완료」). /// -/// 지도를 누르면 그 자리에 핀을 꽂고 주소를 보여 준다. 운영이 등록한 장소는 지도 위 표시와 +/// 명세 `523:18207` — 지도는 *디폴트 사용자 현재 위치*, 위치 마크는 *지도 영역 중간 정렬*, 지도를 +/// 움직이면 가운데 좌표의 주소를 *실시간* 으로 보이고, *선택 완료* 는 위치 정보를 정상 호출한 뒤 켜진다. +/// 운영이 등록한 장소는 지도 위 표시와 /// 아래 목록으로 함께 보이고, 고르면 그 장소를 쓴다(해석 확인 요청 영역 B — 장소 등록 주체 권고안: /// 사용자 핀 → 장소 생성 · 운영 장소 우선 노출). 보상 인증 반경은 서버가 B-27(기본 100m)로 판정한다. /// @@ -42,6 +46,10 @@ class _PlacePickerScreenState extends State { String _query = ''; QuestPlace? _selected; + /// 가운데 좌표의 주소를 찾는 중 — 이 동안은 *선택 완료* 를 잠근다(명세 「정상 호출 후 활성화」). + bool _resolving = false; + Timer? _settle; + List get _visible => widget.places .where((p) => _query.isEmpty || p.name.contains(_query)) .toList(); @@ -53,25 +61,65 @@ class _PlacePickerScreenState extends State { return PlacePickerScreen.fallbackCenter; } + @override + void initState() { + super.initState(); + _locate(); + } + + @override + void dispose() { + _settle?.cancel(); + super.dispose(); + } + + /// 디폴트 사용자 현재 위치. 권한이 없거나 꺼져 있으면 지금 화면(등록 장소 · 서울시청)에 둔다 — + /// 탐색은 권한 없이 열린다(B-27). 이때는 사용자가 지도를 움직여야 위치가 정해진다. + Future _locate() async { + try { + final fix = await devicePlaceFix(); + if (!mounted || _selected != null) return; + final here = LatLng(fix.lat, fix.lng); + _map.move(here, _map.camera.zoom); + await _drop(here); + } catch (_) { + // 권한 거부 · 위치 꺼짐 · 플랫폼 구현 없음(테스트) — 기본 화면 유지. + } + } + void _choose(QuestPlace place) { - setState(() => _selected = place); + _settle?.cancel(); + setState(() { + _selected = place; + _resolving = false; + }); if (place.lat != null && place.lng != null) { _map.move(LatLng(place.lat!, place.lng!), _map.camera.zoom); } } - /// 지도를 누른 자리에 핀 — 주소는 단말 지오코더로 찾고, 못 찾으면 좌표를 그대로 보인다. + /// 사용자가 지도를 움직이면 멈춘 뒤 가운데 좌표로 위치를 정한다(제스처가 아닌 이동 — 등록 장소 + /// 선택 · 현재 위치 이동 — 은 무시). + void _moved(MapCamera camera, bool hasGesture) { + if (!hasGesture) return; + _settle?.cancel(); + setState(() => _resolving = true); + _settle = Timer(const Duration(milliseconds: 400), () => _drop(camera.center)); + } + + /// 가운데 좌표의 주소 — 단말 지오코더로 찾고, 못 찾으면 좌표를 그대로 보인다. Future _drop(LatLng point) async { final coords = '${point.latitude.toStringAsFixed(5)}, ${point.longitude.toStringAsFixed(5)}'; - setState( - () => _selected = QuestPlace( + setState(() { + _resolving = true; + _selected = QuestPlace( id: '', name: coords, lat: point.latitude, lng: point.longitude, - ), - ); + ); + }); var address = coords; try { final marks = await Geocoding().placemarkFromCoordinates( @@ -86,14 +134,15 @@ class _PlacePickerScreenState extends State { // 지오코더가 없거나(에뮬레이터 · 테스트 — 플랫폼 구현 없음) 실패 — 좌표 표시로 둔다. } if (!mounted || _selected?.lat != point.latitude) return; - setState( - () => _selected = QuestPlace( + setState(() { + _resolving = false; + _selected = QuestPlace( id: '', name: address, lat: point.latitude, lng: point.longitude, - ), - ); + ); + }); } @override @@ -140,7 +189,7 @@ class _PlacePickerScreenState extends State { options: MapOptions( initialCenter: _center, initialZoom: 15, - onTap: (_, point) => _drop(point), + onPositionChanged: _moved, ), children: [ TileLayer( @@ -163,17 +212,20 @@ class _PlacePickerScreenState extends State { ), ), ), - if (pinned != null && - pinned.lat != null && - pinned.lng != null) - Marker( - point: LatLng(pinned.lat!, pinned.lng!), + ], + ), + // 위치 마크 — *지도 영역 중간 정렬*. 핀 끝이 지도 가운데(선택 좌표)를 가리킨다. + const IgnorePointer( + child: Align( + child: Padding( + padding: EdgeInsets.only(bottom: 44), + child: SizedBox( width: 38, height: 44, - alignment: Alignment.topCenter, - child: const CustomPaint(painter: _PinPainter()), + child: CustomPaint(painter: _PinPainter()), ), - ], + ), + ), ), // OSM 타일 이용 조건 — 출처 표기. const Align( @@ -227,7 +279,7 @@ class _PlacePickerScreenState extends State { child: Padding( padding: const EdgeInsets.fromLTRB(16, 0, 16, 16), child: FilledButton( - onPressed: pinned == null + onPressed: pinned == null || _resolving ? null : () => Navigator.of(context).pop(pinned), style: FilledButton.styleFrom( diff --git a/app/lib/features/quest/quest_ad_screens.dart b/app/lib/features/quest/quest_ad_screens.dart index 464b552..8d081c3 100644 --- a/app/lib/features/quest/quest_ad_screens.dart +++ b/app/lib/features/quest/quest_ad_screens.dart @@ -277,11 +277,25 @@ class QuestAdWarpScreen extends StatefulWidget { State createState() => _QuestAdWarpScreenState(); } -class _QuestAdWarpScreenState extends State { +class _QuestAdWarpScreenState extends State + with SingleTickerProviderStateMixin { String _message(BuildContext context) => widget.message ?? (widget._after ? context.l10n.adWarpAfter : context.l10n.adWarpBefore); + /// 명세 `518:88645` — 시청 전 *광고 시청을 북돋을 수 있는 짧은 애니메이션*, 시청 후 *서비스에 + /// 재몰입 할 수 있는 애니메이션*. 행성이 한 번 커지며 반 바퀴 돈다(한 번만 — 반복하지 않는다). + late final AnimationController _spin = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 1200), + )..forward(); + + @override + void dispose() { + _spin.dispose(); + super.dispose(); + } + @override void initState() { super.initState(); @@ -307,7 +321,17 @@ class _QuestAdWarpScreenState extends State { child: Column( mainAxisSize: MainAxisSize.min, children: [ - Image.asset('assets/figma/quest-warp-planet.png', width: 212, height: 212), + AnimatedBuilder( + animation: _spin, + builder: (_, child) { + final t = Curves.easeOutBack.transform(_spin.value); + return Transform.rotate( + angle: (widget._after ? -1 : 1) * (1 - _spin.value) * 3.14159, + child: Transform.scale(scale: 0.8 + 0.2 * t, child: child), + ); + }, + child: Image.asset('assets/figma/quest-warp-planet.png', width: 212, height: 212), + ), const SizedBox(height: 24), // 시안은 405 폭 한 줄이라 375 화면 밖으로 잘린다 — 좌우 16 안에서 가운데 두 줄로. // 행간은 한 줄이면 사본 값 1, 두 줄로 넘어갈 때만 1.4. diff --git a/app/lib/features/quest/quest_create_screen.dart b/app/lib/features/quest/quest_create_screen.dart index c9fbd8f..105ad1f 100644 --- a/app/lib/features/quest/quest_create_screen.dart +++ b/app/lib/features/quest/quest_create_screen.dart @@ -11,6 +11,7 @@ import 'quest_data.dart'; import 'widgets/quest_card_tile.dart'; import '../../core/i18n/app_locale.dart'; import '../../core/ui/bottom_inset.dart'; +import '../../core/ui/sheet_route.dart'; /// 퀘스트 생성 — 화면 대조 원장 F4 · Figma `254:164081`. /// @@ -51,6 +52,7 @@ class _QuestCreateScreenState extends State { QuestLink? _link; bool _checkingLink = false; bool _saving = false; + int? _myPop; @override void initState() { @@ -75,6 +77,9 @@ class _QuestCreateScreenState extends State { } Future _load() async { + widget.repository.spendableBalance().then((v) { + if (mounted) setState(() => _myPop = v); + }, onError: (_) {}); final catalog = await widget.repository.catalog(); if (mounted) setState(() => _catalog = catalog); } @@ -107,6 +112,8 @@ class _QuestCreateScreenState extends State { ? context.l10n.questPreviewHint : _title.text.trim(), categoryName: _activity?.name ?? _category?.name ?? context.l10n.questNoCategory, + // 명세 `523:18123` 미리보기 — *입력 상태에 따라 실시간 반영*. 고른 활동의 아이콘을 바로 보인다. + type: _activity == null ? QuestType.unknown : QuestType.parse(_activity!.key), author: QuestAuthor.user, stage: QuestStage.mine, goal: _needs('goal') ? _intOf(_goal) : 1, @@ -303,7 +310,12 @@ class _QuestCreateScreenState extends State { ListTile( contentPadding: EdgeInsets.zero, leading: const Icon(Icons.place_outlined), - title: Text(_place?.name ?? context.l10n.questPickPlace), + // 명세 `523:18270` — *텍스트 넘칠 경우 ... 처리*. + title: Text( + _place?.name ?? context.l10n.questPickPlace, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), trailing: const Icon(Icons.chevron_right), onTap: _pickPlace, ), @@ -380,6 +392,20 @@ class _QuestCreateScreenState extends State { ), style: const TextStyle(fontSize: 13, color: AppColors.onCosmicVariant), ), + // 명세 `523:18176` 완료 보상 설정 영역 — *보유 POP 값*. + if (_myPop != null) + Text.rich( + TextSpan( + text: context.l10n.commonMyPop, + children: [ + TextSpan( + text: formatPop(_myPop!), + style: const TextStyle(color: AppColors.cosmicBlue), + ), + ], + ), + style: const TextStyle(fontSize: 13, color: AppColors.onCosmicVariant), + ), ] else Text( context.l10n.questNoReward, @@ -422,7 +448,8 @@ class _QuestCreateScreenState extends State { _places = places; } final picked = await Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute(builder: (_) => PlacePickerScreen(places: _places)), + // 명세 `523:18207` — 선택 완료 시 *하단 move out 페이지 종료 후 이전 화면 이동*. + SheetRoute(builder: (_) => PlacePickerScreen(places: _places)), ); if (picked == null || !mounted) return; setState(() => _place = picked); @@ -448,8 +475,9 @@ class _QuestCreateScreenState extends State { final go = await showConfirmDialog( context, context.l10n.questCreateConfirm, - cancelLabel: context.l10n.commonKeepEditing, - confirmLabel: context.l10n.questCreate, + // 명세 `523:18176` 생성 안내 모달 — *취소 / 완료*(시안 `548:19548` · `548:19552`). + cancelLabel: context.l10n.commonCancel, + confirmLabel: context.l10n.commonDone, body: context.l10n.questCreateCost( _preview.title, formatPop(_intOf(_reward)), diff --git a/app/lib/features/quest/quest_data.dart b/app/lib/features/quest/quest_data.dart index 900cd42..d26f5cd 100644 --- a/app/lib/features/quest/quest_data.dart +++ b/app/lib/features/quest/quest_data.dart @@ -105,6 +105,18 @@ enum QuestType { _ => QuestType.unknown, }; + /// 목록 · 상세의 **카테고리** 값 — 명세 `518:88395` · `518:88417` *퀘스트 카테고리 - 등록된 카테고리값* + /// (시안 「건강」 · 「커뮤니티」 · 「출석체크」). 활동이 속한 분류는 `config/questCatalog` 기본값 + /// (`functions/src/quest/ugc.ts` — walk · shake → health, vote · sns · streaming → planet …)과 같다. + /// 출석 · 타임어택은 카탈로그 분류가 없어 유형 이름을 쓴다. + String get category => switch (this) { + steps || musicShake => appL10n.questCatHealth, + streaming || vote || sns => appL10n.questCatPlanet, + community => appL10n.questCatCommunity, + place => appL10n.questTypePlace, + _ => label, + }; + /// 사람 검토형(C-08) — 참여가 곧 지급이 아니라 제출이다. bool get reviewed => this == QuestType.vote || this == QuestType.sns; @@ -315,6 +327,14 @@ class QuestSubmission { now.difference(submittedAt!) > Duration(hours: hours); } +/// 사용자 생성 Quest 의 모집 인원이 다 찼는가 — 명세 `523:18176` *참여 인원 충족 시 퀘스트 종료*. +/// 서버 참여 수(`participantCount`)는 지급 · 검토 예약 때 오르고 최종 반려 때 내려간다. +bool questFull(QuestCard card) => + card.author == QuestAuthor.user && + card.capacity != null && + card.capacity! > 0 && + card.participants >= card.capacity!; + /// 목록 카드 하나. class QuestCard { const QuestCard({ @@ -333,12 +353,17 @@ class QuestCard { this.ugcAdPop = 10, this.endsAt, this.publishState = '', + this.authorName = '', }); final String id; final String title; final String categoryName; + /// 만든 사람의 공개 닉네임(`quests.authorName`). 운영 Quest 는 빈 값이다. + /// 신고하기 「신고 정보 영역 — 작성자 닉네임」(Figma `548:21389`)에 쓴다. + final String authorName; + /// 내가 만든 Quest 의 공개 상태(`quests.status`) — `review` · `published` · `rejected` 등. /// 「내 퀘스트」 카드가 검수 중 · 반려를 공개된 것과 구분해 보인다(10/6 실기기 4-2). final String publishState; @@ -398,6 +423,7 @@ class QuestCard { adMultiplier: adMultiplier, ugcAdPop: ugcAdPop, endsAt: endsAt, + authorName: authorName, publishState: publishState, ); } @@ -508,9 +534,11 @@ enum QuestTab { bool accepts(QuestCard card) => switch (this) { QuestTab.all => true, - QuestTab.inProgress => card.stage == QuestStage.inProgress, - QuestTab.done => - card.stage == QuestStage.completed || card.stage == QuestStage.rewarded, + // 명세 `518:88405` — *진행중 - 진행중 탭 / 진행완료 - 진행중 탭 / 보상완료 - 완료 탭*. + // 보상을 받기 전(진행완료)까지는 진행중 탭에 두고, 받은 뒤에 완료 탭으로 옮긴다. + QuestTab.inProgress => + card.stage == QuestStage.inProgress || card.stage == QuestStage.completed, + QuestTab.done => card.stage == QuestStage.rewarded, QuestTab.mine => card.stage == QuestStage.mine, }; } @@ -610,6 +638,15 @@ abstract interface class QuestRepository { /// 모르면 null(헤더는 받은 값을 유지한다). Future popBalance(); + /// 퀘스트 생성에 쓸 수 있는 보유 POP(일반 + 기여 — 서버 예치 `spendSplit` 과 같은 합). 명세 + /// `523:18176` 완료 보상 설정 영역 *보유 POP 값*. 모르면 null. + Future spendableBalance(); + + /// 오늘 광고 추가 보상을 더 받을 수 있는가(일 한도 — B-03 · 10/3 통합회신 4절 「일 5회」). + /// 별첨 1 ⑥ 「일일 한도 도달 시 노출 제한」 — 다 쓴 사람에게는 보상 안내 모달을 띄우지 않는다. + /// 판정은 서버(`fnAdReward`)가 다시 한다. 읽지 못하면 true(모달을 막지 않는다). + Future adAvailable(); + /// 진행 중 실측 진행도. 걸음 퀘스트만 값을 낸다. /// /// 명세 `518:88441` 의 *「시작하기」 버튼 진행중으로 변경 후 실시간 목표 실행률 @@ -852,6 +889,12 @@ class SampleQuestRepository implements QuestRepository { @override Future popBalance() async => null; + @override + Future spendableBalance() async => null; + + @override + Future adAvailable() async => true; + /// **표본은 센서를 읽지 않는다.** 여기서 걸음 수를 지어내면 화면이 카드에 적힌 /// 진행도 대신 만들어 낸 값을 그리게 되고, 목 모드 확인물이 실측처럼 보인다. @override diff --git a/app/lib/features/quest/quest_detail_screen.dart b/app/lib/features/quest/quest_detail_screen.dart index f4e6c62..5c56901 100644 --- a/app/lib/features/quest/quest_detail_screen.dart +++ b/app/lib/features/quest/quest_detail_screen.dart @@ -26,6 +26,7 @@ import 'quest_reward_screen.dart'; import 'widgets/quest_card_tile.dart'; import 'widgets/time_attack_countdown.dart'; import '../../core/i18n/app_locale.dart'; +import '../../core/ui/sheet_route.dart'; /// 퀘스트 상세 — 화면 대조 원장 F4. /// @@ -118,6 +119,9 @@ class _QuestDetailScreenState extends State { return Scaffold( appBar: AppBar( actions: [ + // 명세 `548:19275` — 더보기는 *사용자 퀘스트 중 타인 퀘스트에서만 노출*. 내 퀘스트의 + // 수정 · 취소는 확정 정책(C-07 · B-30)이 더한 항목이라 생성자에게도 둔다. 운영 Quest 는 없음. + if (ugc) PopupMenuButton( tooltip: context.l10n.commonMore, icon: const ImageIcon( @@ -128,7 +132,7 @@ class _QuestDetailScreenState extends State { onSelected: (value) => switch (value) { 'edit' => _edit(detail), 'cancel' => _cancel(detail), - _ => _report(card.title), + _ => _report(card), }, itemBuilder: (_) => [ // 공개 후 수정은 생성자의 제목 · 설명뿐이다(C-07). @@ -146,10 +150,11 @@ class _QuestDetailScreenState extends State { value: 'cancel', child: Text(context.l10n.questCancel), ), - PopupMenuItem( - value: 'report', - child: Text(context.l10n.reportTitle), - ), + if (stage != QuestStage.mine) + PopupMenuItem( + value: 'report', + child: Text(context.l10n.reportTitle), + ), ], ), ], @@ -406,9 +411,11 @@ class _QuestDetailScreenState extends State { detail, stage, blocked, + // 정원이 찬 퀘스트도 종료다(명세 `523:18176` 종료 시점 1) — 시작 전인 사람만 막힌다. closed: - detail.endsAt != null && - !ServerClock.now().isBefore(detail.endsAt!), + (detail.endsAt != null && + !ServerClock.now().isBefore(detail.endsAt!)) || + (questFull(card) && stage == QuestStage.notStarted), ) : TimeAttackCountdown( endsAt: endsAt, @@ -959,9 +966,13 @@ class _QuestDetailScreenState extends State { // 기본 보상은 이미 원장에 있다. 광고는 그 위의 선택적 증분이다(원장 B-03 · C-122) — // 광고가 실패해도 기본 보상은 그대로다. - final bonus = - await showQuestAdBonus(context, bonusPop: detail.card.adBonusPop) ?? - false; + // 일 한도를 다 쓴 사람에게는 모달을 띄우지 않는다(별첨 1 ⑥ 「일일 한도 도달 시 노출 제한」) — + // 띄우면 광고를 끝까지 보고도 증분 0 이다. + final adOpen = await widget.repository.adAvailable(); + if (!mounted) return; + final bonus = adOpen && + (await showQuestAdBonus(context, bonusPop: detail.card.adBonusPop) ?? + false); if (!mounted) return; int? adPop; if (bonus) { @@ -979,6 +990,13 @@ class _QuestDetailScreenState extends State { if (mounted) _toast(error.message); } if (!mounted) return; + } else if (_adShown) { + // 명세 `518:88645` — 광고 종료(100% 시청 또는 skip) 후 *광고 시청 후 애니메이션*. 끝까지 + // 보지 않았으니 증분은 없다(B-03) — 애니메이션만 거쳐 완료 화면으로 간다. + await _warp(QuestAdWarpScreen.after( + until: Future.delayed(const Duration(milliseconds: 1200)), + )); + if (!mounted) return; } } @@ -1003,7 +1021,11 @@ class _QuestDetailScreenState extends State { /// 끝까지 봤으면 노출 ID, 아니면 null 이다. 불러오지 못했거나 중간에 닫았으면 /// 그 사실을 알리고 **기본 보상으로 넘어간다**(원장 B-03 — 실패 시 기본 보상 지급 · /// 횟수 미차감). 대기 중 「건너뛰기」를 누르면 늦게 온 광고는 띄우지 않고 버린다. + /// 이번 보상에서 광고가 실제로 화면에 떴는가 — skip 으로 닫았을 때도 시청 후 애니메이션을 거친다. + bool _adShown = false; + Future _watchAd(QuestReward reward) async { + _adShown = false; RewardedAdHandle? ad; BackendException? failure; final loading = widget.repository @@ -1030,6 +1052,7 @@ class _QuestDetailScreenState extends State { } return null; } + _adShown = true; final impression = await loaded.show(); if (impression == null && mounted) { _toast(context.l10n.adNotFinished); @@ -1065,14 +1088,16 @@ class _QuestDetailScreenState extends State { rootNavigator: true, ).push(MaterialPageRoute(builder: (_) => screen)); - Future _report(String title) async { + Future _report(QuestCard card) async { final reason = await Navigator.of(context, rootNavigator: true) .push( - MaterialPageRoute( + // 명세 `548:21389` — 신고 화면은 *페이지 아래 move out* 으로 닫힌다. + SheetRoute( builder: (_) => ReportScreen( + // 신고 정보 영역 — *작성자 닉네임 · 게시물 제목*. 작성자 칸에 제목이 들어가던 것을 바로잡음. target: ModerationTarget( - authorName: title, - title: context.l10n.questNamed(title), + authorName: card.authorName, + title: card.title, ), ), ), diff --git a/app/lib/features/quest/quest_list_screen.dart b/app/lib/features/quest/quest_list_screen.dart index 22b98e7..1dfaffd 100644 --- a/app/lib/features/quest/quest_list_screen.dart +++ b/app/lib/features/quest/quest_list_screen.dart @@ -9,6 +9,7 @@ import 'quest_detail_screen.dart'; import 'widgets/quest_card_tile.dart'; import '../../core/i18n/app_locale.dart'; import '../../core/ui/bottom_inset.dart'; +import '../../core/ui/sheet_route.dart'; /// 퀘스트 목록 — 화면 대조 원장 F4. /// @@ -174,9 +175,11 @@ class _QuestListScreenState extends State { Future _report(QuestCard card) async { final reason = await Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute( + // 명세 `548:21389` — 신고 화면은 *페이지 아래 move out* 으로 닫힌다. + SheetRoute( builder: (_) => ReportScreen( - target: ModerationTarget(authorName: card.title, title: context.l10n.questNamed(card.title)), + // 신고 정보 영역 — *작성자 닉네임 · 게시물 제목*(작성자 칸에 제목이 들어가던 것을 바로잡음). + target: ModerationTarget(authorName: card.authorName, title: card.title), ), ), ); @@ -381,11 +384,14 @@ class _QuestListScreenState extends State { Future _create() async { final id = await Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute( + // 명세 `523:18123` — 닫기는 *하단 move out 페이지 종료*. 아래에서 올라와 아래로 닫힌다. + SheetRoute( builder: (_) => QuestCreateScreen(repository: widget.repository), ), ); if (id != null && mounted) { + // 명세 `523:18176` 생성 안내 모달 — *완료 - 퀘스트 Create 후 이전 퀘스트의 내 퀘스트 탭으로 이동*. + setState(() => _tab = QuestTab.mine); // 공개 요청은 곧 공개가 아니다 — 운영 검수 뒤 공개된다(1주차 4항 · Q8). ScaffoldMessenger.of(context) ..hideCurrentSnackBar() diff --git a/app/lib/features/quest/quest_repository_firestore.dart b/app/lib/features/quest/quest_repository_firestore.dart index d128889..0d9865e 100644 --- a/app/lib/features/quest/quest_repository_firestore.dart +++ b/app/lib/features/quest/quest_repository_firestore.dart @@ -133,7 +133,12 @@ class FirestoreQuestRepository implements QuestRepository { } on Exception { progress = const {}; } - cards.add(_card(doc.id, quest, progress, uid, policy, await _submission(doc.id, quest))); + final card = _card(doc.id, quest, progress, uid, policy, await _submission(doc.id, quest)); + // 명세 `523:18176` 퀘스트 종료 시점 1 — *참여 인원 충족 시 퀘스트 종료*. 서버는 정원이 차면 + // 참여를 거부하므로(미배정 Pool 0), 아직 참여하지 않은 사람에게는 열린 퀘스트로 보이지 않게 한다. + // 이미 참여한 사람(진행중 · 완료 탭)과 생성자(내 퀘스트)에게는 그대로 남긴다. + if (questFull(card) && card.stage == QuestStage.notStarted) continue; + cards.add(card); } return cards; } @@ -198,7 +203,7 @@ class FirestoreQuestRepository implements QuestRepository { return QuestCard( id: id, title: questTitle(quest), - categoryName: type.label, + categoryName: type.category, type: type, author: authorUid.isEmpty ? QuestAuthor.admin : QuestAuthor.user, stage: authorUid == uid @@ -223,6 +228,7 @@ class FirestoreQuestRepository implements QuestRepository { // 열린 TIME ATTACK 회차의 마감. 있으면 카드 · 상세가 남은 시간을 세고 참여는 회차로 간다. endsAt: openTimeAttack(quest)?.endsAt, publishState: authorUid == uid ? quest.strOr('status') : '', + authorName: quest.strOr('authorName'), ); } @@ -513,6 +519,29 @@ class FirestoreQuestRepository implements QuestRepository { return wallet.data()?.intOr('activityBalance'); } + @override + Future adAvailable() async { + try { + final db = _backend.db; + final ad = (await db.doc('users/${_backend.requireUid}/questProgress/ad').get()).data(); + // 서버 `progress(uid, 'ad', dayKey(now))` 와 같은 규약 — KST 날짜가 다르면 오늘 0회. + final today = ServerClock.now().toUtc().add(const Duration(hours: 9)).toIso8601String().substring(0, 10); + if (ad == null || ad['dayKey'] != today) return true; + final limit = (await _policy()).intOr('adDailyLimit', 5); + return ad.intOr('count') < limit; + } on Exception { + return true; + } + } + + @override + Future spendableBalance() async { + final wallet = await _backend.db.doc('users/${_backend.requireUid}/wallet/main').get(); + final data = wallet.data(); + if (data == null) return null; + return data.intOr('activityBalance') + data.intOr('supportBalance'); + } + @override Stream progressStream(QuestCard card) { if (card.type != QuestType.steps) return const Stream.empty(); diff --git a/app/lib/features/quest/quest_reward_screen.dart b/app/lib/features/quest/quest_reward_screen.dart index 216b2fc..8f8fa33 100644 --- a/app/lib/features/quest/quest_reward_screen.dart +++ b/app/lib/features/quest/quest_reward_screen.dart @@ -59,7 +59,16 @@ class _QuestRewardScreenState extends State { QuestDetail get detail => widget.detail; int? get adBonusPop => widget.adBonusPop; - int? get rewardPop => widget.reward?.rewardedPop ?? detail.card.rewardPop; + /// 큰 숫자 — 운영 Quest 에서 광고를 봤으면 기본 보상 + 광고 증분 합계(명세 `518:88685` *광고 시청 + /// POP = 보상 POP × 2 or ×3*, 배수는 B-03 운영값). 사용자 생성 Quest 는 배수가 아니라 고정 증분 + /// (B-28 · C-02)이라 기본 보상만 크게 둔다. 두 값 모두 서버 지급액이고, 증분은 아래 줄에 기여 POP 으로 + /// 따로 적는다(C-67 · C-122 유형 구분). + int? get rewardPop { + final base = widget.reward?.rewardedPop ?? detail.card.rewardPop; + final ad = widget.adBonusPop; + if (base == null || ad == null || detail.card.author != QuestAuthor.admin) return base; + return base + ad; + } /// 결과 카드를 PNG 로 굽고 문구 · 해시태그(B-78)와 함께 OS 공유 시트로 보낸다. Future _share(BuildContext button) async { @@ -198,7 +207,10 @@ class _QuestRewardScreenState extends State { Padding( padding: const EdgeInsets.fromLTRB(16, 0, 16, 16), child: FilledButton( - onPressed: () => Navigator.of(context).pop(true), + // 설명 프레임 `518:88326` 「확인 버튼 - 클릭 시, 홈 화면 이동」 — 퀘스트 상세 · 목록까지 + // 닫고 첫 화면(탭 셸)으로 돌아간다. 퀘스트는 HOME 에서만 열린다. + onPressed: () => + Navigator.of(context).popUntil((route) => route.isFirst), style: FilledButton.styleFrom( minimumSize: const Size.fromHeight(56), shape: RoundedRectangleBorder( diff --git a/app/lib/l10n/app_en.arb b/app/lib/l10n/app_en.arb index fd42886..8c2e2a2 100644 --- a/app/lib/l10n/app_en.arb +++ b/app/lib/l10n/app_en.arb @@ -65,6 +65,8 @@ "settingsInquiry": "1:1 inquiry", "settingsAppVersion": "App version", "settingsLatest": "Latest", + "updateAvailableTitle": "A new version is available", + "updateAvailableBody": "Please update FANUZU to the latest version ({version}) from the store.", "settingsLogout": "Log out", "settingsLogoutConfirm": "Do you want to log out?", "settingsWithdraw": "Delete account", @@ -246,6 +248,7 @@ "nebulaHeadline": "Name your fandom planet.", "nebulaBody": "If founding members reach the POP goal within {days} days,\nit's born as an official planet!\nMembers who joined the evolution get a commemorative badge.", "nebulaNameTaken": "This name is already taken.", + "nebulaNameInvalid": "Use 2–20 letters, numbers or spaces (no symbols, emoji, or double/leading/trailing spaces).", "nebulaNameHint": "Fandom name", "nebulaGoal": "Goal ", "nebulaFounders": " / Founders", @@ -443,6 +446,7 @@ "notifKindComment": "Comments", "notifKindCampaign": "Campaign goal", "notifKindQuest": "Quest complete", + "notifKindEvolution": "Planet evolution", "notifTargetPost": "post", "notifTargetCampaign": "campaign", "notifTargetQuest": "quest details", @@ -568,6 +572,14 @@ "blockUnavailable": "This author can't be blocked.", "commonMe": "Me", "planetSizeMedium": "Mid-size fandom", + "planetSizeSmall": "Small fandom", + "planetSizeLarge": "Large fandom", + "galaxyTabPlanet": "Planets", + "galaxyTabNebula": "Nebulae", + "galaxySortMembers": "Members", + "galaxyJoin": "Join", + "galaxyGridView": "Grid view", + "galaxyListView": "List view", "planetPerHead": "Power per member: {value}", "planetJoined": "Joined", "planetJoin": "Join", @@ -634,7 +646,7 @@ "permLocationNeeded": "Location permission is needed to verify your visit.", "permLocationDenied": "Location permission is off. Allow location access in Settings.", "questRewardReceived": " received!", - "questAdBonus": "Ad bonus +{pop} POP", + "questAdBonus": "Ad bonus +{pop} Contribution POP", "questParticipantsCount": "Participants: {count}", "questParticipantsCap": "Participants: {count} / {cap}", "nebulaCreateFailed": "Couldn't create the nebula. Please try again later.", diff --git a/app/lib/l10n/app_es.arb b/app/lib/l10n/app_es.arb index 7d063ed..c35a820 100644 --- a/app/lib/l10n/app_es.arb +++ b/app/lib/l10n/app_es.arb @@ -65,6 +65,8 @@ "settingsInquiry": "Consulta 1:1", "settingsAppVersion": "Versión de la app", "settingsLatest": "Última versión", + "updateAvailableTitle": "Hay una nueva versión", + "updateAvailableBody": "Actualiza FANUZU a la última versión ({version}) desde la tienda.", "settingsLogout": "Cerrar sesión", "settingsLogoutConfirm": "¿Quieres cerrar sesión?", "settingsWithdraw": "Eliminar cuenta", @@ -246,6 +248,7 @@ "nebulaHeadline": "Ponle nombre al planeta de tu fandom.", "nebulaBody": "Si los miembros fundadores alcanzan la meta de POP en {days} días,\n¡nacerá como planeta oficial!\nQuienes participen en la evolución recibirán una insignia.", "nebulaNameTaken": "Este nombre ya está en uso.", + "nebulaNameInvalid": "Usa de 2 a 20 letras, números o espacios (sin símbolos, emojis ni espacios dobles o al inicio/final).", "nebulaNameHint": "Nombre del fandom", "nebulaGoal": "Meta ", "nebulaFounders": " / Fundadores", @@ -443,6 +446,7 @@ "notifKindComment": "Comentarios", "notifKindCampaign": "Meta de campaña", "notifKindQuest": "Misión completada", + "notifKindEvolution": "Evolución del planeta", "notifTargetPost": "la publicación", "notifTargetCampaign": "la campaña", "notifTargetQuest": "el detalle de la misión", @@ -568,6 +572,14 @@ "blockUnavailable": "No se puede bloquear a este autor.", "commonMe": "Yo", "planetSizeMedium": "Fandom mediano", + "planetSizeSmall": "Fandom pequeño", + "planetSizeLarge": "Fandom grande", + "galaxyTabPlanet": "Planetas", + "galaxyTabNebula": "Nebulosas", + "galaxySortMembers": "Miembros", + "galaxyJoin": "Unirse", + "galaxyGridView": "Vista de cuadrícula", + "galaxyListView": "Vista de lista", "planetPerHead": "Poder por miembro: {value}", "planetJoined": "Unido", "planetJoin": "Unirse", @@ -634,7 +646,7 @@ "permLocationNeeded": "Se necesita el permiso de ubicación para verificar tu visita.", "permLocationDenied": "El permiso de ubicación está desactivado. Permite el acceso en Ajustes.", "questRewardReceived": " ¡recibidos!", - "questAdBonus": "Extra por anuncio +{pop} POP", + "questAdBonus": "Extra por anuncio +{pop} POP de contribución", "questParticipantsCount": "Participantes: {count}", "questParticipantsCap": "Participantes: {count} / {cap}", "nebulaCreateFailed": "No se pudo crear la nebulosa. Inténtalo más tarde.", diff --git a/app/lib/l10n/app_ja.arb b/app/lib/l10n/app_ja.arb index f227c5f..35f321a 100644 --- a/app/lib/l10n/app_ja.arb +++ b/app/lib/l10n/app_ja.arb @@ -65,6 +65,8 @@ "settingsInquiry": "1:1お問い合わせ", "settingsAppVersion": "アプリバージョン", "settingsLatest": "最新バージョン", + "updateAvailableTitle": "新しいバージョンがあります", + "updateAvailableBody": "ストアでFANUZUを最新バージョン({version})にアップデートしてください。", "settingsLogout": "ログアウト", "settingsLogoutConfirm": "ログアウトしますか?", "settingsWithdraw": "退会", @@ -246,6 +248,7 @@ "nebulaHeadline": "ファンダム惑星の名前を決めよう。", "nebulaBody": "創立メンバーが{days}日以内に目標POPを達成すると\n正式な惑星として誕生します!\n進化に参加したメンバーには記念バッジが贈られます。", "nebulaNameTaken": "すでに使用されている名前です。", + "nebulaNameInvalid": "2〜20文字のハングル・英字・数字で入力してください(記号・絵文字・連続/前後の空白は不可)。", "nebulaNameHint": "ファンダム名", "nebulaGoal": "目標 ", "nebulaFounders": " / 創立メンバー", @@ -443,6 +446,7 @@ "notifKindComment": "コメント", "notifKindCampaign": "キャンペーン達成", "notifKindQuest": "クエスト完了", + "notifKindEvolution": "惑星の進化", "notifTargetPost": "投稿", "notifTargetCampaign": "キャンペーン", "notifTargetQuest": "クエスト詳細", @@ -568,6 +572,14 @@ "blockUnavailable": "ブロックできない投稿者です。", "commonMe": "自分", "planetSizeMedium": "中規模ファンダム", + "planetSizeSmall": "小規模ファンダム", + "planetSizeLarge": "大規模ファンダム", + "galaxyTabPlanet": "惑星", + "galaxyTabNebula": "星雲", + "galaxySortMembers": "メンバー数", + "galaxyJoin": "参加", + "galaxyGridView": "グリッド表示", + "galaxyListView": "リスト表示", "planetPerHead": "1人あたり火力:{value}", "planetJoined": "参加中", "planetJoin": "参加する", @@ -634,7 +646,7 @@ "permLocationNeeded": "訪問を確認するには位置情報の権限が必要です。", "permLocationDenied": "位置情報の権限がオフです。設定で位置情報へのアクセスを許可してください。", "questRewardReceived": " 受け取りました!", - "questAdBonus": "広告追加報酬 +{pop} POP", + "questAdBonus": "広告追加報酬 +{pop} 貢献POP", "questParticipantsCount": "参加人数:{count}", "questParticipantsCap": "参加人数:{count} / {cap}", "nebulaCreateFailed": "星雲を作成できませんでした。しばらくしてから再度お試しください。", diff --git a/app/lib/l10n/app_ko.arb b/app/lib/l10n/app_ko.arb index e4d51e7..bc0926d 100644 --- a/app/lib/l10n/app_ko.arb +++ b/app/lib/l10n/app_ko.arb @@ -120,6 +120,11 @@ "settingsInquiry": "1:1 문의접수", "settingsAppVersion": "앱 버전", "settingsLatest": "최신 버전", + "updateAvailableTitle": "새 버전이 있어요", + "updateAvailableBody": "스토어에서 FANUZU 를 최신 버전({version})으로 업데이트해 주세요.", + "@updateAvailableBody": { + "placeholders": { "version": { "type": "String" } } + }, "settingsLogout": "로그아웃", "settingsLogoutConfirm": "로그아웃 하시겠습니까?", "settingsWithdraw": "서비스 탈퇴", @@ -577,6 +582,7 @@ } }, "nebulaNameTaken": "이미 사용중인 이름입니다.", + "nebulaNameInvalid": "2~20자 한글·영문·숫자로 입력해 주세요(특수문자·이모지·연속/앞뒤 공백 불가).", "nebulaNameHint": "팬덤 이름", "nebulaGoal": "목표 ", "nebulaFounders": " / 창립멤버", @@ -888,6 +894,7 @@ "notifKindComment": "댓글", "notifKindCampaign": "캠페인 달성", "notifKindQuest": "퀘스트 완료", + "notifKindEvolution": "행성 진화", "notifTargetPost": "게시물", "notifTargetCampaign": "캠페인", "notifTargetQuest": "퀘스트 상세", @@ -1135,6 +1142,14 @@ "blockUnavailable": "차단할 수 없는 작성자입니다.", "commonMe": "나", "planetSizeMedium": "중형 팬덤", + "planetSizeSmall": "소형 팬덤", + "planetSizeLarge": "대형 팬덤", + "galaxyTabPlanet": "행성", + "galaxyTabNebula": "성운", + "galaxySortMembers": "가입자 수", + "galaxyJoin": "가입", + "galaxyGridView": "격자 그리드", + "galaxyListView": "리스트 그리드", "planetPerHead": "1인당 화력 : {value}", "@planetPerHead": { "placeholders": { @@ -1242,7 +1257,7 @@ "permLocationNeeded": "방문을 확인하려면 위치 권한이 필요합니다.", "permLocationDenied": "위치 권한이 꺼져 있습니다. 설정에서 위치 접근을 허용해 주세요.", "questRewardReceived": " 받았어요!", - "questAdBonus": "광고 추가 보상 +{pop} POP", + "questAdBonus": "광고 추가 보상 +{pop} 기여 POP", "@questAdBonus": { "placeholders": { "pop": { diff --git a/app/lib/l10n/app_localizations.dart b/app/lib/l10n/app_localizations.dart index fb2600f..c0d47e3 100644 --- a/app/lib/l10n/app_localizations.dart +++ b/app/lib/l10n/app_localizations.dart @@ -494,6 +494,18 @@ abstract class AppLocalizations { /// **'최신 버전'** String get settingsLatest; + /// No description provided for @updateAvailableTitle. + /// + /// In ko, this message translates to: + /// **'새 버전이 있어요'** + String get updateAvailableTitle; + + /// No description provided for @updateAvailableBody. + /// + /// In ko, this message translates to: + /// **'스토어에서 FANUZU 를 최신 버전({version})으로 업데이트해 주세요.'** + String updateAvailableBody(String version); + /// No description provided for @settingsLogout. /// /// In ko, this message translates to: @@ -1580,6 +1592,12 @@ abstract class AppLocalizations { /// **'이미 사용중인 이름입니다.'** String get nebulaNameTaken; + /// No description provided for @nebulaNameInvalid. + /// + /// In ko, this message translates to: + /// **'2~20자 한글·영문·숫자로 입력해 주세요(특수문자·이모지·연속/앞뒤 공백 불가).'** + String get nebulaNameInvalid; + /// No description provided for @nebulaNameHint. /// /// In ko, this message translates to: @@ -2762,6 +2780,12 @@ abstract class AppLocalizations { /// **'퀘스트 완료'** String get notifKindQuest; + /// No description provided for @notifKindEvolution. + /// + /// In ko, this message translates to: + /// **'행성 진화'** + String get notifKindEvolution; + /// No description provided for @notifTargetPost. /// /// In ko, this message translates to: @@ -3512,6 +3536,54 @@ abstract class AppLocalizations { /// **'중형 팬덤'** String get planetSizeMedium; + /// No description provided for @planetSizeSmall. + /// + /// In ko, this message translates to: + /// **'소형 팬덤'** + String get planetSizeSmall; + + /// No description provided for @planetSizeLarge. + /// + /// In ko, this message translates to: + /// **'대형 팬덤'** + String get planetSizeLarge; + + /// No description provided for @galaxyTabPlanet. + /// + /// In ko, this message translates to: + /// **'행성'** + String get galaxyTabPlanet; + + /// No description provided for @galaxyTabNebula. + /// + /// In ko, this message translates to: + /// **'성운'** + String get galaxyTabNebula; + + /// No description provided for @galaxySortMembers. + /// + /// In ko, this message translates to: + /// **'가입자 수'** + String get galaxySortMembers; + + /// No description provided for @galaxyJoin. + /// + /// In ko, this message translates to: + /// **'가입'** + String get galaxyJoin; + + /// No description provided for @galaxyGridView. + /// + /// In ko, this message translates to: + /// **'격자 그리드'** + String get galaxyGridView; + + /// No description provided for @galaxyListView. + /// + /// In ko, this message translates to: + /// **'리스트 그리드'** + String get galaxyListView; + /// No description provided for @planetPerHead. /// /// In ko, this message translates to: @@ -3911,7 +3983,7 @@ abstract class AppLocalizations { /// No description provided for @questAdBonus. /// /// In ko, this message translates to: - /// **'광고 추가 보상 +{pop} POP'** + /// **'광고 추가 보상 +{pop} 기여 POP'** String questAdBonus(String pop); /// No description provided for @questParticipantsCount. diff --git a/app/lib/l10n/app_localizations_en.dart b/app/lib/l10n/app_localizations_en.dart index 3381d38..6f1d38b 100644 --- a/app/lib/l10n/app_localizations_en.dart +++ b/app/lib/l10n/app_localizations_en.dart @@ -234,6 +234,14 @@ class AppLocalizationsEn extends AppLocalizations { @override String get settingsLatest => 'Latest'; + @override + String get updateAvailableTitle => 'A new version is available'; + + @override + String updateAvailableBody(String version) { + return 'Please update FANUZU to the latest version ($version) from the store.'; + } + @override String get settingsLogout => 'Log out'; @@ -894,6 +902,10 @@ class AppLocalizationsEn extends AppLocalizations { @override String get nebulaNameTaken => 'This name is already taken.'; + @override + String get nebulaNameInvalid => + 'Use 2–20 letters, numbers or spaces (no symbols, emoji, or double/leading/trailing spaces).'; + @override String get nebulaNameHint => 'Fandom name'; @@ -1533,6 +1545,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get notifKindQuest => 'Quest complete'; + @override + String get notifKindEvolution => 'Planet evolution'; + @override String get notifTargetPost => 'post'; @@ -1977,6 +1992,30 @@ class AppLocalizationsEn extends AppLocalizations { @override String get planetSizeMedium => 'Mid-size fandom'; + @override + String get planetSizeSmall => 'Small fandom'; + + @override + String get planetSizeLarge => 'Large fandom'; + + @override + String get galaxyTabPlanet => 'Planets'; + + @override + String get galaxyTabNebula => 'Nebulae'; + + @override + String get galaxySortMembers => 'Members'; + + @override + String get galaxyJoin => 'Join'; + + @override + String get galaxyGridView => 'Grid view'; + + @override + String get galaxyListView => 'List view'; + @override String planetPerHead(String value) { return 'Power per member: $value'; @@ -2199,7 +2238,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String questAdBonus(String pop) { - return 'Ad bonus +$pop POP'; + return 'Ad bonus +$pop Contribution POP'; } @override diff --git a/app/lib/l10n/app_localizations_es.dart b/app/lib/l10n/app_localizations_es.dart index 5004711..ac574e5 100644 --- a/app/lib/l10n/app_localizations_es.dart +++ b/app/lib/l10n/app_localizations_es.dart @@ -236,6 +236,14 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settingsLatest => 'Última versión'; + @override + String get updateAvailableTitle => 'Hay una nueva versión'; + + @override + String updateAvailableBody(String version) { + return 'Actualiza FANUZU a la última versión ($version) desde la tienda.'; + } + @override String get settingsLogout => 'Cerrar sesión'; @@ -904,6 +912,10 @@ class AppLocalizationsEs extends AppLocalizations { @override String get nebulaNameTaken => 'Este nombre ya está en uso.'; + @override + String get nebulaNameInvalid => + 'Usa de 2 a 20 letras, números o espacios (sin símbolos, emojis ni espacios dobles o al inicio/final).'; + @override String get nebulaNameHint => 'Nombre del fandom'; @@ -1541,6 +1553,9 @@ class AppLocalizationsEs extends AppLocalizations { @override String get notifKindQuest => 'Misión completada'; + @override + String get notifKindEvolution => 'Evolución del planeta'; + @override String get notifTargetPost => 'la publicación'; @@ -1989,6 +2004,30 @@ class AppLocalizationsEs extends AppLocalizations { @override String get planetSizeMedium => 'Fandom mediano'; + @override + String get planetSizeSmall => 'Fandom pequeño'; + + @override + String get planetSizeLarge => 'Fandom grande'; + + @override + String get galaxyTabPlanet => 'Planetas'; + + @override + String get galaxyTabNebula => 'Nebulosas'; + + @override + String get galaxySortMembers => 'Miembros'; + + @override + String get galaxyJoin => 'Unirse'; + + @override + String get galaxyGridView => 'Vista de cuadrícula'; + + @override + String get galaxyListView => 'Vista de lista'; + @override String planetPerHead(String value) { return 'Poder por miembro: $value'; @@ -2213,7 +2252,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String questAdBonus(String pop) { - return 'Extra por anuncio +$pop POP'; + return 'Extra por anuncio +$pop POP de contribución'; } @override diff --git a/app/lib/l10n/app_localizations_ja.dart b/app/lib/l10n/app_localizations_ja.dart index 759be99..30e7a3f 100644 --- a/app/lib/l10n/app_localizations_ja.dart +++ b/app/lib/l10n/app_localizations_ja.dart @@ -231,6 +231,14 @@ class AppLocalizationsJa extends AppLocalizations { @override String get settingsLatest => '最新バージョン'; + @override + String get updateAvailableTitle => '新しいバージョンがあります'; + + @override + String updateAvailableBody(String version) { + return 'ストアでFANUZUを最新バージョン($version)にアップデートしてください。'; + } + @override String get settingsLogout => 'ログアウト'; @@ -860,6 +868,10 @@ class AppLocalizationsJa extends AppLocalizations { @override String get nebulaNameTaken => 'すでに使用されている名前です。'; + @override + String get nebulaNameInvalid => + '2〜20文字のハングル・英字・数字で入力してください(記号・絵文字・連続/前後の空白は不可)。'; + @override String get nebulaNameHint => 'ファンダム名'; @@ -1483,6 +1495,9 @@ class AppLocalizationsJa extends AppLocalizations { @override String get notifKindQuest => 'クエスト完了'; + @override + String get notifKindEvolution => '惑星の進化'; + @override String get notifTargetPost => '投稿'; @@ -1917,6 +1932,30 @@ class AppLocalizationsJa extends AppLocalizations { @override String get planetSizeMedium => '中規模ファンダム'; + @override + String get planetSizeSmall => '小規模ファンダム'; + + @override + String get planetSizeLarge => '大規模ファンダム'; + + @override + String get galaxyTabPlanet => '惑星'; + + @override + String get galaxyTabNebula => '星雲'; + + @override + String get galaxySortMembers => 'メンバー数'; + + @override + String get galaxyJoin => '参加'; + + @override + String get galaxyGridView => 'グリッド表示'; + + @override + String get galaxyListView => 'リスト表示'; + @override String planetPerHead(String value) { return '1人あたり火力:$value'; @@ -2128,7 +2167,7 @@ class AppLocalizationsJa extends AppLocalizations { @override String questAdBonus(String pop) { - return '広告追加報酬 +$pop POP'; + return '広告追加報酬 +$pop 貢献POP'; } @override diff --git a/app/lib/l10n/app_localizations_ko.dart b/app/lib/l10n/app_localizations_ko.dart index fac5751..fde5e19 100644 --- a/app/lib/l10n/app_localizations_ko.dart +++ b/app/lib/l10n/app_localizations_ko.dart @@ -231,6 +231,14 @@ class AppLocalizationsKo extends AppLocalizations { @override String get settingsLatest => '최신 버전'; + @override + String get updateAvailableTitle => '새 버전이 있어요'; + + @override + String updateAvailableBody(String version) { + return '스토어에서 FANUZU 를 최신 버전($version)으로 업데이트해 주세요.'; + } + @override String get settingsLogout => '로그아웃'; @@ -860,6 +868,10 @@ class AppLocalizationsKo extends AppLocalizations { @override String get nebulaNameTaken => '이미 사용중인 이름입니다.'; + @override + String get nebulaNameInvalid => + '2~20자 한글·영문·숫자로 입력해 주세요(특수문자·이모지·연속/앞뒤 공백 불가).'; + @override String get nebulaNameHint => '팬덤 이름'; @@ -1483,6 +1495,9 @@ class AppLocalizationsKo extends AppLocalizations { @override String get notifKindQuest => '퀘스트 완료'; + @override + String get notifKindEvolution => '행성 진화'; + @override String get notifTargetPost => '게시물'; @@ -1918,6 +1933,30 @@ class AppLocalizationsKo extends AppLocalizations { @override String get planetSizeMedium => '중형 팬덤'; + @override + String get planetSizeSmall => '소형 팬덤'; + + @override + String get planetSizeLarge => '대형 팬덤'; + + @override + String get galaxyTabPlanet => '행성'; + + @override + String get galaxyTabNebula => '성운'; + + @override + String get galaxySortMembers => '가입자 수'; + + @override + String get galaxyJoin => '가입'; + + @override + String get galaxyGridView => '격자 그리드'; + + @override + String get galaxyListView => '리스트 그리드'; + @override String planetPerHead(String value) { return '1인당 화력 : $value'; @@ -2129,7 +2168,7 @@ class AppLocalizationsKo extends AppLocalizations { @override String questAdBonus(String pop) { - return '광고 추가 보상 +$pop POP'; + return '광고 추가 보상 +$pop 기여 POP'; } @override diff --git a/app/lib/l10n/app_localizations_zh.dart b/app/lib/l10n/app_localizations_zh.dart index 66d804a..94d1588 100644 --- a/app/lib/l10n/app_localizations_zh.dart +++ b/app/lib/l10n/app_localizations_zh.dart @@ -231,6 +231,14 @@ class AppLocalizationsZh extends AppLocalizations { @override String get settingsLatest => '最新版本'; + @override + String get updateAvailableTitle => '有新版本'; + + @override + String updateAvailableBody(String version) { + return '请在应用商店将 FANUZU 更新到最新版本($version)。'; + } + @override String get settingsLogout => '退出登录'; @@ -860,6 +868,9 @@ class AppLocalizationsZh extends AppLocalizations { @override String get nebulaNameTaken => '该名称已被使用。'; + @override + String get nebulaNameInvalid => '请输入2~20个韩文、英文或数字(不可使用特殊字符、表情符号、连续或首尾空格)。'; + @override String get nebulaNameHint => '粉丝圈名称'; @@ -1482,6 +1493,9 @@ class AppLocalizationsZh extends AppLocalizations { @override String get notifKindQuest => '任务完成'; + @override + String get notifKindEvolution => '星球进化'; + @override String get notifTargetPost => '帖子'; @@ -1916,6 +1930,30 @@ class AppLocalizationsZh extends AppLocalizations { @override String get planetSizeMedium => '中型粉丝圈'; + @override + String get planetSizeSmall => '小型粉丝圈'; + + @override + String get planetSizeLarge => '大型粉丝圈'; + + @override + String get galaxyTabPlanet => '行星'; + + @override + String get galaxyTabNebula => '星云'; + + @override + String get galaxySortMembers => '成员数'; + + @override + String get galaxyJoin => '加入'; + + @override + String get galaxyGridView => '网格视图'; + + @override + String get galaxyListView => '列表视图'; + @override String planetPerHead(String value) { return '人均火力:$value'; @@ -2126,7 +2164,7 @@ class AppLocalizationsZh extends AppLocalizations { @override String questAdBonus(String pop) { - return '广告额外奖励 +$pop POP'; + return '广告额外奖励 +$pop 贡献 POP'; } @override diff --git a/app/lib/l10n/app_zh.arb b/app/lib/l10n/app_zh.arb index 62524f7..bfb42ef 100644 --- a/app/lib/l10n/app_zh.arb +++ b/app/lib/l10n/app_zh.arb @@ -65,6 +65,8 @@ "settingsInquiry": "1:1咨询", "settingsAppVersion": "应用版本", "settingsLatest": "最新版本", + "updateAvailableTitle": "有新版本", + "updateAvailableBody": "请在应用商店将 FANUZU 更新到最新版本({version})。", "settingsLogout": "退出登录", "settingsLogoutConfirm": "确定要退出登录吗?", "settingsWithdraw": "注销账号", @@ -246,6 +248,7 @@ "nebulaHeadline": "为我们的粉丝星球取个名字吧。", "nebulaBody": "创始成员在 {days} 天内达成目标 POP,\n即可诞生为正式星球!\n参与进化的成员将获得纪念徽章。", "nebulaNameTaken": "该名称已被使用。", + "nebulaNameInvalid": "请输入2~20个韩文、英文或数字(不可使用特殊字符、表情符号、连续或首尾空格)。", "nebulaNameHint": "粉丝圈名称", "nebulaGoal": "目标 ", "nebulaFounders": " / 创始成员", @@ -443,6 +446,7 @@ "notifKindComment": "评论", "notifKindCampaign": "活动达成", "notifKindQuest": "任务完成", + "notifKindEvolution": "星球进化", "notifTargetPost": "帖子", "notifTargetCampaign": "活动", "notifTargetQuest": "任务详情", @@ -568,6 +572,14 @@ "blockUnavailable": "无法屏蔽该作者。", "commonMe": "我", "planetSizeMedium": "中型粉丝圈", + "planetSizeSmall": "小型粉丝圈", + "planetSizeLarge": "大型粉丝圈", + "galaxyTabPlanet": "行星", + "galaxyTabNebula": "星云", + "galaxySortMembers": "成员数", + "galaxyJoin": "加入", + "galaxyGridView": "网格视图", + "galaxyListView": "列表视图", "planetPerHead": "人均火力:{value}", "planetJoined": "已加入", "planetJoin": "加入", @@ -634,7 +646,7 @@ "permLocationNeeded": "需要定位权限以确认到访。", "permLocationDenied": "定位权限已关闭,请在设置中允许访问位置。", "questRewardReceived": " 已领取!", - "questAdBonus": "广告额外奖励 +{pop} POP", + "questAdBonus": "广告额外奖励 +{pop} 贡献 POP", "questParticipantsCount": "参与人数:{count}", "questParticipantsCap": "参与人数:{count} / {cap}", "nebulaCreateFailed": "无法创建星云,请稍后再试。", diff --git a/app/lib/l10n/remote_app_localizations.dart b/app/lib/l10n/remote_app_localizations.dart index 18c2aaa..28d5242 100644 --- a/app/lib/l10n/remote_app_localizations.dart +++ b/app/lib/l10n/remote_app_localizations.dart @@ -727,6 +727,15 @@ class RemoteAppLocalizations extends AppLocalizations { @override String galaxyErosion(String rate, String progress) => _fill('galaxyErosion', {'rate': rate, 'progress': progress}) ?? _base.galaxyErosion(rate, progress); + @override + String get galaxyGridView => _remote['galaxyGridView'] ?? _base.galaxyGridView; + + @override + String get galaxyJoin => _remote['galaxyJoin'] ?? _base.galaxyJoin; + + @override + String get galaxyListView => _remote['galaxyListView'] ?? _base.galaxyListView; + @override String get galaxyLoadFailed => _remote['galaxyLoadFailed'] ?? _base.galaxyLoadFailed; @@ -757,6 +766,15 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get galaxySetPrimaryConfirm => _remote['galaxySetPrimaryConfirm'] ?? _base.galaxySetPrimaryConfirm; + @override + String get galaxySortMembers => _remote['galaxySortMembers'] ?? _base.galaxySortMembers; + + @override + String get galaxyTabNebula => _remote['galaxyTabNebula'] ?? _base.galaxyTabNebula; + + @override + String get galaxyTabPlanet => _remote['galaxyTabPlanet'] ?? _base.galaxyTabPlanet; + @override String get growthCheckConditions => _remote['growthCheckConditions'] ?? _base.growthCheckConditions; @@ -1294,6 +1312,9 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get nebulaNameTaken => _remote['nebulaNameTaken'] ?? _base.nebulaNameTaken; + @override + String get nebulaNameInvalid => _remote['nebulaNameInvalid'] ?? _base.nebulaNameInvalid; + @override String get nicknameEdit => _remote['nicknameEdit'] ?? _base.nicknameEdit; @@ -1330,6 +1351,9 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get notifKindEclipse => _remote['notifKindEclipse'] ?? _base.notifKindEclipse; + @override + String get notifKindEvolution => _remote['notifKindEvolution'] ?? _base.notifKindEvolution; + @override String get notifKindItemUsed => _remote['notifKindItemUsed'] ?? _base.notifKindItemUsed; @@ -1630,9 +1654,15 @@ class RemoteAppLocalizations extends AppLocalizations { @override String planetShape(String n) => _fill('planetShape', {'n': n}) ?? _base.planetShape(n); + @override + String get planetSizeLarge => _remote['planetSizeLarge'] ?? _base.planetSizeLarge; + @override String get planetSizeMedium => _remote['planetSizeMedium'] ?? _base.planetSizeMedium; + @override + String get planetSizeSmall => _remote['planetSizeSmall'] ?? _base.planetSizeSmall; + @override String get planetStageUnknown => _remote['planetStageUnknown'] ?? _base.planetStageUnknown; @@ -2629,6 +2659,12 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get unknownUser => _remote['unknownUser'] ?? _base.unknownUser; + @override + String updateAvailableBody(String version) => _fill('updateAvailableBody', {'version': version}) ?? _base.updateAvailableBody(version); + + @override + String get updateAvailableTitle => _remote['updateAvailableTitle'] ?? _base.updateAvailableTitle; + @override String get zapApplying => _remote['zapApplying'] ?? _base.zapApplying; diff --git a/app/pubspec.lock b/app/pubspec.lock index b9bc053..033c223 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -1028,6 +1028,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" + package_info_plus: + dependency: "direct main" + description: + name: package_info_plus + sha256: "468c26b4254ab01979fa5e4a98cb343ea3631b9acee6f21028997419a80e1a20" + url: "https://pub.dev" + source: hosted + version: "9.0.1" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086" + url: "https://pub.dev" + source: hosted + version: "3.2.1" path: dependency: transitive description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index e904878..6d2f3c4 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -132,6 +132,9 @@ dependencies: mobile_scanner: ^7.4.2 # 생성자 상세의 「현장에 붙일 인증 QR」 그리기. 순수 Dart 라 네이티브 하한이 없다. qr_flutter: ^4.1.0 + # 스플래시 업데이트 확인(Figma `510:19053`) — 설치된 앱 버전 읽기. + # 최소 OS 하한 영향 없음: Android minSdk 19(앱 29) · iOS 12.0(앱 15.0). + package_info_plus: ^9.0.1 dev_dependencies: flutter_test: @@ -196,3 +199,5 @@ flutter: - assets/galaxy/ # Figma Iconset 아이콘(lib/core/ui/app_icons.dart). - assets/icons/ + # 발주사 로고 마크(인수 자산 `fanuzu logo only.png` 에서 마크만 자름) — 로그인 · 가입 완료 · 소개. + - assets/brand/fanuzu-mark.png diff --git a/app/test/app_update_test.dart b/app/test/app_update_test.dart new file mode 100644 index 0000000..030c228 --- /dev/null +++ b/app/test/app_update_test.dart @@ -0,0 +1,23 @@ +import 'package:fancake/core/config/feature_flags.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// 스플래시 업데이트 확인(Figma `510:19053`) — 설치 버전이 운영 최신 버전보다 낮을 때만 안내. +void main() { + test('버전 비교', () { + expect(isOlderVersion('0.5.0', '0.5.1'), isTrue); + expect(isOlderVersion('0.5.0+7', '0.10.0'), isTrue); + expect(isOlderVersion('0.5.0', '0.5.0'), isFalse); + expect(isOlderVersion('0.6.0', '0.5.9'), isFalse); + expect(isOlderVersion('1.0', '1.0.0'), isFalse); + expect(isOlderVersion('0.5.0', 'abc'), isFalse); + }); + + test('config/features.latestAppVersion 을 읽고, 없으면 null', () async { + final flags = FeatureFlags( + source: Stream.value({FeatureFlags.latestVersionKey: ' 0.6.0 '}), + ); + await Future.delayed(Duration.zero); + expect(flags.latestVersion, '0.6.0'); + expect(FeatureFlags().latestVersion, isNull); + }); +} diff --git a/app/test/backend_repository_test.dart b/app/test/backend_repository_test.dart index 617998e..c06e058 100644 --- a/app/test/backend_repository_test.dart +++ b/app/test/backend_repository_test.dart @@ -198,7 +198,9 @@ void main() { expect(snapshot.popBalance, 12540); expect(snapshot.liveTicker, contains('버프')); expect(snapshot.growth.fandomName, 'BTS'); - expect(snapshot.growth.contributorName, 'BTS_Hong'); + // 설명 프레임 `2097:16391` — 인사 줄은 로그인 사용자 기준. 팬덤의 직전 기여자가 아니다. + expect(snapshot.growth.contributorName, isNot('BTS_Hong')); + expect(snapshot.growth.contributedPop, 0); expect(snapshot.growth.currentPop, 6270); // 서버가 growthPercent 를 주지 않으면 진행도로 낸다. expect(snapshot.growth.growthPercent, 63); @@ -827,14 +829,21 @@ void main() { expect(profile.nickname, '팬'); }); - test('홈 기여자명에 이메일이 남아 있어도 가린다', () async { + test('홈 인사 줄은 로그인 사용자의 닉네임 · 사진이고 이메일 형태는 가린다', () async { final db = await _seed(); - await db.doc('fandoms/bts').set({ - 'name': 'BTS', 'lastContributorName': 'test123@naver.com', - 'lastContributedPop': 10, + await db.doc('users/$_uid').set({ + 'nickname': 'ARMY_Kim', 'photoUrl': 'https://example.com/p.png', }, SetOptions(merge: true)); - final snapshot = await FirestoreHomeRepository(_backend(db)).load(); + var snapshot = await FirestoreHomeRepository(_backend(db)).load(); + expect(snapshot.growth.contributorName, 'ARMY_Kim'); + expect(snapshot.growth.photoUrl, 'https://example.com/p.png'); + + await db.doc('users/$_uid').set({ + 'nickname': 'test123@naver.com', 'photoUrl': '', + }, SetOptions(merge: true)); + snapshot = await FirestoreHomeRepository(_backend(db)).load(); expect(snapshot.growth.contributorName, '팬'); + expect(snapshot.growth.photoUrl, isNull); }); }); diff --git a/app/test/f1_screens_test.dart b/app/test/f1_screens_test.dart index d090218..5c94587 100644 --- a/app/test/f1_screens_test.dart +++ b/app/test/f1_screens_test.dart @@ -118,7 +118,7 @@ void main() { testWidgets('이름을 넣고 만들면 기본 행성 변경을 되묻는다', (tester) async { await _pump(tester, const NebulaCreateScreen()); - await tester.enterText(find.byType(TextField), 'BTS_RM'); + await tester.enterText(find.byType(TextField), 'BTS RM'); await tester.pumpAndSettle(); await tester.tap(find.text('성운 생성')); await tester.pumpAndSettle(); @@ -131,13 +131,13 @@ void main() { testWidgets('변경을 누르면 fn-nebula-create 로 만들고 새 성운 ID 를 들고 닫힌다', (tester) async { final repo = _CreateRepo(); final results = await _pushed(tester, NebulaCreateScreen(repository: repo)); - await tester.enterText(find.byType(TextField), 'BTS_RM'); + await tester.enterText(find.byType(TextField), 'BTS RM'); await tester.pumpAndSettle(); await tester.tap(find.text('성운 생성')); await tester.pumpAndSettle(); await tester.tap(find.text('변경')); await tester.pumpAndSettle(); - expect(repo.calls, ['BTS_RM']); + expect(repo.calls, ['BTS RM']); expect(results, ['new-nebula']); expect(find.byType(NebulaCreateScreen), findsNothing); }); @@ -147,7 +147,7 @@ void main() { error: const BackendException('E-FDM-02', '이미 오늘 성운을 생성하셨습니다.'), ); final results = await _pushed(tester, NebulaCreateScreen(repository: repo)); - await tester.enterText(find.byType(TextField), 'BTS_RM'); + await tester.enterText(find.byType(TextField), 'BTS RM'); await tester.pumpAndSettle(); await tester.tap(find.text('성운 생성')); await tester.pumpAndSettle(); @@ -161,7 +161,7 @@ void main() { testWidgets('대표 변경 30일 대기 중이면 성운만 생겼다고 알리고 닫힌다(C-15)', (tester) async { final repo = _CreateRepo(primaryChanged: false); final results = await _pushed(tester, NebulaCreateScreen(repository: repo)); - await tester.enterText(find.byType(TextField), 'BTS_RM'); + await tester.enterText(find.byType(TextField), 'BTS RM'); await tester.pumpAndSettle(); await tester.tap(find.text('성운 생성')); await tester.pumpAndSettle(); @@ -180,7 +180,7 @@ void main() { testWidgets('오늘 이미 만들었으면 사유를 알리고 진행하지 않는다', (tester) async { await _pump(tester, const NebulaCreateScreen(alreadyCreatedToday: true)); - await tester.enterText(find.byType(TextField), 'BTS_RM'); + await tester.enterText(find.byType(TextField), 'BTS RM'); await tester.pumpAndSettle(); await tester.tap(find.text('성운 생성')); await tester.pumpAndSettle(); diff --git a/app/test/f2_screens_test.dart b/app/test/f2_screens_test.dart index 6adb334..7e1613f 100644 --- a/app/test/f2_screens_test.dart +++ b/app/test/f2_screens_test.dart @@ -121,6 +121,20 @@ class _PrimaryRepository extends SampleGalaxyRepository { } } +/// 오늘 성운을 이미 만든 계정. +class _CreatedTodayRepository extends SampleGalaxyRepository { + @override + Future load() async { + final s = await super.load(); + return GalaxySnapshot( + planets: s.planets, + myPop: s.myPop, + memberships: s.memberships, + nebulaCreatedToday: true, + ); + } +} + void main() { group('GALAXY 모아보기 (§2.56 · §2.58) — 기본 행성 변경', () { Future pumpHome(WidgetTester tester, GalaxyRepository repo) async { @@ -146,6 +160,24 @@ void main() { expect(repo.changes, ['newjeans']); }); + testWidgets('그리드 변경 — 격자 ↔ 리스트(540:19580)', (tester) async { + await pumpHome(tester, _PrimaryRepository()); + expect(find.text('NewJeans'), findsNothing); // 격자는 그림만 + await tester.tap(find.bySemanticsLabel('리스트 그리드')); + await tester.pumpAndSettle(); + expect(find.text('NewJeans'), findsOneWidget); + await tester.tap(find.bySemanticsLabel('격자 그리드')); + await tester.pumpAndSettle(); + expect(find.text('NewJeans'), findsNothing); + }); + + testWidgets('오늘 성운을 만들었으면 성운 생성은 초과 안내 모달만(540:19592 · 543:19609)', (tester) async { + await pumpHome(tester, _CreatedTodayRepository()); + await tester.tap(find.text('성운 생성')); + await tester.pumpAndSettle(); + expect(find.text('이미 오늘 성운을 생성하셨습니다.'), findsOneWidget); + }); + testWidgets('30일 대기 중이면 서버 사유(E-FDM-04)를 알린다', (tester) async { final repo = _PrimaryRepository( error: const BackendException('E-FDM-04', '기본 행성은 변경 후 30일이 지나야 다시 바꿀 수 있습니다.'), @@ -465,7 +497,10 @@ void main() { await _pump(tester, const GalaxySearchScreen()); await tester.enterText(find.byType(TextField), 'BTS'); await tester.pumpAndSettle(); - expect(find.textContaining('멤버 12,840명'), findsOneWidget); + // 결과 줄 — Figma `353:218091` 가입자 수 · 「FPI : n」 · 규모 칩. + expect(find.text('12,840'), findsOneWidget); + expect(find.text('FPI : 284,310'), findsOneWidget); + expect(find.text('중형 팬덤'), findsOneWidget); await tester.testTextInput.receiveAction(TextInputAction.search); await tester.pumpAndSettle(); @@ -479,10 +514,47 @@ void main() { await _pump(tester, GalaxySearchScreen(onOpen: (p) => opened = p)); await tester.enterText(find.byType(TextField), 'BTS'); await tester.pumpAndSettle(); - await tester.tap(find.textContaining('멤버 12,840명')); + await tester.tap(find.text('12,840')); expect(opened?.name, 'BTS'); }); + testWidgets('탭(행성 · 성운) · 필터(전체 · 가입자 수 · FPI) — 543:19672 · 543:19683', (tester) async { + await _pump(tester, const GalaxySearchScreen()); + await tester.enterText(find.byType(TextField), 'e'); + await tester.pumpAndSettle(); + expect(find.text('행성'), findsOneWidget); + expect(find.text('성운'), findsOneWidget); + // 가입자 수 순 — NewJeans(11,230) 가 SEVENTEEN(10,450) 보다 위. + await tester.tap(find.text('가입자 수')); + await tester.pumpAndSettle(); + expect( + tester.getTopLeft(find.text('NewJeans')).dy, + lessThan(tester.getTopLeft(find.text('SEVENTEEN')).dy), + ); + // 성운 탭 — 표본은 모두 정식 행성이라 비고, FPI 필터는 없다. + await tester.tap(find.text('성운')); + await tester.pumpAndSettle(); + expect(find.text('NewJeans'), findsNothing); + expect(find.text('FPI'), findsNothing); + }); + + testWidgets('가입 → 가입 처리 후 가입중(543:19694)', (tester) async { + final joined = []; + await _pump( + tester, + GalaxySearchScreen( + repository: const SampleGalaxyRepository(), + onJoin: (p) async => joined.add(p.id), + ), + ); + await tester.enterText(find.byType(TextField), 'IVE'); + await tester.pumpAndSettle(); + await tester.tap(find.text('가입')); + await tester.pumpAndSettle(); + expect(joined, ['ive']); + expect(find.text('가입중'), findsOneWidget); + }); + testWidgets('없는 이름이면 사유를 알린다', (tester) async { await _pump(tester, const GalaxySearchScreen()); await tester.enterText(find.byType(TextField), 'zzzz'); diff --git a/app/test/f3_screens_test.dart b/app/test/f3_screens_test.dart index 04417db..9539c47 100644 --- a/app/test/f3_screens_test.dart +++ b/app/test/f3_screens_test.dart @@ -11,6 +11,7 @@ import 'package:fancake/core/theme/app_theme.dart'; import 'package:fancake/features/planet/lounge_post_screens.dart'; import 'package:fancake/features/planet/moderation.dart'; import 'package:fancake/features/planet/planet_detail_screen.dart'; +import 'package:fancake/features/planet/widgets/planet_detail_hero.dart'; import 'eclipse_stubs.dart'; @@ -588,6 +589,50 @@ void _fpiRankingTests() { expect(find.byType(FpiUserRankingScreen), findsOneWidget); expect(find.text('나의 BPM 랭킹'), findsOneWidget); }); + + testWidgets('소속 행성 카드를 눌러도 사용자 랭킹으로 간다 (546:14629)', (tester) async { + await pump(tester); + // 맨 위 내 줄 카드는 「(나)」 없이 이름만 둔다. + await tester.tap(find.text('BTS')); + await tester.pumpAndSettle(); + expect(find.byType(FpiUserRankingScreen), findsOneWidget); + }); + }); + + testWidgets('내가 만든 행성은 가입 버튼을 숨긴다 (544:19765)', (tester) async { + Widget hero(bool owner) => MaterialApp( + theme: buildAppTheme(), + home: const Scaffold(body: SizedBox()), + builder: (_, _) => SizedBox( + height: 543, + child: PlanetDetailHero( + name: 'BTS', + members: 850, + totalFpi: 1220, + joined: true, + isOwner: owner, + ), + ), + ); + await tester.pumpWidget(hero(false)); + await tester.pump(); + expect(find.text('가입중'), findsOneWidget); + expect(find.text('소형 팬덤'), findsOneWidget); + await tester.pumpWidget(hero(true)); + await tester.pump(); + expect(find.text('가입중'), findsNothing); + }); + + test('팬덤 규모 — 1,000명 미만 소형 · 50,000명 미만 중형 · 이상 대형 (544:19765)', () { + expect(FandomSize.of(999), FandomSize.small); + expect(FandomSize.of(1000), FandomSize.medium); + expect(FandomSize.of(49999), FandomSize.medium); + expect(FandomSize.of(50000), FandomSize.large); + }); + + test('국기 — 국가 코드 → 국기, 미지정은 흰 깃발 (546:14713)', () { + expect(flagOf('KR'), '🇰🇷'); + expect(flagOf('ZZ'), '🏳'); }); group('사용자 지표 랭킹 화면 (Figma 546:14646)', () { diff --git a/app/test/f4_screens_test.dart b/app/test/f4_screens_test.dart index a88243b..1a4a0ec 100644 --- a/app/test/f4_screens_test.dart +++ b/app/test/f4_screens_test.dart @@ -69,7 +69,7 @@ void main() { final repo = _AdRepo(); await watchAd(tester, repo); expect(repo.claimed, ['imp-1']); - expect(find.text('광고 추가 보상 +20 POP'), findsOneWidget); + expect(find.text('광고 추가 보상 +20 기여 POP'), findsOneWidget); }); testWidgets('불러오지 못하면 기본 보상만 받는다', (tester) async { @@ -193,8 +193,11 @@ void main() { } }); - test('완료 탭은 진행 완료와 보상 완료를 함께 받는다', () { - expect(QuestTab.done.accepts(_stage(card, QuestStage.completed)), isTrue); + // 명세 `518:88405` — 진행완료는 진행중 탭, 보상완료만 완료 탭. + test('진행완료는 진행중 탭, 보상완료만 완료 탭이 받는다', () { + expect(QuestTab.inProgress.accepts(_stage(card, QuestStage.completed)), isTrue); + expect(QuestTab.inProgress.accepts(_stage(card, QuestStage.inProgress)), isTrue); + expect(QuestTab.done.accepts(_stage(card, QuestStage.completed)), isFalse); expect(QuestTab.done.accepts(_stage(card, QuestStage.rewarded)), isTrue); expect(QuestTab.done.accepts(_stage(card, QuestStage.inProgress)), isFalse); }); @@ -328,10 +331,10 @@ void main() { // 시청 후 대기(482:15084)는 지급이 끝나면 걷힌다. expect(find.byType(QuestAdWarpScreen), findsNothing); expect(find.byType(QuestRewardScreen), findsOneWidget); - // 별첨 B **B-28** 이 배수형(×2/×3)을 철회했다. 기본 보상과 광고 추가 보상은 - // 별개 원장 행이고, 화면은 **서버가 돌려준 지급액만** 띄운다(`fnAdReward.rewarded`). - expect(find.text('+10 받았어요!'), findsOneWidget); - expect(find.text('광고 추가 보상 +10 POP'), findsOneWidget); + // 기본 보상과 광고 추가 보상은 별개 원장 행이고, 화면은 **서버가 돌려준 지급액만** 띄운다 + // (`fnAdReward.rewarded`). 운영 Quest 는 명세 `518:88685` 대로 둘의 합계(× 배수)를 크게 보인다. + expect(find.text('+20 받았어요!'), findsOneWidget); + expect(find.text('광고 추가 보상 +10 기여 POP'), findsOneWidget); }); testWidgets('스트리밍은 무보상 참여로 열려 있고 보상 · 광고 화면 없이 참여만 알린다(C-04)', (tester) async { @@ -530,6 +533,46 @@ void main() { } } }); + group('Figma 설명 프레임 대조 (2026-10-06)', () { + QuestCard ugc({int participants = 0, int? capacity, QuestStage stage = QuestStage.notStarted}) => + QuestCard( + id: 'u', title: 't', categoryName: 'c', author: QuestAuthor.user, + stage: stage, goal: 1, progress: 0, rewardPop: 10, + participants: participants, capacity: capacity, + ); + + // 명세 `523:18176` 퀘스트 종료 시점 1 — 참여 인원 충족 시 종료. + test('사용자 퀘스트는 모집 인원이 차면 마감이다', () { + expect(questFull(ugc(participants: 5, capacity: 5)), isTrue); + expect(questFull(ugc(participants: 4, capacity: 5)), isFalse); + expect(questFull(ugc(participants: 3)), isFalse); + }); + + // 명세 `518:88395` — 카테고리 값은 등록된 분류(건강 · 커뮤니티 …)다. 활동명(걷기)이 아니다. + test('카드 카테고리는 활동이 아니라 분류 이름이다', () { + expect(QuestType.steps.category, '건강'); + expect(QuestType.community.category, '커뮤니티'); + expect(QuestType.vote.category, '행성 활동'); + }); + + // 명세 `518:88685` — 광고 시청 POP = 보상 POP × 배수. 운영 Quest 는 합계를 크게 보인다. + testWidgets('운영 퀘스트는 광고를 보면 기본 + 증분 합계를 띄운다', (tester) async { + const card = QuestCard( + id: 'a', title: 't', categoryName: 'c', author: QuestAuthor.admin, + stage: QuestStage.completed, goal: 1, progress: 1, rewardPop: 20, participants: 0, + ); + await pumpWide( + tester, + const QuestRewardScreen( + detail: QuestDetail(card: card, imageLabel: '', description: ''), + reward: QuestReward(rewardedPop: 20, balanceAfter: 0), + adBonusPop: 20, + ), + ); + expect(find.text('+40 받았어요!'), findsOneWidget); + expect(find.text('광고 추가 보상 +20 기여 POP'), findsOneWidget); + }); + }); } /// 지갑이 서버 값으로 바뀐 표본 — 생성 예치 · 수수료 뒤 헤더가 다시 맞는가. diff --git a/app/test/home_screen_test.dart b/app/test/home_screen_test.dart index dd76701..b6c88b8 100644 --- a/app/test/home_screen_test.dart +++ b/app/test/home_screen_test.dart @@ -14,6 +14,9 @@ import 'package:fancake/features/home/widgets/quest_row.dart'; import 'package:fancake/features/inside/inside_detail_screen.dart'; import 'package:fancake/features/quest/widgets/quest_card_tile.dart' show QuestIconBox; +import 'package:fancake/core/router/app_router.dart' show scrollTabToTop; +import 'package:fancake/features/notification/notification_screen.dart'; +import 'package:fancake/features/home/nebula_create_screen.dart' show isValidNebulaName; import 'eclipse_stubs.dart'; class _LiveGrowthRepo extends SampleHomeRepository { @@ -379,4 +382,59 @@ void main() { await tester.pumpAndSettle(); expect(opened, ['https://example.com/a']); }); + + group('설명 프레임 대조(홈 일반)', () { + Future badgeShown(WidgetTester tester, List items) async { + await tester.pumpWidget( + MaterialApp( + theme: buildAppTheme(), + home: Scaffold( + body: HomeHeader( + key: UniqueKey(), + pop: 0, + notifications: SampleNotificationRepository(items: items), + ), + ), + ), + ); + await tester.pumpAndSettle(); + return tester.widget(find.byKey(const ValueKey('home-bell-badge'))).isLabelVisible; + } + + AppNotification n(bool read) => AppNotification( + id: 'n$read', kind: NotificationKind.quest, title: 't', at: DateTime(2026), read: read, + ); + + testWidgets('2097:16385 — 안 읽은 알림이 있으면 알림 아이콘에 배지', (tester) async { + expect(await badgeShown(tester, [n(false), n(true)]), isTrue); + expect(await badgeShown(tester, [n(true)]), isFalse); + }); + + testWidgets('2097:16427 — 열린 탭을 다시 누르면 루트 화면이 맨 위로', (tester) async { + final key = GlobalKey(); + await tester.pumpWidget( + MaterialApp( + navigatorKey: key, + home: Scaffold( + body: ListView(children: [for (var i = 0; i < 50; i++) SizedBox(height: 100, child: Text('$i'))]), + ), + ), + ); + await tester.drag(find.byType(ListView), const Offset(0, -1500)); + await tester.pumpAndSettle(); + expect(find.text('0'), findsNothing); + scrollTabToTop(key); + await tester.pumpAndSettle(); + expect(find.text('0'), findsOneWidget); + }); + + test('516:87397 — 성운명 규칙은 서버와 같다', () { + for (final ok in ['방탄', 'BTS Army 7', '가' * 20]) { + expect(isValidNebulaName(ok), isTrue, reason: ok); + } + for (final bad in ['가', '가' * 21, ' 방탄', '방탄 ', '방 탄', '방탄!', '방탄😀']) { + expect(isValidNebulaName(bad), isFalse, reason: bad); + } + }); + }); } diff --git a/app/test/onboarding_test.dart b/app/test/onboarding_test.dart index 7f36323..fa9e4d6 100644 --- a/app/test/onboarding_test.dart +++ b/app/test/onboarding_test.dart @@ -110,6 +110,74 @@ void main() { ); }); + testWidgets('프로필 국가 — 사본 국가 리스트 모달(178:23489) 대로 국가명 · 단수 선택 · 「선택」 후 적용', ( + tester, + ) async { + final (auth, repo) = await boot(tester, needs: true); + await auth.signIn(SocialProvider.google); + await tester.pumpAndSettle(); + for (final label in [ + '서비스 이용약관 (필수)', + '개인정보 수집·이용 및 처리방침 동의 (필수)', + '위치기반 서비스 이용약관 (필수)', + '만 14세 이상입니다. (필수)', + ]) { + await tester.tap(find.text(label)); + } + await tester.pump(); + await tester.tap(find.text('완료')); + await tester.pumpAndSettle(); + + await tester.tap(find.text('국가/지역').first); + await tester.pumpAndSettle(); + await tester.scrollUntilVisible( + find.text('대한민국'), + 300, + scrollable: find.byType(Scrollable).last, + ); + await tester.tap(find.text('대한민국')); + await tester.pump(); + await tester.tap(find.widgetWithText(FilledButton, '선택')); + await tester.pumpAndSettle(); + expect(find.textContaining('대한민국'), findsOneWidget); + + await tester.enterText(find.byType(TextField).first, '우주팬'); + await tester.pump(); + await tester.tap(find.text('다음')); + await tester.pumpAndSettle(); + expect(repo.profile?.country, 'KR'); + }); + + testWidgets('프로필 뒤로가기(511:86825) — 약관으로 돌아가 동의가 체크된 채 보이고 다시 기록하지 않는다', ( + tester, + ) async { + final (auth, repo) = await boot(tester, needs: true); + await auth.signIn(SocialProvider.google); + await tester.pumpAndSettle(); + for (final label in [ + '서비스 이용약관 (필수)', + '개인정보 수집·이용 및 처리방침 동의 (필수)', + '위치기반 서비스 이용약관 (필수)', + '만 14세 이상입니다. (필수)', + ]) { + await tester.tap(find.text(label)); + } + await tester.pump(); + await tester.tap(find.text('완료')); + await tester.pumpAndSettle(); + final first = repo.agreed; + + await tester.tap(find.byType(BackButton)); + await tester.pumpAndSettle(); + // 필수 4항이 이미 체크돼 있어 「완료」가 바로 켜져 있다. + final done = find.widgetWithText(FilledButton, '완료'); + expect(tester.widget(done).onPressed, isNotNull); + await tester.tap(done); + await tester.pumpAndSettle(); + expect(identical(repo.agreed, first), isTrue); + expect(find.byType(BackButton), findsOneWidget); // ③ 프로필로 돌아왔다. + }); + testWidgets('가입 모드에서 받은 약관은 다시 묻지 않고 기록만 한다', (tester) async { final (auth, repo) = await boot(tester, needs: true); auth.pendingConsent = { diff --git a/app/test/planet_growth_status_test.dart b/app/test/planet_growth_status_test.dart index 57b9b0f..9d7d4a6 100644 --- a/app/test/planet_growth_status_test.dart +++ b/app/test/planet_growth_status_test.dart @@ -29,7 +29,10 @@ void main() { await tester.pumpWidget(MaterialApp(theme: buildAppTheme(), home: Scaffold(body: widget))); await tester.pumpAndSettle(); expect(find.textContaining('0 POP', findRichText: true), findsNothing); - expect(find.textContaining('님의', findRichText: true), findsNothing); + // HOME 히어로의 「{닉네임} 님의」는 로그인 사용자 인사 줄이라 늘 있다(설명 프레임 `2097:16391`). + if (widget is PlanetGrowthCard) { + expect(find.textContaining('님의', findRichText: true), findsNothing); + } expect(find.text('함께 키워가는 팬덤 행성'), findsOneWidget); } });