feat(hamkar-ui): mobile preview and brandManaged for chrome colors
Save sets brandManaged so header+menu share one color and body stays separate, without changing live apps until save. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -31,6 +31,12 @@ export type HamkarUiConfig = {
|
||||
* Laravel settings stay source of truth (prevents visual jumps).
|
||||
*/
|
||||
settingsManaged: boolean
|
||||
/**
|
||||
* When true, Hamkar applies brand colors to mobile chrome (header + bottom menu)
|
||||
* and page body — including theme-two. Default false so live apps stay untouched
|
||||
* until colors are saved from SuperAdmin.
|
||||
*/
|
||||
brandManaged: boolean
|
||||
/** Named CSS mode from live registry (Montpar, limangold, …) or dynamicMode */
|
||||
registryMode: string
|
||||
brand: HamkarBrandColors
|
||||
@@ -103,6 +109,7 @@ export function createDefaultHamkarUiConfig(): HamkarUiConfig {
|
||||
return {
|
||||
kind: 'hamkar',
|
||||
settingsManaged: false,
|
||||
brandManaged: false,
|
||||
registryMode: 'dynamicMode',
|
||||
brand: {
|
||||
primaryColor: '',
|
||||
@@ -151,6 +158,7 @@ export function normalizeHamkarUiConfig(raw: unknown): HamkarUiConfig {
|
||||
return {
|
||||
kind: 'hamkar',
|
||||
settingsManaged: Boolean(input.settingsManaged),
|
||||
brandManaged: Boolean(input.brandManaged),
|
||||
registryMode,
|
||||
brand,
|
||||
settings,
|
||||
@@ -177,6 +185,7 @@ export function hamkarUiToApiPayload(config: HamkarUiConfig) {
|
||||
return {
|
||||
kind: 'hamkar' as const,
|
||||
settingsManaged: normalized.settingsManaged,
|
||||
brandManaged: normalized.brandManaged,
|
||||
registryMode: normalized.registryMode,
|
||||
brand: {
|
||||
primaryColor: emptyToNull(normalized.brand.primaryColor),
|
||||
|
||||
@@ -75,6 +75,6 @@ export function resolveHamkarEffectiveTheme(input: {
|
||||
bg2: panel,
|
||||
colorPrimary: accent,
|
||||
},
|
||||
note: 'حالت dynamicMode: color → هدر (--bg2)، secondary_color → اکسنت (--colorPrimary)، background_color → پسزمینه (--bg).',
|
||||
note: 'حالت dynamicMode: color → هدر و منوی موبایل (--bg2 / --theme-two-header)، secondary_color → اکسنت (--colorPrimary)، background_color → بدنه صفحه (--bg / --theme-two-background).',
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user