Add Hamkar default appearance snapshot seed script and builder support.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -40,8 +40,21 @@ export function buildHamkarUiFromBrand(input: {
|
||||
price_font_size?: string
|
||||
orderUI?: string
|
||||
}
|
||||
defaultSnapshot?: {
|
||||
registryMode?: string | null
|
||||
brand?: {
|
||||
primaryColor?: string | null
|
||||
secondaryColor?: string | null
|
||||
backgroundColor?: string | null
|
||||
}
|
||||
settings?: {
|
||||
pricing_box_theme?: string
|
||||
price_font_size?: string
|
||||
orderUI?: string
|
||||
}
|
||||
} | null
|
||||
}) {
|
||||
return {
|
||||
const base = {
|
||||
kind: 'hamkar' as const,
|
||||
settingsManaged: Boolean(input.settingsManaged),
|
||||
registryMode: input.registryMode || 'dynamicMode',
|
||||
@@ -57,6 +70,29 @@ export function buildHamkarUiFromBrand(input: {
|
||||
orderUI: String(input.settings?.orderUI || 'old'),
|
||||
},
|
||||
}
|
||||
|
||||
if (!input.defaultSnapshot) return base
|
||||
|
||||
return {
|
||||
...base,
|
||||
defaultSnapshot: {
|
||||
registryMode: input.defaultSnapshot.registryMode || base.registryMode,
|
||||
brand: {
|
||||
primaryColor: input.defaultSnapshot.brand?.primaryColor ?? null,
|
||||
secondaryColor: input.defaultSnapshot.brand?.secondaryColor ?? null,
|
||||
backgroundColor: input.defaultSnapshot.brand?.backgroundColor ?? null,
|
||||
},
|
||||
settings: {
|
||||
pricing_box_theme: String(
|
||||
input.defaultSnapshot.settings?.pricing_box_theme || base.settings.pricing_box_theme,
|
||||
),
|
||||
price_font_size: String(
|
||||
input.defaultSnapshot.settings?.price_font_size || base.settings.price_font_size,
|
||||
),
|
||||
orderUI: String(input.defaultSnapshot.settings?.orderUI || base.settings.orderUI),
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export function buildKhanegiUiFromColors(input: {
|
||||
|
||||
Reference in New Issue
Block a user