From 7aad3381e68ea7888046eeaab6393315f14cfeaf Mon Sep 17 00:00:00 2001 From: Adam Borbas Date: Thu, 27 Nov 2025 10:44:39 +0100 Subject: [PATCH 1/2] Split summery text to multiple lines for better readability. --- .../Bookings/BookingList/BookingListView.swift | 17 +++++++++++++---- .../Classes/Extensions/Booking+Helpers.swift | 6 ------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift b/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift index a26291b0cfd..3b823ebe2f7 100644 --- a/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift +++ b/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift @@ -152,10 +152,19 @@ private extension BookingListView { .frame(maxWidth: .infinity, alignment: .leading) .foregroundStyle(Color.primary) - Text(booking.summaryText) - .font(.footnote) - .fontWeight(.medium) - .foregroundStyle(Color.secondary) + VStack(alignment: .leading) { + if let productName = booking.productName { + Text(productName) + .font(.footnote) + .fontWeight(.medium) + .foregroundStyle(Color.secondary) + } + + Text(booking.customerName) + .font(.footnote) + .fontWeight(.medium) + .foregroundStyle(Color.secondary) + } HStack { BookingBadgeView(booking.attendanceStatus) diff --git a/WooCommerce/Classes/Extensions/Booking+Helpers.swift b/WooCommerce/Classes/Extensions/Booking+Helpers.swift index bdfefa11de1..786342c500e 100644 --- a/WooCommerce/Classes/Extensions/Booking+Helpers.swift +++ b/WooCommerce/Classes/Extensions/Booking+Helpers.swift @@ -13,12 +13,6 @@ extension Booking { return name.isEmpty ? Localization.guest : name } - var summaryText: String { - return [productName, customerName] - .compactMap { $0 } - .joined(separator: " • ") - } - var isEligibleForMarkAsPaid: Bool { bookingStatus == .unpaid } From 81ddd0cd922cbc43f0403e5449c2bbb170b002cd Mon Sep 17 00:00:00 2001 From: Adam Borbas Date: Thu, 27 Nov 2025 10:56:31 +0100 Subject: [PATCH 2/2] Map spacing to design --- .../Bookings/BookingList/BookingListView.swift | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift b/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift index 3b823ebe2f7..f641db640ce 100644 --- a/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift +++ b/WooCommerce/Classes/Bookings/BookingList/BookingListView.swift @@ -143,16 +143,16 @@ private extension BookingListView { } func bookingItem(_ booking: Booking) -> some View { - VStack(alignment: .leading) { - Text(booking.startDate.toString(dateStyle: .short, - timeStyle: .short, - timeZone: BookingListTab.utcTimeZone)) + VStack(alignment: .leading, spacing: BookingListViewLayout.bookingSummaryBadgeSpacing) { + VStack(alignment: .leading, spacing: BookingListViewLayout.bookingSummarySpacing) { + Text(booking.startDate.toString(dateStyle: .short, + timeStyle: .short, + timeZone: BookingListTab.utcTimeZone)) .font(.body) .fontWeight(.medium) .frame(maxWidth: .infinity, alignment: .leading) .foregroundStyle(Color.primary) - VStack(alignment: .leading) { if let productName = booking.productName { Text(productName) .font(.footnote) @@ -258,6 +258,8 @@ fileprivate enum BookingListViewLayout { static let emptyStateImageWidth: CGFloat = 67 static let cornerRadius: CGFloat = 8 static let defaultHeaderHeight: CGFloat = 98 + static let bookingSummarySpacing: CGFloat = 2 + static let bookingSummaryBadgeSpacing: CGFloat = 8 } fileprivate enum BookingListViewLocalization {