31 lines
970 B
TypeScript
31 lines
970 B
TypeScript
|
|
/** Shape of a storefront's content config. Same shape for every store —
|
|||
|
|
* the values differ, the structure never does. */
|
|||
|
|
export type Review = { q: string; a: string };
|
|||
|
|
|
|||
|
|
export type StoreConfig = {
|
|||
|
|
/** NEXT_PUBLIC_STORE_CODE; also the @store / shop-system id. */
|
|||
|
|
code: string;
|
|||
|
|
/** Switcher tab label in the showcase headbar. */
|
|||
|
|
label: string;
|
|||
|
|
/** Storefront wordmark. */
|
|||
|
|
brandName: string;
|
|||
|
|
/** Small line under / beside the wordmark. */
|
|||
|
|
brandSub: string;
|
|||
|
|
nav: string[];
|
|||
|
|
cartLabel: string;
|
|||
|
|
ctaLabel: string;
|
|||
|
|
hero: {
|
|||
|
|
eyebrow: string;
|
|||
|
|
title: string;
|
|||
|
|
body: string;
|
|||
|
|
cta: string;
|
|||
|
|
};
|
|||
|
|
collection: { title: string; meta: string };
|
|||
|
|
featured: { kicker: string; title: string; body: string; cta: string };
|
|||
|
|
reviews: Review[];
|
|||
|
|
footer: { links: string[]; note: string };
|
|||
|
|
/** cents × multiplier ÷ 100 → display dollars (exec 16, crypto 3, collector 28, supper 1). */
|
|||
|
|
priceMultiplier: number;
|
|||
|
|
priceStyle: 'usd' | 'crypto' | 'appraisal' | 'plain';
|
|||
|
|
};
|