Expose public condition labels and safe market values on listing details, with Storybook coverage for market value presentation.
This commit is contained in:
@@ -7,6 +7,7 @@ export const ListingDetail = {
|
||||
title: 'Charizard ex #199/165',
|
||||
status: 'AVAILABLE',
|
||||
priceMinor: 11500,
|
||||
marketValueMinor: 12000,
|
||||
condition: 'Near Mint',
|
||||
description: 'A clean collector copy with a clear front and back.',
|
||||
facts: [
|
||||
|
||||
@@ -8,6 +8,8 @@ defineProps({
|
||||
title: { type: String, required: true },
|
||||
status: { type: String, default: '' },
|
||||
priceMinor: { type: Number, default: null },
|
||||
marketValueMinor: { type: Number, default: null },
|
||||
marketValueCurrency: { type: String, default: 'USD' },
|
||||
condition: { type: String, default: '' },
|
||||
description: { type: String, default: '' },
|
||||
facts: { type: Array, default: () => [] },
|
||||
@@ -27,6 +29,7 @@ defineProps({
|
||||
<p v-if="description" class="detail-notes">{{ description }}</p>
|
||||
<div class="collectible-detail__summary">
|
||||
<PriceDisplay v-if="priceMinor !== null" :amount-minor="priceMinor" />
|
||||
<PriceDisplay v-if="marketValueMinor !== null" label="Market value" :amount-minor="marketValueMinor" />
|
||||
<ConditionBadge v-if="condition" :label="condition" />
|
||||
</div>
|
||||
<dl v-if="facts.length" class="product-facts">
|
||||
|
||||
@@ -31,7 +31,9 @@ onMounted(async () => {
|
||||
:title="listing.productName"
|
||||
:status="listing.status"
|
||||
:price-minor="listing.askingPriceMinor"
|
||||
:condition="listing.conditionId"
|
||||
:market-value-minor="listing.marketValueMinor"
|
||||
:market-value-currency="listing.marketValueCurrency"
|
||||
:condition="listing.conditionName ? `${listing.conditionName} (${listing.conditionCode})` : listing.conditionId"
|
||||
:description="listing.notes"
|
||||
:images="listing.images"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user