diff --git a/SportsTime/Features/Trip/Views/ItineraryRows/DayHeaderRow.swift b/SportsTime/Features/Trip/Views/ItineraryRows/DayHeaderRow.swift index 7b04d6a..4a01965 100644 --- a/SportsTime/Features/Trip/Views/ItineraryRows/DayHeaderRow.swift +++ b/SportsTime/Features/Trip/Views/ItineraryRows/DayHeaderRow.swift @@ -10,6 +10,7 @@ import SwiftUI struct DayHeaderRow: View { let dayNumber: Int let date: Date + let isEmpty: Bool let onAddTapped: () -> Void @Environment(\.colorScheme) private var colorScheme @@ -19,24 +20,26 @@ struct DayHeaderRow: View { } var body: some View { - HStack { - VStack(alignment: .leading, spacing: 2) { - Text("Day \(dayNumber)") + VStack(alignment: .leading, spacing: 4) { + HStack { + Text("Day \(dayNumber) - \(formattedDate)") .font(.title3) .fontWeight(.semibold) .foregroundStyle(Theme.textPrimary(colorScheme)) - Text(formattedDate) - .font(.subheadline) - .foregroundStyle(Theme.textSecondary(colorScheme)) + Spacer() + + Button(action: onAddTapped) { + Image(systemName: "plus.circle.fill") + .font(.title2) + .foregroundStyle(Theme.warmOrange) + } } - Spacer() - - Button(action: onAddTapped) { - Image(systemName: "plus.circle.fill") - .font(.title2) - .foregroundStyle(Theme.warmOrange) + if isEmpty { + Text("No items yet, tap + to add") + .font(.subheadline) + .foregroundStyle(Theme.textSecondary(colorScheme)) } } .padding(.vertical, Theme.Spacing.sm) @@ -45,9 +48,14 @@ struct DayHeaderRow: View { } #Preview { - VStack { - DayHeaderRow(dayNumber: 1, date: Date(), onAddTapped: {}) - DayHeaderRow(dayNumber: 2, date: Date().addingTimeInterval(86400), onAddTapped: {}) + VStack(spacing: 16) { + // Day with items (not empty) + DayHeaderRow(dayNumber: 1, date: Date(), isEmpty: false, onAddTapped: {}) + + Divider() + + // Empty day + DayHeaderRow(dayNumber: 2, date: Date().addingTimeInterval(86400), isEmpty: true, onAddTapped: {}) } .padding() .background(Color.gray.opacity(0.1))