@actuate-media/cms-admin 0.63.0 → 0.63.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +2 -0
- package/dist/AdminRoot.js.map +1 -1
- package/dist/__tests__/hooks/useAppearanceBootstrap.test.d.ts +2 -0
- package/dist/__tests__/hooks/useAppearanceBootstrap.test.d.ts.map +1 -0
- package/dist/__tests__/hooks/useAppearanceBootstrap.test.js +55 -0
- package/dist/__tests__/hooks/useAppearanceBootstrap.test.js.map +1 -0
- package/dist/__tests__/lib/appearance-api.test.d.ts +2 -0
- package/dist/__tests__/lib/appearance-api.test.d.ts.map +1 -0
- package/dist/__tests__/lib/appearance-api.test.js +37 -0
- package/dist/__tests__/lib/appearance-api.test.js.map +1 -0
- package/dist/actuate-admin.css +1 -1
- package/dist/components/EnabledSwitch.d.ts +13 -0
- package/dist/components/EnabledSwitch.d.ts.map +1 -0
- package/dist/components/EnabledSwitch.js +11 -0
- package/dist/components/EnabledSwitch.js.map +1 -0
- package/dist/hooks/useAppearanceBootstrap.d.ts +8 -0
- package/dist/hooks/useAppearanceBootstrap.d.ts.map +1 -0
- package/dist/hooks/useAppearanceBootstrap.js +36 -0
- package/dist/hooks/useAppearanceBootstrap.js.map +1 -0
- package/dist/lib/appearance-api.d.ts +33 -0
- package/dist/lib/appearance-api.d.ts.map +1 -0
- package/dist/lib/appearance-api.js +42 -0
- package/dist/lib/appearance-api.js.map +1 -0
- package/dist/views/ScriptTagEditor.d.ts.map +1 -1
- package/dist/views/ScriptTagEditor.js +2 -1
- package/dist/views/ScriptTagEditor.js.map +1 -1
- package/dist/views/ScriptTags.d.ts.map +1 -1
- package/dist/views/ScriptTags.js +29 -8
- package/dist/views/ScriptTags.js.map +1 -1
- package/dist/views/settings/useAppearanceSettings.d.ts +3 -9
- package/dist/views/settings/useAppearanceSettings.d.ts.map +1 -1
- package/dist/views/settings/useAppearanceSettings.js +6 -28
- package/dist/views/settings/useAppearanceSettings.js.map +1 -1
- package/package.json +2 -2
- package/src/AdminRoot.tsx +2 -0
- package/src/__tests__/hooks/useAppearanceBootstrap.test.ts +69 -0
- package/src/__tests__/lib/appearance-api.test.ts +41 -0
- package/src/components/EnabledSwitch.tsx +34 -0
- package/src/hooks/useAppearanceBootstrap.ts +40 -0
- package/src/lib/appearance-api.ts +84 -0
- package/src/views/ScriptTagEditor.tsx +6 -12
- package/src/views/ScriptTags.tsx +40 -19
- package/src/views/settings/useAppearanceSettings.ts +14 -58
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appearance-api.js","sourceRoot":"","sources":["../../src/lib/appearance-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAMlB,MAAM,oCAAoC,CAAA;AA4B3C,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,MAAM,IAAI,GAAiC,EAAE,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;YACX,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,SAAS;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;YAC7B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;SACtE,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAoB,EACpB,MAAoC,EACpC,SAAwB;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/B,CAAC,CAAC,EAAE;QACJ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACvF,CAAC,CACH,CAAA;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IACzD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI;QACzC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI;QACnC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI;QACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,uBAAuB,CAAC,IAA2B;IACjE,MAAM,KAAK,GAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,oBAAoB,EAAE,CAAA;IAC9F,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,qBAAqB;QAC5C,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;QACxC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc;QACvC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;QACjC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;QAC1C,UAAU,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;KACrE,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptTagEditor.d.ts","sourceRoot":"","sources":["../../src/views/ScriptTagEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScriptTagEditor.d.ts","sourceRoot":"","sources":["../../src/views/ScriptTagEditor.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,oBAAoB,2CAoV1E"}
|
|
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
4
|
import { ArrowLeft, Loader2, AlertTriangle, Trash2, X, Plus } from 'lucide-react';
|
|
5
5
|
import { toast } from 'sonner';
|
|
6
|
+
import { EnabledSwitch } from '../components/EnabledSwitch.js';
|
|
6
7
|
import { useApiData } from '../lib/useApiData.js';
|
|
7
8
|
import { cmsApi } from '../lib/api.js';
|
|
8
9
|
export function ScriptTagEditor({ tagId, onNavigate }) {
|
|
@@ -105,6 +106,6 @@ export function ScriptTagEditor({ tagId, onNavigate }) {
|
|
|
105
106
|
e.preventDefault();
|
|
106
107
|
addPath();
|
|
107
108
|
}
|
|
108
|
-
}, placeholder: "/services", className: "border-input focus:ring-ring flex-1 rounded-lg border px-3 py-2 font-mono text-sm focus:ring-2 focus:outline-none" }), _jsx("button", { type: "button", onClick: addPath, className: "border-input hover:bg-muted rounded-lg border px-3 py-2 text-sm transition-colors", children: _jsx(Plus, { className: "h-4 w-4" }) })] }), scope === 'parents' && (_jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: "This tag will also apply to all child pages under each path." })), targetPaths.length > 0 && (_jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: targetPaths.map((p) => (_jsxs("span", { className: "bg-muted text-foreground inline-flex items-center gap-1 rounded-full px-3 py-1 font-mono text-xs", children: [p, _jsx("button", { type: "button", onClick: () => removePath(p), className: "text-muted-foreground hover:text-muted-foreground ml-0.5", children: _jsx(X, { className: "h-3 w-3" }) })] }, p))) }))] })), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { children: [_jsx("label", { className: "text-foreground mb-1 block text-sm font-medium", children: "Priority" }), _jsx("input", { type: "number", value: priority, onChange: (e) => setPriority(parseInt(e.target.value, 10) || 0), min: 0, className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" }), _jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: "Lower numbers load first (e.g. 1 = first, 100 = default)" })] }), _jsxs("div", { children: [_jsx("label", { className: "text-foreground mb-1 block text-sm font-medium", children: "Enabled" }), _jsx("div", { className: "pt-2", children: _jsx(
|
|
109
|
+
}, placeholder: "/services", className: "border-input focus:ring-ring flex-1 rounded-lg border px-3 py-2 font-mono text-sm focus:ring-2 focus:outline-none" }), _jsx("button", { type: "button", onClick: addPath, className: "border-input hover:bg-muted rounded-lg border px-3 py-2 text-sm transition-colors", children: _jsx(Plus, { className: "h-4 w-4" }) })] }), scope === 'parents' && (_jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: "This tag will also apply to all child pages under each path." })), targetPaths.length > 0 && (_jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: targetPaths.map((p) => (_jsxs("span", { className: "bg-muted text-foreground inline-flex items-center gap-1 rounded-full px-3 py-1 font-mono text-xs", children: [p, _jsx("button", { type: "button", onClick: () => removePath(p), className: "text-muted-foreground hover:text-muted-foreground ml-0.5", children: _jsx(X, { className: "h-3 w-3" }) })] }, p))) }))] })), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { children: [_jsx("label", { className: "text-foreground mb-1 block text-sm font-medium", children: "Priority" }), _jsx("input", { type: "number", value: priority, onChange: (e) => setPriority(parseInt(e.target.value, 10) || 0), min: 0, className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" }), _jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: "Lower numbers load first (e.g. 1 = first, 100 = default)" })] }), _jsxs("div", { children: [_jsx("label", { className: "text-foreground mb-1 block text-sm font-medium", children: "Enabled" }), _jsx("div", { className: "pt-2", children: _jsx(EnabledSwitch, { checked: enabled, onCheckedChange: setEnabled, "aria-label": enabled ? 'Disable script tag' : 'Enable script tag' }) })] })] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { children: !isNew && (_jsx(_Fragment, { children: showDeleteConfirm ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-destructive text-sm", children: "Delete this tag?" }), _jsx("button", { type: "button", onClick: handleDelete, disabled: deleting, className: "bg-destructive text-destructive-foreground hover:bg-destructive/90 rounded-lg px-3 py-1.5 text-sm disabled:opacity-50", children: deleting ? 'Deleting...' : 'Confirm' }), _jsx("button", { type: "button", onClick: () => setShowDeleteConfirm(false), className: "border-input hover:bg-muted rounded-lg border px-3 py-1.5 text-sm", children: "Cancel" })] })) : (_jsxs("button", { type: "button", onClick: () => setShowDeleteConfirm(true), className: "text-destructive hover:text-destructive flex items-center gap-1.5 text-sm transition-colors", children: [_jsx(Trash2, { className: "h-4 w-4" }), "Delete"] })) })) }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: () => onNavigate?.('/script-tags'), className: "border-input text-foreground hover:bg-muted rounded-lg border px-4 py-2 text-sm transition-colors", children: "Cancel" }), _jsx("button", { type: "button", onClick: handleSave, disabled: saving, className: "bg-primary text-primary-foreground hover:bg-primary/90 rounded-lg px-6 py-2 text-sm transition-colors disabled:opacity-50", children: saving ? 'Saving...' : isNew ? 'Create Tag' : 'Save Changes' })] })] })] })] }));
|
|
109
110
|
}
|
|
110
111
|
//# sourceMappingURL=ScriptTagEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptTagEditor.js","sourceRoot":"","sources":["../../src/views/ScriptTagEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACjF,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAOtC,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAwB;IACzE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAM,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAE/E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAA;IAC5D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;YACjD,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;gBACvB,YAAY,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,CAAA;gBACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAA;gBAC7B,cAAc,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;gBACrC,WAAW,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAA;gBAChC,UAAU,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAEjB,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAChC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAA;QACpE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC,CAAC,GAAG,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,YAAY,CAAC,EAAE,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAClC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACvC,OAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAA;QACf,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,IAAI;YACJ,SAAS;YACT,KAAK;YACL,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;YAChD,QAAQ;YACR,OAAO;SACR,CAAA;QAED,MAAM,GAAG,GAAG,KAAK;YACf,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAE3F,SAAS,CAAC,KAAK,CAAC,CAAA;QAChB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;YACpD,UAAU,EAAE,CAAC,cAAc,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACvE,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YAC5B,UAAU,EAAE,CAAC,cAAc,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CACL,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,OAAO,IAAC,SAAS,EAAC,mCAAmC,GAAG,GACrD,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,mCAAmC,aAC/C,KAAK,IAAI,CACR,eAAK,SAAS,EAAC,4FAA4F,aACzG,KAAC,aAAa,IAAC,SAAS,EAAC,mCAAmC,GAAG,EAC/D,eAAM,SAAS,EAAC,iCAAiC,YAAE,KAAK,GAAQ,IAC5D,CACP,EAED,eAAK,SAAS,EAAC,MAAM,aACnB,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,EAC3C,SAAS,EAAC,sGAAsG,aAEhH,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,2BAE1B,EACT,aAAI,SAAS,EAAC,sCAAsC,YACjD,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,GAC1C,IACD,EAEN,cAAK,SAAS,EAAC,4DAA4D,YACzE,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,aAAa,IAAC,SAAS,EAAC,sCAAsC,GAAG,EAClE,YAAG,SAAS,EAAC,sBAAsB,8JAG/B,IACA,GACF,EAEN,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,uDAAuD,aACpE,0BACE,gBAAO,SAAS,EAAC,gDAAgD,qBAAa,EAC9E,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,WAAW,EAAC,yCAAyC,EACrD,SAAS,EAAC,yGAAyG,GACnH,IACE,EAEN,0BACE,gBAAO,SAAS,EAAC,gDAAgD,qBAAa,EAC9E,mBACE,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,WAAW,EAAC,4CAA4C,EACxD,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,mHAAmH,EAC7H,UAAU,EAAE,KAAK,GACjB,EACF,aAAG,SAAS,EAAC,oCAAoC,uDACR,UAAU,cAC/C,IACA,IACF,EAEN,eAAK,SAAS,EAAC,uDAAuD,aACpE,aAAI,SAAS,EAAC,qCAAqC,kCAAuB,EAE1E,0BACE,gBAAO,SAAS,EAAC,gDAAgD,0BAAkB,EACnF,kBACE,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,SAAS,EAAC,yGAAyG,aAEnH,kBAAQ,KAAK,EAAC,MAAM,oCAAgB,QAAQ,IAAU,EACtD,kBAAQ,KAAK,EAAC,WAAW,8CAA0B,QAAQ,IAAU,EACrE,kBAAQ,KAAK,EAAC,YAAY,0CAAsB,SAAS,IAAU,IAC5D,EACT,aAAG,SAAS,EAAC,oCAAoC,aAC9C,SAAS,KAAK,MAAM,IAAI,wDAAwD,EAChF,SAAS,KAAK,WAAW,IAAI,uDAAuD,EACpF,SAAS,KAAK,YAAY;gDACzB,+DAA+D,IAC/D,IACA,EAEN,0BACE,gBAAO,SAAS,EAAC,gDAAgD,sBAAc,EAC/E,kBACE,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,SAAS,EAAC,yGAAyG,aAEnH,iBAAQ,KAAK,EAAC,MAAM,+BAAwB,EAC5C,iBAAQ,KAAK,EAAC,SAAS,6DAAsD,EAC7E,iBAAQ,KAAK,EAAC,MAAM,4CAAqC,IAClD,IACL,EAEL,KAAK,KAAK,MAAM,IAAI,CACnB,0BACE,gBAAO,SAAS,EAAC,gDAAgD,YAC9D,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,GAC7C,EACR,eAAK,SAAS,EAAC,YAAY,aACzB,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oDACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wDACtB,CAAC,CAAC,cAAc,EAAE,CAAA;wDAClB,OAAO,EAAE,CAAA;oDACX,CAAC;gDACH,CAAC,EACD,WAAW,EAAC,WAAW,EACvB,SAAS,EAAC,mHAAmH,GAC7H,EACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,mFAAmF,YAE7F,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,GACrB,IACL,EACL,KAAK,KAAK,SAAS,IAAI,CACtB,YAAG,SAAS,EAAC,oCAAoC,6EAE7C,CACL,EACA,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,cAAK,SAAS,EAAC,2BAA2B,YACvC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtB,gBAEE,SAAS,EAAC,kGAAkG,aAE3G,CAAC,EACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAC,0DAA0D,YAEpE,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,KAVJ,CAAC,CAWD,CACR,CAAC,GACE,CACP,IACG,CACP,EAED,eAAK,SAAS,EAAC,wBAAwB,aACrC,0BACE,gBAAO,SAAS,EAAC,gDAAgD,yBAAiB,EAClF,gBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAC/D,GAAG,EAAE,CAAC,EACN,SAAS,EAAC,yGAAyG,GACnH,EACF,YAAG,SAAS,EAAC,oCAAoC,yEAE7C,IACA,EACN,0BACE,gBAAO,SAAS,EAAC,gDAAgD,wBAAgB,EACjF,cAAK,SAAS,EAAC,MAAM,YACnB,
|
|
1
|
+
{"version":3,"file":"ScriptTagEditor.js","sourceRoot":"","sources":["../../src/views/ScriptTagEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptTags.d.ts","sourceRoot":"","sources":["../../src/views/ScriptTags.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScriptTags.d.ts","sourceRoot":"","sources":["../../src/views/ScriptTags.tsx"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AAoCD,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,eAAe,2CAwJzD"}
|
package/dist/views/ScriptTags.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useMemo, useState } from 'react';
|
|
4
4
|
import { Code2, Plus, Loader2, AlertTriangle } from 'lucide-react';
|
|
5
5
|
import { toast } from 'sonner';
|
|
6
|
+
import { EnabledSwitch } from '../components/EnabledSwitch.js';
|
|
6
7
|
import { useApiData } from '../lib/useApiData.js';
|
|
7
8
|
import { cmsApi } from '../lib/api.js';
|
|
8
9
|
const PLACEMENT_LABELS = {
|
|
@@ -15,6 +16,15 @@ const PLACEMENT_COLORS = {
|
|
|
15
16
|
body_open: 'bg-primary/15 text-primary',
|
|
16
17
|
body_close: 'bg-success/15 text-success',
|
|
17
18
|
};
|
|
19
|
+
function normalizeEnabled(value) {
|
|
20
|
+
if (typeof value === 'boolean')
|
|
21
|
+
return value;
|
|
22
|
+
if (value === 'true' || value === 1)
|
|
23
|
+
return true;
|
|
24
|
+
if (value === 'false' || value === 0 || value === null)
|
|
25
|
+
return false;
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
18
28
|
function scopeLabel(tag) {
|
|
19
29
|
const scope = String(tag.scope ?? '');
|
|
20
30
|
const targetPaths = Array.isArray(tag.targetPaths) ? tag.targetPaths : [];
|
|
@@ -33,24 +43,35 @@ function scopeLabel(tag) {
|
|
|
33
43
|
export function ScriptTags({ onNavigate }) {
|
|
34
44
|
const { data, loading, error, refetch } = useApiData('/script-tags');
|
|
35
45
|
const [togglingId, setTogglingId] = useState(null);
|
|
36
|
-
const
|
|
37
|
-
const
|
|
46
|
+
const [enabledOverrides, setEnabledOverrides] = useState({});
|
|
47
|
+
const tags = useMemo(() => (data ?? []).map((tag) => ({
|
|
48
|
+
...tag,
|
|
49
|
+
enabled: enabledOverrides[tag.id] ?? normalizeEnabled(tag.enabled),
|
|
50
|
+
})), [data, enabledOverrides]);
|
|
51
|
+
const toggleEnabled = async (tag, nextEnabled) => {
|
|
52
|
+
setEnabledOverrides((prev) => ({ ...prev, [tag.id]: nextEnabled }));
|
|
38
53
|
setTogglingId(tag.id);
|
|
39
54
|
const res = await cmsApi(`/script-tags/${tag.id}`, {
|
|
40
55
|
method: 'PUT',
|
|
41
|
-
body: JSON.stringify({ enabled:
|
|
56
|
+
body: JSON.stringify({ enabled: nextEnabled }),
|
|
42
57
|
});
|
|
43
58
|
setTogglingId(null);
|
|
44
59
|
if (res.error) {
|
|
60
|
+
setEnabledOverrides((prev) => {
|
|
61
|
+
const { [tag.id]: _, ...rest } = prev;
|
|
62
|
+
return rest;
|
|
63
|
+
});
|
|
45
64
|
toast.error(res.error);
|
|
65
|
+
return;
|
|
46
66
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
67
|
+
const saved = normalizeEnabled(res.data?.enabled ?? nextEnabled);
|
|
68
|
+
setEnabledOverrides((prev) => ({ ...prev, [tag.id]: saved }));
|
|
69
|
+
refetch();
|
|
70
|
+
toast.success(saved ? 'Tag enabled' : 'Tag disabled');
|
|
50
71
|
};
|
|
51
72
|
if (loading) {
|
|
52
73
|
return (_jsx("div", { className: "flex h-64 items-center justify-center p-3 pr-6 sm:p-4 sm:pr-8", children: _jsx(Loader2, { className: "text-primary h-6 w-6 animate-spin" }) }));
|
|
53
74
|
}
|
|
54
|
-
return (_jsxs("div", { className: "p-3 pr-6 sm:p-4 sm:pr-8", children: [error && (_jsxs("div", { className: "border-destructive/30 bg-destructive/10 mb-4 flex items-center gap-3 rounded-lg border p-3", children: [_jsx(AlertTriangle, { className: "text-destructive h-5 w-5 shrink-0" }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: error }), _jsx("button", { onClick: refetch, className: "border-destructive/40 text-destructive hover:bg-destructive/15 rounded-lg border px-3 py-1 text-sm transition-colors", children: "Retry" })] })), _jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-foreground mb-1 text-2xl font-medium", children: "Script Tags" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Manage tracking codes, analytics, and custom scripts injected into your site" })] }), _jsxs("button", { type: "button", onClick: () => onNavigate?.('/script-tags/new'), className: "bg-primary text-primary-foreground hover:bg-primary/90 flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors", children: [_jsx(Plus, { className: "h-4 w-4" }), "New Tag"] })] }), tags.length === 0 && !error ? (_jsxs("div", { className: "border-border bg-card rounded-lg border p-12 text-center", children: [_jsx(Code2, { className: "text-muted-foreground mx-auto mb-3 h-10 w-10" }), _jsx("h3", { className: "text-foreground text-sm font-medium", children: "No script tags yet" }), _jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: "Add tracking codes like Google Analytics, Tag Manager, or Facebook Pixel." }), _jsxs("button", { type: "button", onClick: () => onNavigate?.('/script-tags/new'), className: "bg-primary text-primary-foreground hover:bg-primary/90 mt-4 inline-flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors", children: [_jsx(Plus, { className: "h-4 w-4" }), "Add Your First Tag"] })] })) : (_jsx("div", { className: "border-border bg-card overflow-hidden rounded-lg border", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-border bg-muted border-b", children: [_jsx("th", { className: "text-muted-foreground px-4 py-3 text-left font-medium", children: "Name" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-left font-medium", children: "Placement" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-left font-medium", children: "Scope" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-center font-medium", children: "Priority" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-center font-medium", children: "Enabled" })] }) }), _jsx("tbody", { children: tags.map((tag) => (_jsxs("tr", { className: "border-border hover:bg-muted border-b transition-colors last:border-0", children: [_jsx("td", { className: "px-4 py-3", children: _jsx("button", { type: "button", onClick: () => onNavigate?.(`/script-tags/${tag.id}`), className: "text-primary hover:text-primary/80 font-medium hover:underline", children: tag.name }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("span", { className: `inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium ${PLACEMENT_COLORS[tag.placement] ?? 'bg-muted text-foreground'}`, children: PLACEMENT_LABELS[tag.placement] ?? tag.placement }) }), _jsx("td", { className: "text-muted-foreground px-4 py-3", children: scopeLabel(tag) }), _jsx("td", { className: "text-muted-foreground px-4 py-3 text-center font-mono", children: tag.priority }), _jsx("td", { className: "px-4 py-3 text-center", children: _jsx(
|
|
75
|
+
return (_jsxs("div", { className: "p-3 pr-6 sm:p-4 sm:pr-8", children: [error && (_jsxs("div", { className: "border-destructive/30 bg-destructive/10 mb-4 flex items-center gap-3 rounded-lg border p-3", children: [_jsx(AlertTriangle, { className: "text-destructive h-5 w-5 shrink-0" }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: error }), _jsx("button", { onClick: refetch, className: "border-destructive/40 text-destructive hover:bg-destructive/15 rounded-lg border px-3 py-1 text-sm transition-colors", children: "Retry" })] })), _jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-foreground mb-1 text-2xl font-medium", children: "Script Tags" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Manage tracking codes, analytics, and custom scripts injected into your site" })] }), _jsxs("button", { type: "button", onClick: () => onNavigate?.('/script-tags/new'), className: "bg-primary text-primary-foreground hover:bg-primary/90 flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors", children: [_jsx(Plus, { className: "h-4 w-4" }), "New Tag"] })] }), tags.length === 0 && !error ? (_jsxs("div", { className: "border-border bg-card rounded-lg border p-12 text-center", children: [_jsx(Code2, { className: "text-muted-foreground mx-auto mb-3 h-10 w-10" }), _jsx("h3", { className: "text-foreground text-sm font-medium", children: "No script tags yet" }), _jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: "Add tracking codes like Google Analytics, Tag Manager, or Facebook Pixel." }), _jsxs("button", { type: "button", onClick: () => onNavigate?.('/script-tags/new'), className: "bg-primary text-primary-foreground hover:bg-primary/90 mt-4 inline-flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors", children: [_jsx(Plus, { className: "h-4 w-4" }), "Add Your First Tag"] })] })) : (_jsx("div", { className: "border-border bg-card overflow-hidden rounded-lg border", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-border bg-muted border-b", children: [_jsx("th", { className: "text-muted-foreground px-4 py-3 text-left font-medium", children: "Name" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-left font-medium", children: "Placement" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-left font-medium", children: "Scope" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-center font-medium", children: "Priority" }), _jsx("th", { className: "text-muted-foreground px-4 py-3 text-center font-medium", children: "Enabled" })] }) }), _jsx("tbody", { children: tags.map((tag) => (_jsxs("tr", { className: "border-border hover:bg-muted border-b transition-colors last:border-0", children: [_jsx("td", { className: "px-4 py-3", children: _jsx("button", { type: "button", onClick: () => onNavigate?.(`/script-tags/${tag.id}`), className: "text-primary hover:text-primary/80 font-medium hover:underline", children: tag.name }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("span", { className: `inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium ${PLACEMENT_COLORS[tag.placement] ?? 'bg-muted text-foreground'}`, children: PLACEMENT_LABELS[tag.placement] ?? tag.placement }) }), _jsx("td", { className: "text-muted-foreground px-4 py-3", children: scopeLabel(tag) }), _jsx("td", { className: "text-muted-foreground px-4 py-3 text-center font-mono", children: tag.priority }), _jsx("td", { className: "px-4 py-3 text-center", children: _jsx(EnabledSwitch, { checked: tag.enabled, disabled: togglingId === tag.id, onCheckedChange: (next) => void toggleEnabled(tag, next), "aria-label": `${tag.enabled ? 'Disable' : 'Enable'} ${tag.name}` }) })] }, tag.id))) })] }) }))] }));
|
|
55
76
|
}
|
|
56
77
|
//# sourceMappingURL=ScriptTags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptTags.js","sourceRoot":"","sources":["../../src/views/ScriptTags.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ScriptTags.js","sourceRoot":"","sources":["../../src/views/ScriptTags.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type AdminBrandingMode, type BrandAssetRole, type ColorMode, type
|
|
1
|
+
import { type AdminBrandingMode, type BrandAssetRole, type ColorMode, type ResolvedAdminBrand, type ResolvedPublicBrand, type SidebarDensity } from '@actuate-media/cms-core/appearance';
|
|
2
|
+
import { type AssetPreview } from '../../lib/appearance-api.js';
|
|
2
3
|
import type { SettingsSourceMetadata, ValidationIssue } from './useGeneralSettings.js';
|
|
3
4
|
export type SaveState = 'idle' | 'saving' | 'success' | 'error';
|
|
4
5
|
/** Theme + typography + motion form (the `appearance` settings blob). */
|
|
@@ -24,14 +25,7 @@ export interface BrandForm {
|
|
|
24
25
|
/** A brand-form field that points at a media asset, plus its asset role. */
|
|
25
26
|
export type BrandAssetField = 'publicPrimaryLogoAssetId' | 'publicLogoMarkAssetId' | 'publicDarkLogoAssetId' | 'adminPrimaryLogoAssetId' | 'adminLogoMarkAssetId' | 'adminDarkLogoAssetId' | 'faviconSourceAssetId';
|
|
26
27
|
export declare const FIELD_ROLE: Record<BrandAssetField, BrandAssetRole>;
|
|
27
|
-
export
|
|
28
|
-
id: string;
|
|
29
|
-
url: string;
|
|
30
|
-
mimeType: string;
|
|
31
|
-
width?: number;
|
|
32
|
-
height?: number;
|
|
33
|
-
shape: LogoShape;
|
|
34
|
-
}
|
|
28
|
+
export type { AssetPreview } from '../../lib/appearance-api.js';
|
|
35
29
|
/** An existing media-library asset chosen for a brand field via the picker. */
|
|
36
30
|
export interface SelectedBrandAsset {
|
|
37
31
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppearanceSettings.d.ts","sourceRoot":"","sources":["../../../src/views/settings/useAppearanceSettings.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,iBAAiB,EAEtB,KAAK,cAAc,EAEnB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"useAppearanceSettings.d.ts","sourceRoot":"","sources":["../../../src/views/settings/useAppearanceSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { classifyLogoShape, logoShapeWarning, resolveAdminBrand, resolvePublicBrand, validateAccentColor, } from '@actuate-media/cms-core/appearance';
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { useTheme } from '../../components/ThemeProvider.js';
|
|
5
|
+
import { adminBrandToCache, appearanceApiToSnapshot, parseAppearanceAssets, } from '../../lib/appearance-api.js';
|
|
5
6
|
import { cmsApi } from '../../lib/api.js';
|
|
6
7
|
import { BRAND_UPDATED_EVENT } from '../../lib/favicon.js';
|
|
7
8
|
export const FIELD_ROLE = {
|
|
@@ -92,19 +93,6 @@ async function detectShape(file) {
|
|
|
92
93
|
return 'unknown';
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
|
-
function assetToCache(brand, assets, siteTitle) {
|
|
96
|
-
const map = new Map(Object.values(assets).map((a) => [
|
|
97
|
-
a.id,
|
|
98
|
-
{ id: a.id, publicUrl: a.url, mimeType: a.mimeType, width: a.width, height: a.height },
|
|
99
|
-
]));
|
|
100
|
-
const resolved = resolveAdminBrand(brand, map, siteTitle);
|
|
101
|
-
return {
|
|
102
|
-
primaryUrl: resolved.primary?.url ?? null,
|
|
103
|
-
markUrl: resolved.mark?.url ?? null,
|
|
104
|
-
darkUrl: resolved.dark?.url ?? null,
|
|
105
|
-
initials: resolved.initials,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
96
|
export function useAppearanceSettings(canEdit, config) {
|
|
109
97
|
const { applyAppearance, setAdminBrand } = useTheme();
|
|
110
98
|
const [loading, setLoading] = useState(true);
|
|
@@ -145,7 +133,7 @@ export function useAppearanceSettings(canEdit, config) {
|
|
|
145
133
|
density: a.density,
|
|
146
134
|
font: a.font,
|
|
147
135
|
reduceMotion: a.reduceMotion,
|
|
148
|
-
adminBrand:
|
|
136
|
+
adminBrand: adminBrandToCache(b, assetMap, siteTitleRef.current),
|
|
149
137
|
});
|
|
150
138
|
}, [applyAppearance]);
|
|
151
139
|
const load = useCallback(async () => {
|
|
@@ -166,17 +154,7 @@ export function useAppearanceSettings(canEdit, config) {
|
|
|
166
154
|
reduceMotion: d.appearance.reduceMotion,
|
|
167
155
|
};
|
|
168
156
|
const nextBrand = { ...d.brand, mode: d.brand?.mode ?? 'inheritPublicBrand' };
|
|
169
|
-
const nextAssets =
|
|
170
|
-
for (const a of d.assets ?? []) {
|
|
171
|
-
nextAssets[a.id] = {
|
|
172
|
-
id: a.id,
|
|
173
|
-
url: a.publicUrl,
|
|
174
|
-
mimeType: a.mimeType,
|
|
175
|
-
width: a.width ?? undefined,
|
|
176
|
-
height: a.height ?? undefined,
|
|
177
|
-
shape: classifyLogoShape(a.width ?? undefined, a.height ?? undefined),
|
|
178
|
-
};
|
|
179
|
-
}
|
|
157
|
+
const nextAssets = parseAppearanceAssets(d.assets ?? []);
|
|
180
158
|
siteTitleRef.current = d.siteTitle ?? null;
|
|
181
159
|
setAppearance(nextAppearance);
|
|
182
160
|
setBrand(nextBrand);
|
|
@@ -184,10 +162,10 @@ export function useAppearanceSettings(canEdit, config) {
|
|
|
184
162
|
if (nextBrand.adminLogoMarkAssetId || nextBrand.publicLogoMarkAssetId)
|
|
185
163
|
setShowAdvanced(true);
|
|
186
164
|
baselineRef.current = snapshot(nextAppearance, nextBrand);
|
|
187
|
-
|
|
165
|
+
applyAppearance(appearanceApiToSnapshot(d));
|
|
188
166
|
setSaveState('idle');
|
|
189
167
|
setLoading(false);
|
|
190
|
-
}, [
|
|
168
|
+
}, [applyAppearance]);
|
|
191
169
|
useEffect(() => {
|
|
192
170
|
void load();
|
|
193
171
|
}, [load]);
|
|
@@ -362,7 +340,7 @@ export function useAppearanceSettings(canEdit, config) {
|
|
|
362
340
|
return;
|
|
363
341
|
}
|
|
364
342
|
baselineRef.current = snapshot(appearance, brand);
|
|
365
|
-
setAdminBrand(
|
|
343
|
+
setAdminBrand(adminBrandToCache(brand, assets, siteTitleRef.current));
|
|
366
344
|
// Notify live surfaces (browser-tab favicon) to refresh from the saved
|
|
367
345
|
// brand without a full reload.
|
|
368
346
|
if (typeof window !== 'undefined') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppearanceSettings.js","sourceRoot":"","sources":["../../../src/views/settings/useAppearanceSettings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useAppearanceSettings.js","sourceRoot":"","sources":["../../../src/views/settings/useAppearanceSettings.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GAUpB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GAGtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAqC1D,MAAM,CAAC,MAAM,UAAU,GAA4C;IACjE,wBAAwB,EAAE,mBAAmB;IAC7C,qBAAqB,EAAE,gBAAgB;IACvC,qBAAqB,EAAE,gBAAgB;IACvC,uBAAuB,EAAE,kBAAkB;IAC3C,oBAAoB,EAAE,eAAe;IACrC,oBAAoB,EAAE,eAAe;IACrC,oBAAoB,EAAE,eAAe;CACtC,CAAA;AAaD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,eAAe;IACf,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;CACb,CAAA;AACD,wFAAwF;AACxF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AACxE,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,OAAO;AAErC,MAAM,UAAU,GAA2B;IACzC,eAAe,EAAE,KAAK;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;CACrB,CAAA;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxD,CAAC;AAkCD,MAAM,YAAY,GAAmB;IACnC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,KAAK;CACpB,CAAA;AAED,MAAM,kBAAkB,GAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAA;AAEpE,SAAS,QAAQ,CAAC,CAAiB,EAAE,CAAY;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AACjC,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,WAAW,CAAC,IAAU;IACnC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAA;YACzF,IAAI,OAAO;gBAAE,OAAO,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;YACvF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;YACnD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACpD,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,yEAAyE;IACzE,+DAA+D;IAC/D,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;YACvB,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBACxB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;YACjE,CAAC,CAAA;YACD,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;gBACjB,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBACxB,OAAO,CAAC,SAAS,CAAC,CAAA;YACpB,CAAC,CAAA;YACD,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,MAAgC;IAEhC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,CAAA;IAErD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAiB,YAAY,CAAC,CAAA;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAY,kBAAkB,CAAC,CAAA;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA+B,EAAE,CAAC,CAAA;IACtE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,MAAM,CAAC,CAAA;IAC7D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAA;IAClF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,WAAW,GAAG,MAAM,CAAS,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IAEhD,oFAAoF;IACpF,MAAM,QAAQ,GAAI,MAAM,EAAE,KAA6C,EAAE,QAE5D,CAAA;IACb,MAAM,OAAO,GAAG,OAAO,CAAyC,GAAG,EAAE;QACnE,MAAM,GAAG,GAA2C,EAAE,CAAA;QACtD,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,GAAG;gBACX,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,0EAA0E;aACnF,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrC,GAAG,CAAC,SAAS,GAAG;gBACd,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,kFAAkF;aAC3F,CAAA;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,CAAiB,EAAE,CAAY,EAAE,QAAsC,EAAE,EAAE;QAC1E,eAAe,CAAC;YACd,KAAK,EAAE,CAAC,CAAC,SAAS;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,iBAAiB,CAAC,CAAkB,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC;SAClF,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAA;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAClC,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAwB,aAAa,CAAC,CAAA;QAC9D,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,oCAAoC,CAAC,CAAA;YAC/D,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAA;QAClB,MAAM,cAAc,GAAmB;YACrC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,qBAAqB;YAC7C,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,gBAAgB;YACrC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc;YACpC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW;YAC9B,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY;SACxC,CAAA;QACD,MAAM,SAAS,GAAc,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,oBAAoB,EAAE,CAAA;QACxF,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACxD,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,IAAI,IAAI,CAAA;QAC1C,aAAa,CAAC,cAAc,CAAC,CAAA;QAC7B,QAAQ,CAAC,SAAS,CAAC,CAAA;QACnB,SAAS,CAAC,UAAU,CAAC,CAAA;QACrB,IAAI,SAAS,CAAC,oBAAoB,IAAI,SAAS,CAAC,qBAAqB;YAAE,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5F,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QACzD,eAAe,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,IAAI,EAAE,CAAA;IACb,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,6EAA6E;IAC7E,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,IAAoB,EAAE,CAAY,EAAE,QAAsC,EAAE,EAAE;QAC7E,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,QAAQ,CAAC,CAAC,CAAC,CAAA;QACX,SAAS,CAAC,QAAQ,CAAC,CAAA;QACnB,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC7B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAY,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EACxE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IACD,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAClE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IACD,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,CAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAC3E,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IACD,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAChE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IACD,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EACzE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IACD,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,CAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAC3E,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IACD,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAC9E,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,KAAsB,EAAE,IAAU,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,KAAK,KAAK,sBAAsB,CAAA;QAClD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,YAAY,CAAC,mCAAmC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC1E,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;YAC1B,YAAY,CAAC,6BAA6B,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACzB,qEAAqE;YACrE,oEAAoE;YACpE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAkD,eAAe,EAAE;gBACzF,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YACF,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,eAAe,CAAC,CAAA;gBAC1C,OAAM;YACR,CAAC;YACD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;YACtB,MAAM,UAAU,GAAiC;gBAC/C,GAAG,MAAM;gBACT,CAAC,EAAE,CAAC,EAAE;oBACJ,EAAE;oBACF,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE;oBACvB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;oBACxC,KAAK;iBACN;aACF,CAAA;YACD,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;QAC3D,CAAC;gBAAS,CAAC;YACT,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;IACH,CAAC,EACD,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAsB,EAAE,IAAwB,EAAE,EAAE;QACnD,kEAAkE;QAClE,2DAA2D;QAC3D,MAAM,SAAS,GAAG,KAAK,KAAK,sBAAsB,CAAA;QAClD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,YAAY,CACV,0BAA0B,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,YAAY,aAAa,CAAC,OAAO,CAAC,GAAG,CACvG,CAAA;YACD,OAAM;QACR,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,UAAU,GAAiC;YAC/C,GAAG,MAAM;YACT,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACT,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;aAClD;SACF,CAAA;QACD,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;IAChE,CAAC,EACD,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAsB,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC,EACD,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CACpC,CAAA;IAED,MAAM,MAAM,GAAG,OAAO,CAAoB,GAAG,EAAE;QAC7C,MAAM,GAAG,GAAsB,EAAE,CAAA;QACjC,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,WAAW,CAAC,MAAM,IAAI,uBAAuB;gBACtD,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAA;QACJ,CAAC;QACD,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAsB,EAAE,CAAC;YACjE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,EAAE;gBAAE,SAAQ;YACjB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAA;YAC/B,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,MAAM,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;YACpD,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAC7D,CAAC;QACD,sCAAsC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAClF,IAAI,UAAU,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,WAAW;gBAClB,OAAO,EACL,2GAA2G;gBAC7G,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAE/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/B,CAAC,CAAC,EAAE;YACJ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACvF,CAAC,CACH,CAAA;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAA;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAA;QAC5C,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,KAAsB,EAAE,GAAG,EAAE,KAAK,CAAC;YAC5D,MAAM,EAAE,kBAAkB,CAAC,KAAsB,EAAE,GAAG,EAAE,KAAK,CAAC;YAC9D,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SAChE,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnB,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,WAAW,CAAC,OAAO,EACzD,CAAC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAA;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAClC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;YAAE,OAAM;QACtD,YAAY,CAAC,QAAQ,CAAC,CAAA;QACtB,YAAY,CAAC,IAAI,CAAC,CAAA;QAElB,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,OAAO,GAAG,MAAM,MAAM,CAA0B,mBAAmB,CAAC,CAAA;QAC1E,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,YAAY,GAAkB,EAAE,GAAI,KAAuB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;QACnF,MAAM,iBAAiB,GAAG;YACxB,qBAAqB,EAAE,UAAU,CAAC,SAAS;YAC3C,gBAAgB,EAAE,UAAU,CAAC,MAAM;YACnC,cAAc,EAAE,UAAU,CAAC,OAAO;YAClC,WAAW,EAAE,UAAU,CAAC,IAAI;YAC5B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,SAAS,EAAE,GAAG;SACf,CAAA;QACD,MAAM,MAAM,GAAG;YACb,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,EAAE,iBAAiB;YAC7B,KAAK,EAAE,YAAY;SACpB,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9F,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;QACD,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACjD,aAAa,CAAC,iBAAiB,CAAC,KAAsB,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;QACtF,uEAAuE;QACvE,+BAA+B;QAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,YAAY,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAE/D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAwC,CAAA;QACnF,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAChC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAEpB,OAAO;QACL,OAAO;QACP,SAAS;QACT,UAAU;QACV,KAAK;QACL,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,KAAK;QACL,SAAS;QACT,SAAS;QACT,cAAc;QACd,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,SAAS;QACT,UAAU;QACV,OAAO;QACP,eAAe;QACf,eAAe;QACf,UAAU;QACV,WAAW;QACX,WAAW;QACX,WAAW;QACX,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE;KAC1B,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuate-media/cms-admin",
|
|
3
|
-
"version": "0.63.
|
|
3
|
+
"version": "0.63.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/actuate-media/actuatecms.git",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"tailwindcss": "^4.0.0",
|
|
91
91
|
"typescript": "^5.7.0",
|
|
92
92
|
"vitest": "^4.1.0",
|
|
93
|
-
"@actuate-media/cms-core": "0.
|
|
93
|
+
"@actuate-media/cms-core": "0.85.1",
|
|
94
94
|
"@actuate-media/component-blocks": "0.2.1"
|
|
95
95
|
},
|
|
96
96
|
"scripts": {
|
package/src/AdminRoot.tsx
CHANGED
|
@@ -38,6 +38,7 @@ import { initAdminSentry } from './lib/sentry.js'
|
|
|
38
38
|
import { ThemeProvider } from './components/ThemeProvider.js'
|
|
39
39
|
import { LocaleProvider } from './components/LocaleProvider.js'
|
|
40
40
|
import { useKeyboardShortcuts } from './hooks/useKeyboardShortcuts.js'
|
|
41
|
+
import { useAppearanceBootstrap } from './hooks/useAppearanceBootstrap.js'
|
|
41
42
|
import { PageBuilder } from './views/page-builder/PageBuilder.js'
|
|
42
43
|
import { PageSectionEditor } from './views/page-editor/PageSectionEditor.js'
|
|
43
44
|
import { PagePreview } from './views/page-editor/PagePreview.js'
|
|
@@ -180,6 +181,7 @@ function AdminShell({
|
|
|
180
181
|
)
|
|
181
182
|
|
|
182
183
|
useBranding(config)
|
|
184
|
+
useAppearanceBootstrap(session)
|
|
183
185
|
useAdminPageTitle(config, currentPath)
|
|
184
186
|
|
|
185
187
|
// When the session was minted via a custom Server Action (the Next.js App
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// @vitest-environment happy-dom
|
|
2
|
+
import { renderHook, waitFor } from '@testing-library/react'
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest'
|
|
4
|
+
|
|
5
|
+
import type { AppearanceSnapshot } from '../../components/ThemeProvider.js'
|
|
6
|
+
|
|
7
|
+
const applyAppearance = vi.fn<(snapshot: AppearanceSnapshot) => void>()
|
|
8
|
+
vi.mock('../../components/ThemeProvider.js', () => ({
|
|
9
|
+
useTheme: () => ({ applyAppearance }),
|
|
10
|
+
}))
|
|
11
|
+
|
|
12
|
+
const cmsApi = vi.fn()
|
|
13
|
+
vi.mock('../../lib/api.js', () => ({ cmsApi }))
|
|
14
|
+
|
|
15
|
+
const { useAppearanceBootstrap } = await import('../../hooks/useAppearanceBootstrap.js')
|
|
16
|
+
|
|
17
|
+
describe('useAppearanceBootstrap', () => {
|
|
18
|
+
it('fetches /appearance and applies the snapshot when a session is present', async () => {
|
|
19
|
+
applyAppearance.mockClear()
|
|
20
|
+
cmsApi.mockResolvedValueOnce({
|
|
21
|
+
data: {
|
|
22
|
+
appearance: {
|
|
23
|
+
adminColorModeDefault: 'light',
|
|
24
|
+
adminAccentColor: 'purple',
|
|
25
|
+
sidebarDensity: 'default',
|
|
26
|
+
contentFont: 'DM Sans',
|
|
27
|
+
reduceMotion: false,
|
|
28
|
+
},
|
|
29
|
+
brand: {
|
|
30
|
+
mode: 'customAdminBrand',
|
|
31
|
+
adminPrimaryLogoAssetId: 'logo-1',
|
|
32
|
+
},
|
|
33
|
+
resolved: { admin: { initials: 'UP' } },
|
|
34
|
+
assets: [
|
|
35
|
+
{
|
|
36
|
+
id: 'logo-1',
|
|
37
|
+
publicUrl: 'https://cdn.example.com/logo.svg',
|
|
38
|
+
mimeType: 'image/svg+xml',
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
siteTitle: 'UpChat',
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
renderHook(() => useAppearanceBootstrap({ userId: 'user-1' }))
|
|
46
|
+
|
|
47
|
+
await waitFor(() => expect(cmsApi).toHaveBeenCalledWith('/appearance'))
|
|
48
|
+
await waitFor(() =>
|
|
49
|
+
expect(applyAppearance).toHaveBeenCalledWith(
|
|
50
|
+
expect.objectContaining({
|
|
51
|
+
adminBrand: expect.objectContaining({
|
|
52
|
+
primaryUrl: 'https://cdn.example.com/logo.svg',
|
|
53
|
+
}),
|
|
54
|
+
}),
|
|
55
|
+
),
|
|
56
|
+
)
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
it('does not fetch when there is no session', async () => {
|
|
60
|
+
applyAppearance.mockClear()
|
|
61
|
+
cmsApi.mockClear()
|
|
62
|
+
|
|
63
|
+
renderHook(() => useAppearanceBootstrap(null))
|
|
64
|
+
|
|
65
|
+
await waitFor(() => {
|
|
66
|
+
expect(cmsApi).not.toHaveBeenCalled()
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
})
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import { appearanceApiToSnapshot } from '../../lib/appearance-api.js'
|
|
4
|
+
import type { AppearanceApiResponse } from '../../lib/appearance-api.js'
|
|
5
|
+
|
|
6
|
+
describe('appearanceApiToSnapshot', () => {
|
|
7
|
+
it('maps admin logo URLs from GET /appearance into ThemeProvider adminBrand', () => {
|
|
8
|
+
const data: AppearanceApiResponse = {
|
|
9
|
+
appearance: {
|
|
10
|
+
adminColorModeDefault: 'system',
|
|
11
|
+
adminAccentColor: 'teal',
|
|
12
|
+
sidebarDensity: 'compact',
|
|
13
|
+
contentFont: 'Inter',
|
|
14
|
+
reduceMotion: true,
|
|
15
|
+
},
|
|
16
|
+
brand: {
|
|
17
|
+
mode: 'customAdminBrand',
|
|
18
|
+
adminPrimaryLogoAssetId: 'admin-logo',
|
|
19
|
+
},
|
|
20
|
+
resolved: { admin: { initials: 'UC' } },
|
|
21
|
+
assets: [
|
|
22
|
+
{
|
|
23
|
+
id: 'admin-logo',
|
|
24
|
+
publicUrl: 'https://cdn.example.com/upchat-admin.svg',
|
|
25
|
+
mimeType: 'image/svg+xml',
|
|
26
|
+
width: 320,
|
|
27
|
+
height: 80,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
siteTitle: 'UpChat',
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const snapshot = appearanceApiToSnapshot(data)
|
|
34
|
+
|
|
35
|
+
expect(snapshot.adminBrand?.primaryUrl).toBe('https://cdn.example.com/upchat-admin.svg')
|
|
36
|
+
expect(snapshot.adminBrand?.initials).toBe('UP')
|
|
37
|
+
expect(snapshot.accent).toBe('teal')
|
|
38
|
+
expect(snapshot.density).toBe('compact')
|
|
39
|
+
expect(snapshot.reduceMotion).toBe(true)
|
|
40
|
+
})
|
|
41
|
+
})
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import * as Switch from '@radix-ui/react-switch'
|
|
4
|
+
|
|
5
|
+
export interface EnabledSwitchProps {
|
|
6
|
+
checked: boolean
|
|
7
|
+
onCheckedChange: (checked: boolean) => void
|
|
8
|
+
disabled?: boolean
|
|
9
|
+
/** Accessible label — required for icon-only switches. */
|
|
10
|
+
'aria-label': string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* On/off switch with explicit green (on) and red (off) track colors so state
|
|
15
|
+
* is obvious at a glance in admin tables.
|
|
16
|
+
*/
|
|
17
|
+
export function EnabledSwitch({
|
|
18
|
+
checked,
|
|
19
|
+
onCheckedChange,
|
|
20
|
+
disabled,
|
|
21
|
+
'aria-label': ariaLabel,
|
|
22
|
+
}: EnabledSwitchProps) {
|
|
23
|
+
return (
|
|
24
|
+
<Switch.Root
|
|
25
|
+
checked={checked}
|
|
26
|
+
onCheckedChange={onCheckedChange}
|
|
27
|
+
disabled={disabled}
|
|
28
|
+
aria-label={ariaLabel}
|
|
29
|
+
className="bg-destructive data-[state=checked]:bg-success focus-visible:ring-ring relative inline-flex h-[22px] w-11 shrink-0 rounded-full transition-colors focus-visible:ring-2 focus-visible:outline-none disabled:opacity-50"
|
|
30
|
+
>
|
|
31
|
+
<Switch.Thumb className="bg-background block h-[18px] w-[18px] translate-x-0.5 rounded-full shadow-sm transition-transform data-[state=checked]:translate-x-[22px]" />
|
|
32
|
+
</Switch.Root>
|
|
33
|
+
)
|
|
34
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useEffect } from 'react'
|
|
4
|
+
|
|
5
|
+
import { useTheme } from '../components/ThemeProvider.js'
|
|
6
|
+
import { appearanceApiToSnapshot, type AppearanceApiResponse } from '../lib/appearance-api.js'
|
|
7
|
+
import { cmsApi } from '../lib/api.js'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Hydrate ThemeProvider from the DB-backed appearance settings as soon as the
|
|
11
|
+
* admin shell mounts with a session. Without this, the sidebar only picks up
|
|
12
|
+
* uploaded admin logos after visiting Settings → Appearance (which calls
|
|
13
|
+
* applyAppearance on tab load).
|
|
14
|
+
*/
|
|
15
|
+
export function useAppearanceBootstrap(session: unknown) {
|
|
16
|
+
const { applyAppearance } = useTheme()
|
|
17
|
+
const active = Boolean(session)
|
|
18
|
+
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (!active) return
|
|
21
|
+
|
|
22
|
+
let cancelled = false
|
|
23
|
+
|
|
24
|
+
const hydrate = async () => {
|
|
25
|
+
try {
|
|
26
|
+
const res = await cmsApi<AppearanceApiResponse>('/appearance')
|
|
27
|
+
if (cancelled || res.error || !res.data) return
|
|
28
|
+
applyAppearance(appearanceApiToSnapshot(res.data))
|
|
29
|
+
} catch {
|
|
30
|
+
/* keep localStorage / config fallbacks */
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
void hydrate()
|
|
35
|
+
|
|
36
|
+
return () => {
|
|
37
|
+
cancelled = true
|
|
38
|
+
}
|
|
39
|
+
}, [active, applyAppearance])
|
|
40
|
+
}
|