mirror of
https://github.com/Patiun/com.gregkilmer.www.git
synced 2026-11-07 19:58:24 +00:00
Store detail updates
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"ordersOpen": false,
|
||||
"lastUpdated": "2026-08-04",
|
||||
"lastUpdated": "2026-08-06",
|
||||
"turnaround": "Estimated turnaround: ~2 weeks once a list is confirmed.",
|
||||
"maxNote": "I take a limited number of orders at a time so each one gets full attention. Slots reopen as current orders finish.",
|
||||
"slots": {
|
||||
"cards": { "open": 0, "total": 5 },
|
||||
"deckBoxes": { "open": 0, "total": 4 }
|
||||
"cards": {
|
||||
"open": 0,
|
||||
"total": 3
|
||||
},
|
||||
"deckBoxes": {
|
||||
"open": 0,
|
||||
"total": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+41
-17
@@ -42,6 +42,21 @@ export interface PriceTier {
|
||||
note?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* A selectable filament/print color for a printed product. Rendered as a
|
||||
* swatch on the product page and offered in the order form. Flip `inStock` to
|
||||
* false when a color runs out — it shows as "Out of stock" and is removed from
|
||||
* the order-form color list.
|
||||
*/
|
||||
export interface ColorOption {
|
||||
/** Display name, e.g. "Midnight Black". */
|
||||
name: string;
|
||||
/** Hex swatch color shown in the grid + form, e.g. "#1b1730". */
|
||||
hex: string;
|
||||
/** Whether the color is currently available to order. */
|
||||
inStock: boolean;
|
||||
}
|
||||
|
||||
export interface Product {
|
||||
/** mdi icon used as the decorative mark. */
|
||||
icon: string;
|
||||
@@ -64,6 +79,13 @@ export interface Product {
|
||||
specs: SpecRow[];
|
||||
/** Pricing tiers rendered as a pricing table. */
|
||||
pricing: PriceTier[];
|
||||
/**
|
||||
* Optional selectable print colors (filament). Rendered as a swatch grid on
|
||||
* the product page and offered in the order form. Add/remove entries here to
|
||||
* manage available colors; toggle `inStock` per color. Omit for products that
|
||||
* have no color choice (e.g. proxy cards).
|
||||
*/
|
||||
colors?: ColorOption[];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,7 +96,7 @@ export const cardProduct: Product = {
|
||||
icon: 'cards-playing',
|
||||
title: 'Proxy MTG Cards',
|
||||
summary:
|
||||
'High-quality printed proxy cards for casual play, sized to match real Magic cards and clearly marked as proxies.',
|
||||
'High-quality printed proxy cards for casual play, sized to match real Magic cards and clearly marked as proxies intended for use sleeved.',
|
||||
slotKey: 'cards',
|
||||
images: [
|
||||
{
|
||||
@@ -95,23 +117,25 @@ export const cardProduct: Product = {
|
||||
],
|
||||
specs: [
|
||||
{ label: 'Size', value: '63 x 88 mm (standard MTG card size)' },
|
||||
{ label: 'Thickness', value: '[Greg to fill] (e.g. 300 gsm / 350 gsm cardstock)' },
|
||||
{ label: 'Thickness', value: '0.31mm laminated photo cardstock' },
|
||||
{ label: 'Back', value: 'Solid white back (clearly not tournament-legal)' },
|
||||
{
|
||||
label: 'Finishes',
|
||||
value: '[Greg to fill] (e.g. matte, linen, glossy)',
|
||||
value: 'Default matte finish, available in glossy on request',
|
||||
},
|
||||
{
|
||||
label: 'Double-sided cards',
|
||||
value: 'Printed as two separate cards and count as 2 card slots',
|
||||
},
|
||||
{ label: 'Art', value: 'Official card art only. No custom or offensive art (see Requirements)' },
|
||||
{ label: 'Art', value: 'Official card art only. No offensive art (custom cards usable if fully provided see Requirements)' },
|
||||
],
|
||||
pricing: [
|
||||
{ band: '1-9 cards', price: '[Greg to fill]', note: 'per card' },
|
||||
{ band: '10-39 cards', price: '[Greg to fill]', note: 'per card' },
|
||||
{ band: '40-99 cards', price: '[Greg to fill]', note: 'per card' },
|
||||
{ band: '100+ cards', price: '[Greg to fill]', note: 'per card' },
|
||||
{ band: 'Individual cards', price: '$1.00', note: 'per card' },
|
||||
{ band: 'Individual foil cards', price: '$2.00', note: 'per card' },
|
||||
{ band: '36 card set', price: '$20.00', note: 'per set of cards' },
|
||||
{ band: '60 card deck', price: '$30.00', note: 'per set of cards' },
|
||||
{ band: '100 card deck', price: '$40.00', note: 'per set of cards' },
|
||||
{ band: 'Deck Disclosure Card', price: '$2.00', note: 'per card' },
|
||||
],
|
||||
};
|
||||
|
||||
@@ -142,16 +166,16 @@ export const deckBoxProduct: Product = {
|
||||
},
|
||||
],
|
||||
specs: [
|
||||
{ label: 'Capacity', value: '[Greg to fill] (e.g. 100 double-sleeved cards)' },
|
||||
{ label: 'Material', value: '[Greg to fill] (e.g. PLA / PETG)' },
|
||||
{ label: 'Finish', value: '[Greg to fill] (e.g. as-printed, sanded, painted)' },
|
||||
{ label: 'Sizing', value: '[Greg to fill] (deck box + matching counters)' },
|
||||
{ label: 'Capacity', value: '100 double-sleeved card bay / 82mm depth and tray 67 mm x 76 mm x 24 mm (width x depth x height)' },
|
||||
{ label: 'Material', value: 'PLA with 2x4 magnets and top-loader protection pane' },
|
||||
{ label: 'Finish', value: 'as-printed' },
|
||||
{ label: 'Sizing', value: '86 mm x 109 mm x 143 mm (width x depth x height)' },
|
||||
{ label: 'Customization', value: 'Color selection from available filament' },
|
||||
],
|
||||
pricing: [
|
||||
{ band: 'Single deck box', price: '[Greg to fill]', note: 'per print' },
|
||||
{ band: 'Deck box + counter set', price: '[Greg to fill]', note: 'per set' },
|
||||
{ band: 'Counter / token only', price: '[Greg to fill]', note: 'per print' },
|
||||
{ band: 'Single deck box', price: '$30.00', note: 'per print' },
|
||||
{ band: 'Deck box + counter set', price: 'Coming Soon', note: 'per set' },
|
||||
{ band: 'Counter / token only', price: 'Coming Soon', note: 'per print' },
|
||||
],
|
||||
};
|
||||
|
||||
@@ -205,8 +229,8 @@ export const requirements: Requirement[] = [
|
||||
},
|
||||
{
|
||||
icon: 'alert',
|
||||
title: 'No custom or offensive art',
|
||||
body: 'I will not print custom art or any cards I find to be offensive. Only official card art is used.',
|
||||
title: 'No offensive art',
|
||||
body: 'I will not print custom art or any cards I find to be offensive. Only official card art is used unless card art fully provided by the customer.',
|
||||
},
|
||||
{
|
||||
icon: 'information',
|
||||
|
||||
Reference in New Issue
Block a user