Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions RELEASE-NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- [internal] Remove oldest (<30) core data models [https://github.com/woocommerce/woocommerce-ios/pull/15987]
- [*] Jetpack setup: Native experience for the connection step [https://github.com/woocommerce/woocommerce-ios/pull/15983]
- [*] Payments: Updated the In-Person Payments `Learn More` redirection to display the correct page based on the selected payment provider [https://github.com/woocommerce/woocommerce-ios/pull/15998]
- [*] Add "POS" label in Most recent orders in My store dashboard [https://github.com/woocommerce/woocommerce-ios/pull/16006]

23.0
-----
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import SwiftUI
import Yosemite
import WooFoundation
import NetworkingCore
import Experiments

/// Used in Last Order Dashboard card
///
Expand Down Expand Up @@ -29,13 +31,25 @@ struct LastOrderDashboardRow: View {
Spacer()

VStack(alignment: .trailing, spacing: Layout.spacing) {
Text(viewModel.statusDescription)
.foregroundStyle(.black)
.captionStyle()
.padding(.horizontal, Layout.Status.hPadding)
.padding(.vertical, Layout.Status.vPadding)
.background(viewModel.statusBackgroundColor)
.cornerRadius(Layout.Status.cornerRadius)
HStack(spacing: Layout.badgeSpacing) {
Text(viewModel.statusDescription)
.foregroundStyle(.black)
.captionStyle()
.padding(.horizontal, Layout.Status.hPadding)
.padding(.vertical, Layout.Status.vPadding)
.background(viewModel.statusBackgroundColor)
.cornerRadius(Layout.Status.cornerRadius)
if ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleOrdersi1),
viewModel.isPOSOrder {
Text(viewModel.salesChannelText)
.foregroundStyle(Color(uiColor: Layout.salesChannelLabelTextColor))
.captionStyle()
.padding(.horizontal, Layout.Status.hPadding)
.padding(.vertical, Layout.Status.vPadding)
.background(Color(uiColor: Layout.salesChannelLabelBackgroundColor))
.cornerRadius(Layout.Status.cornerRadius)
}
}

Text(viewModel.total)
.bodyStyle()
Expand All @@ -56,6 +70,9 @@ private extension LastOrderDashboardRow {
enum Layout {
static let padding: CGFloat = 16
static let spacing: CGFloat = 8
static let badgeSpacing: CGFloat = 4
static let salesChannelLabelBackgroundColor = UIColor.withColorStudio(.wooCommercePurple, shade: .shade10)
static let salesChannelLabelTextColor = UIColor.withColorStudio(.wooCommercePurple, shade: .shade80)

enum Status {
static let hPadding: CGFloat = 8
Expand All @@ -69,6 +86,14 @@ struct LastOrderDashboardRowViewModel {
private let currencyFormatter = CurrencyFormatter(currencySettings: ServiceLocator.currencySettings)
let order: Order

var isPOSOrder: Bool {
order.salesChannel == .pointOfSale
}

var salesChannelText: String {
order.salesChannel?.description ?? ""
}

var number: String {
"#\(order.number)"
}
Expand Down