diff --git a/src/modules/market/types/market.ts b/src/modules/market/types/market.ts index d8dfd79..5c21145 100644 --- a/src/modules/market/types/market.ts +++ b/src/modules/market/types/market.ts @@ -21,6 +21,7 @@ export interface Stall { logo?: string categories?: string[] shipping?: ShippingZone[] + shipping_zones?: ShippingZone[] // LNbits format currency: string nostrEventId?: string } @@ -94,6 +95,7 @@ export interface ShippingZone { name: string cost: number currency: string + countries?: string[] // Countries/regions this zone covers description?: string estimatedDays?: string requiresPhysicalShipping?: boolean diff --git a/src/modules/market/views/CheckoutPage.vue b/src/modules/market/views/CheckoutPage.vue index 0453f36..1a1b6f4 100644 --- a/src/modules/market/views/CheckoutPage.vue +++ b/src/modules/market/views/CheckoutPage.vue @@ -110,7 +110,15 @@
{{ zone.countries?.join(', ') || 'Available' }}
++ {{ zone.countries?.join(', ') || 'Available' }} + + • No shipping required + +
++ {{ zone.description }} +
@@ -123,14 +131,15 @@
No shipping zones available
+This merchant hasn't configured shipping zones yet.
+Please contact the merchant for shipping information.
Required for physical shipping
++ {{ selectedShippingZone?.requiresPhysicalShipping !== false + ? 'Required for physical delivery' + : 'Optional for digital items or pickup' }} +
- Shipping address is required +
+ Shipping address is required for physical delivery