1차 보완(0.1.1+14) 내용 합치기

This commit is contained in:
Sn-Kinos
2026-10-16 17:58:55 +09:00
62 changed files with 2480 additions and 447 deletions
@@ -19,6 +19,7 @@ import '../planet/moderation.dart';
import 'music_shake_play_screen.dart';
import 'quest_ad_screens.dart';
import 'quest_create_screen.dart' show QuestLinkCard;
import 'location_consent.dart';
import 'quest_data.dart';
import 'quest_evidence.dart';
import 'qr_scan_screen.dart';
@@ -1025,6 +1026,13 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
// 위치 Quest 의 추가 인증(C-03) — 고른 수단의 증거를 먼저 모은다. 취소하면 아무것도 보내지 않는다.
var proof = const PlaceProof();
if (detail.card.type == QuestType.place && detail.card.endsAt == null) {
// 위치기반 서비스 약관 — 위치기능 최초 사용 직전(Q-E1 · R02). 거부하면 이 인증만 하지 않는다.
// OS 위치권한은 그 뒤 좌표를 읽을 때 따로 묻는다.
if (!await ensureLocationConsent(context, widget.repository.locationConsent)) {
if (mounted) _toast(context.l10n.locationConsentNeeded);
return;
}
if (!mounted) return;
final collected = await _placeProof(detail.verifyMethods);
if (collected == null || !mounted) return;
proof = collected;