refactor(itinerary): embed Add button in day header row

Merge Add button into DaySectionHeaderView to prevent items from being
dragged between the day header and Add button. The Add button now uses
a SwiftUI Button with its own tap handler instead of row selection.

Changes:
- Remove .addButton case from ItineraryRowItem enum
- Update DaySectionHeaderView to include Add button on the right
- Pass onAddTapped callback through configureDayHeaderCell
- Remove AddButtonRowView (no longer needed)
- Update documentation to reflect new row structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-17 10:13:03 -06:00
parent f84addb39d
commit c658d5f9f4
2 changed files with 61 additions and 88 deletions

View File

@@ -159,10 +159,8 @@ struct ItineraryTableViewWrapper<HeaderContent: View>: UIViewControllerRepresent
// Travel before this day (travel is stored on the destination day)
let travelBefore: TravelSegment? = travelByDay[dayNum]
// ONE Add button per day - always first after day header
items.append(ItineraryRowItem.addButton(day: dayNum))
// Custom items for this day - simply filter by day and sort by sortOrder
// Note: Add button is now embedded in the day header row (not a separate item)
let dayItems = customItems.filter { $0.day == dayNum }
.sorted { $0.sortOrder < $1.sortOrder }