Add nearby POIs to Add-to-Day sheet and improve PlaceSearchSheet empty state

- Add mapItem field to POISearchService.POI for Apple Maps integration
- Merge description + location into single combined card in QuickAddItemSheet
- Auto-load nearby POIs when regionCoordinate is available, with detail sheet
- Create POIDetailSheet with map preview, metadata, and one-tap add-to-day
- Add poiAddedToDay/poiDetailViewed analytics events
- Add initial state to PlaceSearchSheet with search suggestions and flow layout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-02-19 10:45:36 -06:00
parent e7420061a5
commit e6c4b8e12b
5 changed files with 583 additions and 95 deletions

View File

@@ -13,13 +13,14 @@ actor POISearchService {
// MARK: - Types
struct POI: Identifiable, Hashable {
struct POI: Identifiable, Hashable, @unchecked Sendable {
let id: UUID
let name: String
let category: POICategory
let coordinate: CLLocationCoordinate2D
let distanceMeters: Double
let address: String?
let mapItem: MKMapItem?
var formattedDistance: String {
let miles = distanceMeters * 0.000621371
@@ -218,7 +219,8 @@ actor POISearchService {
category: category,
coordinate: itemCoordinate,
distanceMeters: distance,
address: formatAddress(item)
address: formatAddress(item),
mapItem: item
)
}