Show routes in hub info panel offers
All checks were successful
Build Docker Image / build (push) Successful in 3m47s
All checks were successful
Build Docker Image / build (push) Successful in 3m47s
Replace OfferCard with OfferResultCard when displaying offers for a hub after product selection. This shows the route stages and distance to the hub instead of just offer info.
This commit is contained in:
@@ -139,12 +139,15 @@
|
|||||||
<p>{{ $t('catalog.empty.noOffers') }}</p>
|
<p>{{ $t('catalog.empty.noOffers') }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="flex flex-col gap-2">
|
<div v-else class="flex flex-col gap-2">
|
||||||
<OfferCard
|
<OfferResultCard
|
||||||
v-for="offer in relatedOffers"
|
v-for="offer in relatedOffers"
|
||||||
:key="offer.uuid"
|
:key="offer.uuid"
|
||||||
:offer="offer"
|
:location-name="offer.locationName || offer.productName"
|
||||||
selectable
|
:product-name="offer.productName"
|
||||||
compact
|
:price-per-unit="offer.pricePerUnit ? Number(offer.pricePerUnit) : null"
|
||||||
|
:currency="offer.currency"
|
||||||
|
:unit="offer.unit"
|
||||||
|
:stages="getOfferStages(offer)"
|
||||||
@select="onOfferSelect(offer)"
|
@select="onOfferSelect(offer)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -317,4 +320,14 @@ const onOfferSelect = (offer: any) => {
|
|||||||
emit('open-info', 'offer', offer.uuid)
|
emit('open-info', 'offer', offer.uuid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extract route stages for OfferResultCard
|
||||||
|
const getOfferStages = (offer: any) => {
|
||||||
|
const route = offer.routes?.[0]
|
||||||
|
if (!route?.stages) return []
|
||||||
|
return route.stages.filter(Boolean).map((stage: any) => ({
|
||||||
|
transportType: stage?.transportType,
|
||||||
|
distanceKm: stage?.distanceKm
|
||||||
|
}))
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user