feat(flutter): 장소 검색·상세 화면과 홈 검색창·카테고리·반려동물 장소 칸 #3

Merged
ttipo merged 4 commits from feat/flutter-places into main 2026-11-04 20:25:40 +09:00
2 changed files with 8 additions and 4 deletions
Showing only changes of commit 377181eade - Show all commits
+3 -1
View File
@@ -380,7 +380,9 @@ node dist/commands/place-sync.js tour-kor
| `GET /api/events/{id}` | 소개·공연 시간·요금·장소·홈페이지·전화·출처. 숨김이면 RES_001 |
- **화면 규칙**(2026-11-03 합의):
- 홈 '이번 주말 축제·행사' = `from`=토 · `to`=일 · 동네 중심 좌표 · `radius`=120000 → 대구 행사가 먼저, 다음 경북(거리 표시 "대구에서 85km").
- 홈 '이번 주말 축제·행사' = `from`=토 · `to`=일 · 동네 중심 좌표 · `radius`=50000 → 대구 전역(군위 포함)과 경산·칠곡 등 바로 옆 도시까지 거리순.
처음(2026-11-03)에는 관광공사 행사뿐이라 120km(경북)였다. KOPIS·문화포털이 들어온 뒤 대구 도심 기준 이번 주말 50km 32건 · 120km 42건이 되었고,
120km 면 영덕·영주(차로 2시간)까지 나와 2026-11-04 50km 로 줄였다.
- **비면** 같은 반경으로 `from`=오늘 · `to`=오늘+30일을 불러 제목을 '다가오는 축제·행사'로 바꿔 보여 준다(빈 칸을 두지 않는다).
- 장소 상세 '근처 축제·행사' = 장소 좌표 + 기본 반경(5km), 없으면 칸을 숨긴다.
- 계약 테스트: `backend/test/festival.e2e-spec.ts` — 2030년 날짜·동해 좌표 픽스처라 실행 날짜와 무관하다.
@@ -6,8 +6,10 @@ import 'package:wandergo/features/event/data/models/event_models.dart';
import 'package:wandergo/features/event/data/repositories/event_repository.dart';
import 'package:wandergo/features/location/presentation/providers/base_location_provider.dart';
/// 홈 축제 칸 반경 — 대구 근교(경북)까지 거리순(대구 먼저). 2026-11-03 합의
const int kHomeEventRadiusM = 120000;
/// 홈 축제 칸 반경 — 대구 전역(군위 포함)과 경산·칠곡 같은 바로 옆 도시까지, 거리순.
/// 2026-11-03 에는 관광공사 행사뿐이라 120km(경북)였으나, KOPIS·문화포털이 들어와
/// 대구 안에서도 충분히 차서 2026-11-04 50km 로 줄였다(120km 면 영덕·영주 등 차로 2시간 거리까지 나왔다).
const int kHomeEventRadiusM = 50000;
/// 주말이 비었을 때 대신 보이는 '다가오는' 기간(일)
const int kUpcomingDays = 30;
@@ -32,7 +34,7 @@ class HomeEvents {
final bool isUpcoming;
}
/// 홈 '이번 주말 축제·행사' — 기준 위치 반경 120km 거리순, 비면 같은 반경 30일
/// 홈 '이번 주말 축제·행사' — 기준 위치 반경 50km 거리순, 비면 같은 반경 30일
final homeEventsProvider = FutureProvider<HomeEvents>((ref) async {
final base = await ref.watch(basePointProvider.future);
final repo = ref.watch(eventRepositoryProvider);