refactor(itinerary): replace anchor-based positioning with day/sortOrder
Replace complex anchor system (anchorType, anchorId, anchorDay) with simple (day: Int, sortOrder: Double) positioning for custom items. Changes: - CustomItineraryItem: Remove anchor fields, add day and sortOrder - CKModels: Add migration fallback from old CloudKit fields - ItineraryTableViewController: Add calculateSortOrder() for midpoint insertion - TripDetailView: Simplify callbacks, itinerarySections, and routeWaypoints - AddItemSheet: Take simple day parameter instead of anchor - SavedTrip: Update LocalCustomItem SwiftData model Benefits: - Items freely movable via drag-and-drop - Route waypoints follow exact visual order - Simpler mental model: position = (day, sortOrder) - Midpoint insertion allows unlimited reordering Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -78,7 +78,7 @@ struct CustomItemRow: View {
|
||||
tripId: UUID(),
|
||||
category: .restaurant,
|
||||
title: "Joe's BBQ - Best brisket in Texas!",
|
||||
anchorDay: 1
|
||||
day: 1
|
||||
),
|
||||
onTap: {},
|
||||
onDelete: {}
|
||||
@@ -88,7 +88,7 @@ struct CustomItemRow: View {
|
||||
tripId: UUID(),
|
||||
category: .hotel,
|
||||
title: "Hilton Downtown",
|
||||
anchorDay: 1
|
||||
day: 1
|
||||
),
|
||||
onTap: {},
|
||||
onDelete: {}
|
||||
|
||||
Reference in New Issue
Block a user