@admin-layout/tailwind-design-pro 12.0.16-alpha.45 → 12.0.16-alpha.48

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.
Files changed (39) hide show
  1. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  2. package/lib/components/Layout/BasicLayout/index.js +14 -2
  3. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  4. package/lib/components/SettingDrawer/InvitationSettings.d.ts.map +1 -1
  5. package/lib/components/SettingDrawer/InvitationSettings.js +4 -2
  6. package/lib/components/SettingDrawer/InvitationSettings.js.map +1 -1
  7. package/lib/components/SettingDrawer/LayoutChange.d.ts.map +1 -1
  8. package/lib/components/SettingDrawer/LayoutChange.js +26 -14
  9. package/lib/components/SettingDrawer/LayoutChange.js.map +1 -1
  10. package/lib/components/SettingDrawer/NavigationsModes.d.ts.map +1 -1
  11. package/lib/components/SettingDrawer/NavigationsModes.js +22 -13
  12. package/lib/components/SettingDrawer/NavigationsModes.js.map +1 -1
  13. package/lib/components/SettingDrawer/RegionalSettings.d.ts.map +1 -1
  14. package/lib/components/SettingDrawer/RegionalSettings.js +78 -31
  15. package/lib/components/SettingDrawer/RegionalSettings.js.map +1 -1
  16. package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
  17. package/lib/components/SettingDrawer/SettingDrawer.js +51 -7
  18. package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
  19. package/lib/components/SettingDrawer/types.d.ts +1 -0
  20. package/lib/components/SettingDrawer/types.d.ts.map +1 -1
  21. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts.map +1 -1
  22. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js +1 -0
  23. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js.map +1 -1
  24. package/lib/config/env-config.d.ts +1 -0
  25. package/lib/config/env-config.d.ts.map +1 -1
  26. package/lib/config/env-config.js +3 -0
  27. package/lib/config/env-config.js.map +1 -1
  28. package/lib/machines/settingsMachine.d.ts.map +1 -1
  29. package/lib/machines/settingsMachine.js +65 -18
  30. package/lib/machines/settingsMachine.js.map +1 -1
  31. package/lib/machines/types.d.ts +8 -0
  32. package/lib/machines/types.d.ts.map +1 -1
  33. package/lib/utils/__tests__/configOverrides.test.d.ts +2 -0
  34. package/lib/utils/__tests__/configOverrides.test.d.ts.map +1 -0
  35. package/lib/utils/configOverrides.d.ts +213 -0
  36. package/lib/utils/configOverrides.d.ts.map +1 -0
  37. package/lib/utils/configOverrides.js +355 -0
  38. package/lib/utils/configOverrides.js.map +1 -0
  39. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAIhB,iBAAiB,EAGpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAA+C,MAAM,OAAO,CAAC;AAcpE,eAAO,MAAM,mBAAmB,GAAI;;;;CAAwD,sCAkC3F,CAAC;AAgCF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAC9B,gBAAgB,GAAG,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAqT3F,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAIhB,iBAAiB,EAGpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAA+C,MAAM,OAAO,CAAC;AAcpE,eAAO,MAAM,mBAAmB,GAAI;;;;CAAwD,sCAkC3F,CAAC;AAgCF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAC9B,gBAAgB,GAAG,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAmU3F,CAAC"}
@@ -120,6 +120,18 @@ const BasicLayout = props => {
120
120
  const deviceType = isMobile ? 'mobile' : 'desktop';
121
121
  const deviceSettings = routeSettings?.regions?.[deviceType] || {};
122
122
  const layoutSettings = routeSettings?.layout?.[deviceType] || {};
123
+ // Helper function to get override value with fallback to old structure
124
+ const getOverrideValue = path => {
125
+ // Check new override format first
126
+ const routeDeviceKey = `[${currentRoute}][${deviceType}]`;
127
+ const override = settings?.uiSettings?.overrides?.[routeDeviceKey];
128
+ if (override) {
129
+ const value = path.split('.').reduce((obj, key) => obj?.[key], override);
130
+ if (value !== undefined) return value;
131
+ }
132
+ // Fallback to old structure
133
+ return path.split('.').reduce((obj, key) => obj?.[key], deviceSettings);
134
+ };
123
135
  const backgroundSettings = deviceSettings?.background || {
124
136
  type: 'color',
125
137
  color: 'inherit',
@@ -293,12 +305,12 @@ const BasicLayout = props => {
293
305
  setSearchOptionsShown(false);
294
306
  }
295
307
  }), jsx(Outlet, {})]
296
- }), deviceSettings?.footer?.showFooter && jsx("div", {
308
+ }), getOverrideValue('footer.showFooter') && jsx("div", {
297
309
  ref: refFooter,
298
310
  className: footerFixed ? 'fixed bottom-0 w-full' : '',
299
311
  children: jsx(FooterSlot, {
300
312
  settings: settings,
301
- active: deviceSettings?.footer?.showFooter
313
+ active: getOverrideValue('footer.showFooter')
302
314
  })
303
315
  })]
304
316
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":[],"mappings":"suCAyBO,MAAM,mBAAmB,GAAG,CAAC;AAChC,EAAA,WAAM;uBAES;AACX,EAAA;;AAEI,EAAA,MAAA,KAAA,GAAA,MAAM,EAAA;AACF,EAAA,SAAA,CAAA,MAAA;oBAAmB,CAAA,OAAO,IAAA,IAAA;;mBAG1B,GAAA,CAAA,IAAA;oBACA,IAAM,CAAA,EAAA;wBACN,EAAA;AAIA;;;AAGA,QAAA,IAAA,MAAA,CAAA,OAAU,GAAC,EAAA,EAAA;qBACP,CAAA,IAAA,CAAA;;AAEJ,QAAA,IAAA,MAAA,CAAA,OAAU,GAAC,EAAA,EAAA;AACP,UAAA,WAAA,CAAA,KAAA,CAAA;;AAER,QAAA,IAAA,MAAE,CAAA,WAAA,GAAA,MAAA,CAAA,OAAA,IAAA,QAAA,CAAA,IAAA,CAAA,YAAA,EAAA;AAEF,UAAA,gBAAO,EAAA;AACP,QAAA;AACI,MAAA,CAAA;AACJ,MAAA,MAAA,CAAC,gBAAC,CAAA,QAAA,EAAA,OAAA,CAAA;aACL,MAAA;QACF,MAAI,CAAA,mBAAA,CAAA,QAAA,EAAA,OAAA,CAAA;AACP,MAAA,CAAA;AACJ,IAAE;AAEF,EAAA,CAAA,EAAA;AAQI,EAAA,OAAA,KAAQ;AACR;AACA,MAAA,sBAAwB,GAAA,CAAA,SAAQ,EAAA,KAAA,KAAA;QAC5B;AACI,IAAA;AACA,GAAA,GAAA,KAAA;AACA,EAAA,MAAA,gBAAY,gBAAA,CAAA,SAAA,CAAA;qBACd,KAAA,KAAA,EAAA;IACN,OAAC;MACD,KAAI,EAAA,KAAA,CAAA,SAAkB,EAAA;AAClB,MAAA,EAAA,EAAA,EAAA;AACA,MAAA,QAAI,EAAA;;AAEI,EAAA;qBACK,EAAA;eACP,GAAA,eAAA,CAAA,SAAA,EAAA,aAAA,CAAA,KAAA,EAAA,aAAA,CAAA;QACN,OAAC,KAAA,KAAA,QAAA,EAAA;aACD;QACH,GAAA,aAAA;AACD,QAAA;AACJ,OAAE;AAEF,IAAA;IAGI,OAAA,CAAA,OAAA,KAAA,KAAA,QAAgC,EAAA,6DAAA,CAAA;;SAGhC,aAAA;;AAEO,MAAA,WAAU,GAAA,KAAW,IAAI;;QAEhC;AACA,IAAA,QACI,EAAA;MAmBJ,iBAAO,EAAc;;QAErB,iBAAO,GAAA;AACP,IAAA,GAAA,aAAe;AACf,IAAA,GAAA;AAEA,GAAA;QAEA,CAAA,QAAA,EAAA,WAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;QACA,CAAA,SAAa,EAAE,YAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AACX,EAAA,MAAA,CAAA,WAAI,EAAA,cAAsB,CAAA,GAAA,QAAW,CAAA,KAAA,CAAA;;AAEjC,YAIA;gBACA;;;;;AAWI,IAAA,YAAA;AACJ,IAAA,eAAE;mBACL;AACL,IAAA;MAEA,iBAAA;AACA,EAAA,MAAA,CAAA,cAAkB,EAAG,iBAAU,CAAQ,GAAA,QAAQ,CAAA,KAAA,CAAA;AAC/C,EAAA,MAAA,CAAA,uBAAsB,CAAA,GAAU,QAAA,CAAA,KAAa,CAAE;QAE/C,CAAA,kBAAA,EAAA,qBAA+B,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;QAC/B;IACA;MACA,eAAM;AACN,EAAA,MAAA;AACI,IAAA;AACA,GAAA,GAAA,MAAA;AACA,EAAA,MAAA;AACA,IAAA;MACF,aAAA,EAAA;;WAGE,CAAA,MAAA;AACJ,IAAA,IAAE,kBAAA,IAAA,QAAA,EAAA;;YAGE,OAAW,GAAA,MAAA,CAAA,OAAA;;cAEX,CAAA,IAAA,CAAA,KAAgB,CAAA,QAAA,GAAA,OAAA;AACnB,MAAC,QAAC,CAAA,IAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA;MAEH,QAAM,CAAA,IAAA,CAAA,KAAe,CAAA,KACjB,GAAA,MAAA;AACI,MAAA,QAAG,CAAA,IAAA,CAAA,KAAA,CAAA,QAAiB,GAAA,QAAA;AACvB,MAAA,OACA,MACH;;QAGM,QAAQ,CAAA,IAAE,CAAA,KAAQ,CAAE,QAAQ,GAAA,EAAA;AAC5B,QAAA,QAAG,CAAA,IAAA,CAAA,KAAY,CAAA,GAAA,GAAA,EAAA;QAEnB,QAAA,CAAA,IAAA,CAAA,KACF,CAAA,KAAA,GAAA,EAAA;AAEF,QAAA,aAAgB,CAAA,KAAG,CAAA,QAAO,GAAS,EAAC;;AAIpC,QAAA,MAAQ,CAAA,QAAA,CAAA,CAAA,EAAA,OAAqB,CAAA;AACzB,MAAA,CAAA;AACI,IAAA;AACA,EAAA,CAAA,EAAA,CAAA,kBAAI,EAAA,QAAY,CAAA,CAAA;AAChB;AACH,EAAA,MAAA,YAAA,GAAA,QAAA,EAAA,QAAA,IAAA,GAAA;AACJ,EAAA,MAAE,aAAA,GAAA,QAAA,EAAA,aAAA,GAAA,YAAA,CAAA,IAAA,QAAA,EAAA,aAAA,GAAA,GAAA,CAAA,IAAA,QAAA;;AAGC,EAAA,MAAA,UAAI,GAAA,QAAW,GAAS,QAAA,GAAA,SAAiB;sBAC/B,GAAA,aAAgB,EAAA,OAAW,GAAA,UAAS,CAAA,IAAA,EAAY;sBACtD,GAAA,aAA0B,EAAA,MAAA,GAAA,UAAA,CAAA,IAAA,EAAA;QAC9B,kBAAC,GAAA,cAAA,EAAA,UAAA,IAAA;IACL,IAAI,EAAA,OAAA;IAEJ,KAAA,EAAA,SAAA;IACA,KAAA,EAAA;AAGY,EAAA,MAAA,gBAAM,GAAA,MAAA;gBACN,CAAA,aAAU,IAAQ,CAAA,aAAU,CAAA;AAC/B,EAAA,CAAA;QACL,mBAAC,GAAA,mBAAA,CAAA;IACL,WAAI;AAEJ,IAAA,qBAAa;AACb,IAAA;AACA,GAAA,CAAA;QACA,YAAO,GAAW,IAAE,CAAA;IAEpB,GAAA;AACI,GAAA,EAAA,CAAA;qBACQ,GAAA,uBAA+B;sBAAgC,EAAA,QAAe;;sBAC7E,CAAA;QACT,UAAC,GAAA,MAAA,CAAA,QAAA,CAAA;QACD,gCAA0B,EAAA,MAAc,EAAC,eAAA,IAAA,EAAA;QAE7C;AACI,IAAA;AACJ,GAAA,GAAE,kBAAA,CAAA,CAAA;IAEF,SAAM,EAAA,eAAmB;QACrB,YAAA;AACJ,IAAA,eAAE,EAAA;IAEF,CAAA;WACM,CAAA,MAAA;QACF,UAAI,CAAO,OAAG,EAAA,YAAA,KAAA,UAAA,IAAA,YAAA,KAAA,UAA0D,EAAA;YAEpE,QAAA,GAAA;qBACO,CAAA;QACX;AAEA,OAAA;AACJ,MAAE,eAAA,CAAA,QAAA,CAAA;IAEF;AACA,EAAA,CAAA,EAAA,CAAA,uBAAwB,EAAA,UAAA,CAAc;AACtC;AACA,EAAA,SAAM,CAAA,MAAA;AACN,IAAA,IAAA,iBAAqB,EAAA,QAAG;AACxB,MAAA,KAAM,CAAA,IAAA,CAAA;AACN,QAAA,IAAM,EAAA,cAAA;AACN,QAAA,oBAAuB;OAEvB,CAAA;IACA;cACO,EAAA,QAAA,EAAe,KAAA,CAAA,CAAA;AACd,EAAA,MAAA;AACI,IAAA,GAAA,EAAA,SAAE;AACF,IAAA,MAAA,EAAA;sBACD,EAAA;AACH,EAAA,MAAA;AACA,IAAA,GAAA,EAAA,OAAA;UACF;AAEN,GAAA,GAAA,gBAAM,EAAA;AACN,EAAA,MAAA;IAEA,GAAA,EAAA;AAMgB,IAAA,MAAA,EAAA;AACM,GAAA,GAAA,gBAAA,EAAA;AACH,EAAA,MAAA,CAAA,WAAA,EAAA,cAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;YACH,MAAE;AACF,IAAA,IAAA,YAAE,IAAA,UAAA,IAAA,YAAA,EAAA;oBACI,GAAA,MAAA,CAAA,WAAiB,GAAA,YAAmB,GAAA,YAAK,EAAA,cAAA,CAAA,IAAA,CAAA,CAAA,KAAA,cAAA,CAAA,KAAA,CAAA;AAC5C,IAAA;kBACD,EAAE,UAAA,EAAA,YAIX,CAAA,CAAA;AA+DW,EAAA,MAAA,cAAA,GAAA,MAAA;qCACS,CAAA;;;;AAUO,EAAA,CAAA;AACA;AACH,EAAA,MAAA,oBAAA,GAAA,MAAA;2EACJ;AACD,IAAA,IAAA,kBAAA,CAAA,IAAA,KAAA,OAAA,IAAA,kBAA6B,CAAC,KAAC,EAAA;+CAEvB;;;;AA2BxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InvitationSettings.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/InvitationSettings.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,2CA6D3E"}
1
+ {"version":3,"file":"InvitationSettings.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/InvitationSettings.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,2CAiE3E"}
@@ -12,8 +12,10 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useTranslation}from'react-i18ne
12
12
  } = useMediaQuery();
13
13
  const currentRoute = location?.pathname || '/';
14
14
  settings?.routeSettings?.[currentRoute] || settings?.routeSettings?.['/'] || settings;
15
- // Fallback to global if not found in route
16
- const invitations = settings?.organization?.members?.invitations || {};
15
+ // First check for override organization settings, then fallback to global
16
+ // The organization override is at the top level of uiSettings.overrides, not nested under bracket keys
17
+ const overrideOrganization = settings?.uiSettings?.overrides?.organization;
18
+ const invitations = overrideOrganization?.members?.invitations || settings?.organization?.members?.invitations || {};
17
19
  const handleInvitationChange = (key, value) => {
18
20
  if (!changeSetting) return;
19
21
  const newInvitations = {
@@ -1 +1 @@
1
- {"version":3,"file":"InvitationSettings.js","sources":["../../../src/components/SettingDrawer/InvitationSettings.tsx"],"sourcesContent":[null],"names":[],"mappings":"yRAMc,SAAU,kBAAkB,CAAC,KAAiC,EAAA;QACxE;IACA,QAAQ;AACR,IAAA,aAAQ;AACR,IAAA;AACA,GAAA,GAAA;QACA;IACA;MACA,cAAM,CAAW,UAAG,CAAQ;AAE5B,EAAA,MAAA;AACI,IAAA;mBAA2B,EAAA;AAC3B,EAAA,MAAA,uBAAuB,EAAA,QAAA,IAAA,GAAA;AACnB,EAAG,QAAW,EAAA,aAAA,GAAA,YAAA,CAAA,IAAA,QAAA,EAAA,aAAA,GAAA,GAAA,CAAA,IAAA;;AAIlB,EAAA,MAAA,WAAA,GAAc,QAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAoC,IAAA,EAAc;AACpE,EAAA,MAAE,sBAAA,GAAA,CAAA,GAAA,EAAA,KAAA,KAAA;AAEF,IAAA,IAAA,CAAA,aAAkB,EAAE;IAEpB,MAAA,cACI,GAAA;AAsCR,MAAC,GAAA,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"InvitationSettings.js","sources":["../../../src/components/SettingDrawer/InvitationSettings.tsx"],"sourcesContent":[null],"names":[],"mappings":"yRAMc,SAAU,kBAAkB,CAAC,KAAiC,EAAA;QACxE;IACA,QAAQ;AACR,IAAA,aAAQ;AACR,IAAA;AACA,GAAA,GAAA;QACA;IAEA;MACA,cAAA,CAAA,UAAA,CAAA;QACA;AACA,IAAA;AAGA,GAAA,GAAA;AACI,EAAA,MAAA,YAAK,GAAA,QAAa,EAAA,QAAA,IAAA,GAAA;EAAS,QAAA,EAAA,aAAA,GAAA,YAAA,CAAA,IAAA,QAAA,EAAA,aAAA,GAAA,GAAA,CAAA,IAAA;AAEvB;;4BAEF,GAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,YAAA;AAEF,EAAA,MAAA,WAAA,GAAc,oBAAA,EAAA,OAAA,EAAA,WAAoC,IAAA,QAAgB,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,IAAA,EAAA;AACtE,EAAA,MAAE,sBAAA,GAAA,CAAA,GAAA,EAAA,KAAA,KAAA;AAEF,IAAA,IAAA,CAAA,aAAkB,EAAE;IAEpB,MAAA,cACI,GAAA;AAsCR,MAAC,GAAA,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutChange.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/LayoutChange.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,2CA2GrE"}
1
+ {"version":3,"file":"LayoutChange.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/LayoutChange.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAI/C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,2CA0HrE"}
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from'react-i18next';import {Switch}from'./Switch/index.js';import'react';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../hooks/useMediaQuery.js';function LayoutChange(props) {
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useMemo}from'react';import {useTranslation}from'react-i18next';import {Switch}from'./Switch/index.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../hooks/useMediaQuery.js';import {getConfigValue,setConfigOverride}from'../../utils/configOverrides.js';function LayoutChange(props) {
2
2
  const {
3
3
  settings,
4
4
  changeSetting,
@@ -14,15 +14,27 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from're
14
14
  const {
15
15
  navTheme
16
16
  } = settings || {};
17
- const routeSettings = settings?.routeSettings?.[currentRoute] || settings?.routeSettings?.['/'] || settings;
18
17
  const deviceType = isMobile ? 'mobile' : 'desktop';
19
- const deviceLayout = routeSettings?.layout?.[deviceType] || {};
18
+ // Create context for override resolution
19
+ const context = {
20
+ route: currentRoute,
21
+ device: deviceType
22
+ };
23
+ // Get layout values using override system
24
+ const layoutValues = useMemo(() => ({
25
+ fixedHeader: getConfigValue(settings, 'layout.fixedHeader', context, true),
26
+ fixedSidebar: getConfigValue(settings, 'layout.fixedSidebar', context, true),
27
+ splitMenus: getConfigValue(settings, 'layout.splitMenus', context, false),
28
+ upperMenuDividerName: getConfigValue(settings, 'layout.upperMenuDividerName', context, 'Navigation'),
29
+ middleMenuDividerName: getConfigValue(settings, 'layout.middleMenuDividerName', context, 'Dashboard'),
30
+ lowerMenuDividerName: getConfigValue(settings, 'layout.lowerMenuDividerName', context, 'Admin')
31
+ }), [settings, currentRoute, deviceType]);
20
32
  const handleLayoutChange = (key, value) => {
21
33
  if (!changeSetting) return;
22
- changeSetting(`routeSettings.${currentRoute}.layout.${deviceType}`, {
23
- ...deviceLayout,
24
- [key]: value
25
- });
34
+ // Use setConfigOverride to get the properly formatted key
35
+ const override = setConfigOverride(`layout.${key}`, value, context);
36
+ // Send the flat key with override identifier to the backend
37
+ changeSetting(`${override.contextKey}.${override.path}`, value);
26
38
  };
27
39
  const textColor = {
28
40
  color: navTheme === 'dark' ? '#ffff' : 'black'
@@ -37,7 +49,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from're
37
49
  }), jsx("div", {
38
50
  className: "flex-grow"
39
51
  }), jsx(Switch, {
40
- value: deviceLayout.fixedHeader,
52
+ value: layoutValues.fixedHeader,
41
53
  onChange: checked => handleLayoutChange('fixedHeader', checked)
42
54
  })]
43
55
  }), jsxs("div", {
@@ -49,7 +61,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from're
49
61
  }), jsx("div", {
50
62
  className: "flex-grow"
51
63
  }), jsx(Switch, {
52
- value: deviceLayout.fixedSidebar,
64
+ value: layoutValues.fixedSidebar,
53
65
  onChange: checked => handleLayoutChange('fixedSidebar', checked)
54
66
  })]
55
67
  }), jsxs("div", {
@@ -61,10 +73,10 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from're
61
73
  }), jsx("div", {
62
74
  className: "flex-grow"
63
75
  }), jsx(Switch, {
64
- value: deviceLayout.splitMenus,
76
+ value: layoutValues.splitMenus,
65
77
  onChange: checked => handleLayoutChange('splitMenus', checked)
66
78
  })]
67
- }), deviceLayout.splitMenus && jsxs(Fragment, {
79
+ }), layoutValues.splitMenus && jsxs(Fragment, {
68
80
  children: [jsx("div", {
69
81
  className: "mt-6 mb-2",
70
82
  children: jsx("p", {
@@ -83,7 +95,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from're
83
95
  }), jsx("input", {
84
96
  type: "text",
85
97
  className: "px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:text-white",
86
- value: deviceLayout?.upperMenuDividerName,
98
+ value: layoutValues.upperMenuDividerName,
87
99
  onChange: e => {
88
100
  handleLayoutChange('upperMenuDividerName', e.target.value);
89
101
  }
@@ -97,7 +109,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from're
97
109
  }), jsx("input", {
98
110
  type: "text",
99
111
  className: "px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:text-white",
100
- value: deviceLayout?.middleMenuDividerName,
112
+ value: layoutValues.middleMenuDividerName,
101
113
  onChange: e => {
102
114
  handleLayoutChange('middleMenuDividerName', e.target.value);
103
115
  }
@@ -111,7 +123,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTranslation}from're
111
123
  }), jsx("input", {
112
124
  type: "text",
113
125
  className: "px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:text-white",
114
- value: deviceLayout?.lowerMenuDividerName,
126
+ value: layoutValues.lowerMenuDividerName,
115
127
  onChange: e => {
116
128
  handleLayoutChange('lowerMenuDividerName', e.target.value);
117
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutChange.js","sources":["../../../src/components/SettingDrawer/LayoutChange.tsx"],"sourcesContent":[null],"names":[],"mappings":"kSAMc,SAAU,YAAY,CAAC,KAAiC,EAAA;QAClE;IACA,QAAQ;AACR,IAAA,aAAQ;AACR,IAAA;AACA,GAAA,GAAA;AACA,EAAA,MAAA;IACA;MACA,cAAM,CAAA,UAAe,CAAA;AAErB,EAAA,MAAA;AACI,IAAA;mBAA2B,EAAA;AAE3B,EAAA,MAAA,YAAA,GAAc,QAAA,EAAA,QAAiB,IAAA,GAAA;AAC3B,EAAA,MAAA;;AAEH,GAAA,GAAA,QAAE,IAAA,EAAA;AACP,EAAA,MAAE,aAAA,GAAA,QAAA,EAAA,aAAA,GAAA,YAAA,CAAA,IAAA,QAAA,EAAA,aAAA,GAAA,GAAA,CAAA,IAAA,QAAA;AAEF,EAAA,MAAA,aAAe,QAAU,WAAU,GAAA,SAAa;QAEhD,YACI,GAAA,aAAA,EACI,MAAA,GAAA,UAAK,CAAA,IAAS,EAAC;6CAiDS;AACJ,IAAA,IAAA,CAAA,aAAA,EAAA;+CAYI,CAAA,QAAA,EAAA;AACJ,MAAA,GAAA,YAAA;;AAaA,KAAA,CAAA;AAQhC,EAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"LayoutChange.js","sources":["../../../src/components/SettingDrawer/LayoutChange.tsx"],"sourcesContent":[null],"names":[],"mappings":"8XAQc,SAAU,YAAY,CAAC,KAAiC,EAAA;QAClE;IACA,QAAQ;AACR,IAAA,aAAQ;AACR,IAAA;AACA,GAAA,GAAA;AACA,EAAA,MAAA;IAEA;MACA,cAAgB,CAAA,UAAS,CAAA;QAEzB;AACA,IAAA;mBAEmB,EAAE;QACb,YAAY,GAAE,QAAA,EAAA,QAAe,IAAQ;QACrC;;cAEA,IAAA,EAAA;QACA,UAAA,GAAA,QAAoB,GAAE,QAAA,GAAA,SAAe;;AAK7C,EAAA,MAAA;AACI,IAAA,KAAA,EAAA,YAAK;YAAe;;AAGpB;QAEA,YAAA,GAAA,OAAA,CAAA,OAAA;AACA,IAAA,WAAA,EAAA,cAAiB,CAAA,QAAS,EAAA,oBAA2B,EAAE,OAAQ,EAAC,IAAA,CAAA;AACpE,IAAA,YAAE,EAAA,cAAA,CAAA,QAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,IAAA,CAAA;AAEF,IAAA,0BAAyB,CAAE,QAAQ,EAAA,mBAAqB,EAAE,OAAC,OAAU,CAAA;IAErE,oBACI,EAAA,cACI,CAAA,QAAA,EAAA,sCAAuC,EAAA,YACnC,CAAA;kDAgDoB,EAAA,uCAA6C,EAAA,WAAc,CAAA;AAC/D,IAAA,oBAAA,EAAA,cAAA,CAAC,QAEH,0CACwB,OAAA;;AAUtB,EAAA,MAAA,kBAAA,GAAA,CAAA,GAAA,EAAA,KAAA,KACF;;AAYE;AAQhC,IAAC,MAAA,QAAA,GAAA,iBAAA,CAAA,CAAA,OAAA,EAAA,GAAA,CAAA,CAAA,EAAA,KAAA,EAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationsModes.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/NavigationsModes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA6F/C,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAgFlG"}
1
+ {"version":3,"file":"NavigationsModes.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/NavigationsModes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAgG/C,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAyFlG"}
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import'react';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../hooks/useMediaQuery.js';const navigationModes = [{
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useMemo}from'react';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../hooks/useMediaQuery.js';import {getConfigValue,setConfigOverride}from'../../utils/configOverrides.js';const navigationModes = [{
2
2
  key: 'sidebar',
3
3
  title: 'Sidebar',
4
4
  svg: jsxs("svg", {
@@ -312,9 +312,17 @@ function NavigationModes({
312
312
  isMobile
313
313
  } = useMediaQuery();
314
314
  const currentRoute = location?.pathname || '/';
315
- const routeSettings = settings?.routeSettings?.[currentRoute] || settings?.routeSettings?.['/'] || settings;
316
315
  const deviceType = isMobile ? 'mobile' : 'desktop';
317
- const deviceLayout = routeSettings?.layout?.[deviceType] || {};
316
+ // Create context for override resolution
317
+ const context = {
318
+ route: currentRoute,
319
+ device: deviceType
320
+ };
321
+ // Get navigation values using override system
322
+ const navigationValues = useMemo(() => ({
323
+ navigationMode: getConfigValue(settings, 'layout.navigationMode', context, 'mixed'),
324
+ sideMenuType: getConfigValue(settings, 'layout.sideMenuType', context, 'expanded')
325
+ }), [settings, currentRoute, deviceType]);
318
326
  return jsxs("div", {
319
327
  className: "space-y-8",
320
328
  children: [jsxs("section", {
@@ -325,13 +333,14 @@ function NavigationModes({
325
333
  className: "flex flex-row gap-4",
326
334
  children: navigationModes.map((mode, index) => jsx("div", {
327
335
  className: "relative cursor-pointer hover:opacity-80 transition-opacity shadow-sm dark:shadow-md rounded overflow-hidden",
328
- onClick: () => changeSetting(`routeSettings.${currentRoute}.layout.${deviceType}`, {
329
- ...deviceLayout,
330
- navigationMode: mode.key
331
- }),
336
+ onClick: () => {
337
+ // Use setConfigOverride to get the properly formatted key
338
+ const override = setConfigOverride('layout.navigationMode', mode.key, context);
339
+ changeSetting(`${override.contextKey}.${override.path}`, mode.key);
340
+ },
332
341
  children: jsxs("div", {
333
342
  className: "relative",
334
- children: [mode.svg, deviceLayout?.navigationMode === mode.key && jsx("svg", {
343
+ children: [mode.svg, navigationValues.navigationMode === mode.key && jsx("svg", {
335
344
  className: "absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-6 h-6 text-blue-500 pointer-events-none",
336
345
  viewBox: "0 0 24 24",
337
346
  fill: "currentColor",
@@ -351,15 +360,15 @@ function NavigationModes({
351
360
  children: menuTypes.map((type, index) => jsx("div", {
352
361
  className: "relative cursor-pointer hover:opacity-80 transition-opacity shadow-sm dark:shadow-md rounded overflow-hidden",
353
362
  onClick: () => {
354
- changeSetting(`routeSettings.${currentRoute}.layout.${deviceType}`, {
355
- ...deviceLayout,
356
- sideMenuType: type.key
357
- });
363
+ // Use setConfigOverride to get the properly formatted key
364
+ const override = setConfigOverride('layout.sideMenuType', type.key, context);
365
+ changeSetting(`${override.contextKey}.${override.path}`, type.key);
366
+ // Also update the global sideMenuType for compatibility
358
367
  changeSetting('sideMenuType', type.key);
359
368
  },
360
369
  children: jsxs("div", {
361
370
  className: "relative",
362
- children: [type.svg, deviceLayout?.sideMenuType === type.key && jsx("svg", {
371
+ children: [type.svg, navigationValues.sideMenuType === type.key && jsx("svg", {
363
372
  className: "absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-6 h-6 text-blue-500 pointer-events-none",
364
373
  viewBox: "0 0 24 24",
365
374
  fill: "currentColor",
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationsModes.js","sources":["../../../src/components/SettingDrawer/NavigationsModes.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"uMAIA,MAAM,eAAe,GAAG,CAAA;AACpB,EAAA,GAAA,EAAA,SAAA;AACI,EAAA,KAAA,EAAA,SAAK;AACL,EAAA,GAAA,EAAAA,IAAA,CAAK,KAAE,EAAA;AACP,IAAA,KAAA,EAAG,IACC;AAQP,IAAA,MAAA,EAAA,IAAA;AACD,IAAA,OAAA,EAAA,WAAA;AACI,IAAA,KAAA,EAAG,4BAAU;AACb,IAAA,QAAA,GAAOC,GAAA,CAAA,MAAS,EAAA;AAChB,MAAA,KAAG,EAAE,IACD;AAQP,MAAA,MAAA,EAAA,IAAA;AACD,MAAA,EAAA,EAAA,GAAA;AACI,MAAA,IAAA;AACA,KAAA,CAAA,EAAAA,GAAA,CAAK,MAAE,EAAA;SACP,GAAG;AAaN,MAAA,CAAA,EAAA,GAAA;MACH,KAAA,EAAA,IAAA;AAEF,MAAM,YAAY;AACd,MAAA,IAAA,EAAA;AACI,KAAA,CAAA,EAAAA,IAAK,MAAA,EAAA;AACL,MAAA,CAAA,EAAA,GAAA;SACA,GAAG;AAQN,MAAA,KAAA,EAAA,IAAA;AACD,MAAA,MAAA,EAAA,GAAA;AACI,MAAA,EAAA,EAAA,GAAK;AACL,MAAA,IAAA,EAAA;QACAA,GAAG,CAAE,MACD,EAAA;AAOP,MAAA,CAAA,EAAA,GAAA;AACD,MAAA,CAAA,EAAA,IAAA;AACI,MAAA,KAAG,EAAE,IAAA;AACL,MAAA,MAAA,KAAO;AACP,MAAA,EAAA,EAAA,GAAK;AAaR,MAAA,IAAA,EAAA,SAAA;MACH,OAAA,EAAA;AAEF,KAAA,CAAM,EAACA,GAAA,CAAA,MAAO,EAAA;AACV,MAAA,CAAA,EAAA,GAAQ;AACR,MAAA,CAAA,EAAA;AACA,MAAA;MACA,MAAM,EAAA,GAAA;MACN,EAAA,EAAM,GAAA;MAEN,IAAA,EACI,SAAA;AAa4B,MAAA,OAAA,EAAA;;;AAiCJ,CAAA,EAAA;AACI,EAAA,GAAA,EAAA,QAAA;;AAEH,EAAA,GAAA,EAAAD,IAAA,CAAA,KAAA,EAAA;AAED,IAAA,KAAA,EAAA,IAAA;;AAqBhC,IAAC,OAAA,EAAA,WAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NavigationsModes.js","sources":["../../../src/components/SettingDrawer/NavigationsModes.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"mSAIA,MAAM,eAAe,GAAG,CAAA;AACpB,EAAA,GAAA,EAAA,SAAA;AACI,EAAA,KAAA,EAAA,SAAK;AACL,EAAA,GAAA,EAAAA,IAAA,CAAK,KAAE,EAAA;AACP,IAAA,KAAA,EAAG,IACC;AAQP,IAAA,MAAA,EAAA,IAAA;AACD,IAAA,OAAA,EAAA,WAAA;AACI,IAAA,KAAA,EAAG,4BAAU;AACb,IAAA,QAAA,GAAOC,GAAA,CAAA,MAAS,EAAA;AAChB,MAAA,KAAG,EAAE,IACD;AAQP,MAAA,MAAA,EAAA,IAAA;AACD,MAAA,EAAA,EAAA,GAAA;AACI,MAAA,IAAA;AACA,KAAA,CAAA,EAAAA,GAAA,CAAK,MAAE,EAAA;SACP,GAAG;AAaN,MAAA,CAAA,EAAA,GAAA;MACH,KAAA,EAAA,IAAA;AAEF,MAAM,YAAY;AACd,MAAA,IAAA,EAAA;AACI,KAAA,CAAA,EAAAA,IAAK,MAAA,EAAA;AACL,MAAA,CAAA,EAAA,GAAA;SACA,GAAG;AAQN,MAAA,KAAA,EAAA,IAAA;AACD,MAAA,MAAA,EAAA,GAAA;AACI,MAAA,EAAA,EAAA,GAAK;AACL,MAAA,IAAA,EAAA;QACAA,GAAG,CAAE,MACD,EAAA;AAOP,MAAA,CAAA,EAAA,GAAA;AACD,MAAA,CAAA,EAAA,IAAA;AACI,MAAA,KAAG,EAAE,IAAA;AACL,MAAA,MAAA,KAAO;AACP,MAAA,EAAA,EAAA,GAAK;AAaR,MAAA,IAAA,EAAA,SAAA;MACH,OAAA,EAAA;AAEF,KAAA,CAAA,EAAOA,GAAE,CAAA,MAAS,EAAA;AAClB,MAAA,CAAO,EAAE,GAAA;AAET,MAAM,CAAC,EAAA,IAAA;AACH,MAAA,OAAQ,IAAA;AACR,MAAA;AACA,MAAA,EAAA,EAAM,GAAA;MAEN,IAAA,EAAA,SAAA;MACA,OAAM,EAAA;KAEN,CAAA;AACA,GAAA;;eAGQ;OACF,EACD,SAAQ;KAGb,EAAAD,IACI;;AAawB,IAAA,MAAA,EAAA,IAAA;AACA,IAAA,OAAA,EAAA,WAAA;uCACH;;AA+BG,MAAA,KAAA,EAAA,IAAA;AACA,MAAA,MAAA,EAAA,IAAA;;AAGA,MAAA,IAAA,EAAA;;AAqBhC,MAAC,CAAA,EAAA,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalSettings.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/RegionalSettings.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAKjD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,2CAgoBrE"}
1
+ {"version":3,"file":"RegionalSettings.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/RegionalSettings.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAMjD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,2CAorBrE"}
@@ -1,19 +1,17 @@
1
- import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';import {useTranslation}from'react-i18next';import {Switch}from'./Switch/index.js';import {SearchBarBehavior}from'../../machines/types.js';import {config}from'../../config/env-config.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../hooks/useMediaQuery.js';function RegionalSettings(props) {
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';import {useTranslation}from'react-i18next';import {Switch}from'./Switch/index.js';import {SearchBarBehavior}from'../../machines/types.js';import {config}from'../../config/env-config.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../hooks/useMediaQuery.js';import {getConfigValue,getNestedValue,setConfigOverride}from'../../utils/configOverrides.js';function RegionalSettings(props) {
2
2
  const {
3
3
  t
4
4
  } = useTranslation('settings');
5
5
  const {
6
6
  settings,
7
7
  changeSetting,
8
- location
8
+ location,
9
+ applyToAllRoutes = false
9
10
  } = props;
10
11
  const {
11
12
  navTheme
12
13
  } = settings || {};
13
14
  const currentRoute = location?.pathname || '/';
14
- const {
15
- regions = {}
16
- } = settings?.routeSettings?.[currentRoute] || {};
17
15
  const [isHeaderExpanded, setIsHeaderExpanded] = React.useState(false);
18
16
  const [isBackgroundExpanded, setIsBackgroundExpanded] = React.useState(true);
19
17
  const [activeBackgroundTab, setActiveBackgroundTab] = React.useState('desktop');
@@ -23,36 +21,86 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';im
23
21
  } = useMediaQuery();
24
22
  const scrollThresholdConfig = JSON.parse(config.SCROLL_THRESHOLD);
25
23
  const deviceType = isMobile ? 'mobile' : 'desktop';
26
- const handleRegionChange = (key, value) => {
24
+ // Helper to get config value with overrides applied
25
+ const getConfigValue$1 = (configKey, defaultValue, useActiveTab = true) => {
26
+ const device = useActiveTab ? activeBackgroundTab || activeHeaderTab : deviceType;
27
+ // If applyToAllRoutes is true, treat as regular settings (no overrides, no device context)
28
+ if (applyToAllRoutes) {
29
+ return getConfigValue(settings, configKey, {}, defaultValue);
30
+ }
31
+ // Otherwise, check for route-specific overrides
32
+ if (settings?.uiSettings?.overrides) {
33
+ const contextKey = `[${currentRoute}][${device}]`;
34
+ const overrideSettings = settings.uiSettings.overrides[contextKey];
35
+ if (overrideSettings) {
36
+ // Handle the uilayout wrapper in override structure
37
+ const overrideData = overrideSettings.uilayout || overrideSettings;
38
+ const value = getNestedValue(overrideData, configKey);
39
+ if (value !== undefined) {
40
+ return value;
41
+ }
42
+ }
43
+ }
44
+ // Fallback to regular settings
45
+ return getConfigValue(settings, configKey, {
46
+ route: currentRoute,
47
+ device
48
+ }, defaultValue);
49
+ };
50
+ // Helper to set config value with override
51
+ const setConfigValue = (configKey, value, useActiveTab = true) => {
27
52
  if (!changeSetting) return;
28
- changeSetting(`routeSettings.${currentRoute}.regions.${deviceType}.header`, {
29
- ...regions[deviceType]?.header,
30
- [key]: value
53
+ const device = useActiveTab ? activeBackgroundTab || activeHeaderTab : deviceType;
54
+ // If applyToAllRoutes is true, save as regular setting (no overrides, no device context)
55
+ if (applyToAllRoutes) {
56
+ changeSetting(`uilayout.${configKey}`, value);
57
+ return;
58
+ }
59
+ // Otherwise, create route-specific override
60
+ const override = setConfigOverride(configKey, value, {
61
+ route: currentRoute,
62
+ device
31
63
  });
64
+ // Pass the flat path and value to changeSetting
65
+ changeSetting(`${override.contextKey}.${override.path}`, value);
66
+ };
67
+ const handleRegionChange = (key, value) => {
68
+ setConfigValue(`regions.header.${key}`, value, false);
32
69
  };
33
70
  const handleRegionFooterChange = (key, value) => {
34
- if (!changeSetting) return;
35
- changeSetting(`routeSettings.${currentRoute}.regions.${deviceType}.footer`, {
36
- ...regions[deviceType]?.footer,
37
- [key]: value
38
- });
71
+ setConfigValue(`regions.footer.${key}`, value, false);
39
72
  };
40
73
  const handleBackgroundChange = (property, value) => {
41
- if (!changeSetting) return;
42
- changeSetting(`routeSettings.${currentRoute}.regions.${deviceType}.background`, {
43
- ...regions[deviceType].background,
44
- [property]: value
45
- });
74
+ setConfigValue(`regions.background.${property}`, value, true);
46
75
  };
47
76
  const handleHeaderChange = (element, value) => {
48
- if (!changeSetting) return;
49
- changeSetting(`routeSettings.${currentRoute}.regions.${deviceType}.header`, {
50
- ...regions[deviceType]?.header,
51
- [element]: value
52
- });
77
+ setConfigValue(`regions.header.${element}`, value, true);
53
78
  };
54
- const header = regions[deviceType]?.header;
55
- const background = regions[deviceType]?.background;
79
+ // Get current values using the override-aware getter with active header tab
80
+ const header = React.useMemo(() => ({
81
+ showLogo: getConfigValue$1('regions.header.showLogo', true, true),
82
+ showSearchSlot: getConfigValue$1('regions.header.showSearchSlot', true, true),
83
+ showRightContent: getConfigValue$1('regions.header.showRightContent', true, true),
84
+ showMenuToggle: getConfigValue$1('regions.header.showMenuToggle', true, true),
85
+ showBackButton: getConfigValue$1('regions.header.showBackButton', true, true),
86
+ showPageTitle: getConfigValue$1('regions.header.showPageTitle', true, true),
87
+ showActionButtons: getConfigValue$1('regions.header.showActionButtons', true, true),
88
+ fixedHeader: getConfigValue$1('regions.header.fixedHeader', true, true),
89
+ showHeader: getConfigValue$1('regions.header.showHeader', true, true),
90
+ showMenu: getConfigValue$1('regions.header.showMenu', true, true),
91
+ menuHeaderRender: getConfigValue$1('regions.header.menuHeaderRender', true, true),
92
+ searchBarRender: getConfigValue$1('regions.header.searchBarRender', true, true),
93
+ searchBarBehavior: getConfigValue$1('regions.header.searchBarBehavior', SearchBarBehavior.PERMANENT, true),
94
+ searchBarOverlay: getConfigValue$1('regions.header.searchBarOverlay', true, true),
95
+ scrollThreshold: getConfigValue$1('regions.header.scrollThreshold', scrollThresholdConfig.DEFAULT, true)
96
+ }), [activeHeaderTab, currentRoute, settings]);
97
+ const background = React.useMemo(() => ({
98
+ type: getConfigValue$1('regions.background.type', 'color', true),
99
+ color: getConfigValue$1('regions.background.color', 'inherit', true),
100
+ image: getConfigValue$1('regions.background.image', '', true),
101
+ video: getConfigValue$1('regions.background.video', '', true),
102
+ videoThumbnail: getConfigValue$1('regions.background.videoThumbnail', '', true)
103
+ }), [activeBackgroundTab, currentRoute, settings]);
56
104
  // Helper function to render background settings based on current active tab
57
105
  const renderBackgroundSettings = () => {
58
106
  return jsxs(Fragment, {
@@ -263,7 +311,6 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';im
263
311
  };
264
312
  // Helper function to render header settings based on current active tab
265
313
  const renderHeaderSettings = () => {
266
- const isDesktop = activeHeaderTab === 'desktop';
267
314
  return jsxs("div", {
268
315
  className: "space-y-2",
269
316
  children: [jsxs("div", {
@@ -276,7 +323,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';im
276
323
  }), jsx("div", {
277
324
  className: "flex-grow"
278
325
  }), jsx(Switch, {
279
- value: isDesktop ? regions.desktop?.header?.showHeader ?? true : regions.mobile?.header?.showHeader ?? true,
326
+ value: header?.showHeader ?? true,
280
327
  onChange: checked => handleHeaderChange('showHeader', checked)
281
328
  })]
282
329
  }), jsxs("div", {
@@ -706,7 +753,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';im
706
753
  }), jsx("div", {
707
754
  className: "flex-grow"
708
755
  }), jsx(Switch, {
709
- value: regions[deviceType]?.footer?.showFooter,
756
+ value: getConfigValue$1('regions.footer.showFooter', true),
710
757
  onChange: checked => handleRegionFooterChange('showFooter', checked)
711
758
  })]
712
759
  }), jsxs("div", {
@@ -719,7 +766,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';im
719
766
  }), jsx("div", {
720
767
  className: "flex-grow"
721
768
  }), jsx(Switch, {
722
- value: regions[deviceType]?.header?.showMenu,
769
+ value: getConfigValue$1('regions.header.showMenu', true),
723
770
  onChange: checked => handleRegionChange('showMenu', checked)
724
771
  })]
725
772
  }), jsxs("div", {
@@ -732,7 +779,7 @@ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as React from'react';im
732
779
  }), jsx("div", {
733
780
  className: "flex-grow"
734
781
  }), jsx(Switch, {
735
- value: regions[deviceType]?.header?.menuHeaderRender,
782
+ value: getConfigValue$1('regions.header.menuHeaderRender', true),
736
783
  onChange: checked => handleRegionChange('menuHeaderRender', checked)
737
784
  })]
738
785
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalSettings.js","sources":["../../../src/components/SettingDrawer/RegionalSettings.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":"wZAQc,SAAU,gBAAgB,CAAC,KAA6B,EAAA;QAClE;IACA;AACA,GAAA,GAAA,cAAgB,CAAA,UAAK,CAAA;AACrB,EAAA,MAAA;AACA,IAAA,QAAQ;AACR,IAAA,aAAO;AACP,IAAA;AACA,GAAA,GAAA,KAAO;AACP,EAAA,MAAA;AACA,IAAA;MACA,QAAM,IAAA,EAAA;QACN,YAAgB,GAAG,QAAQ,EAAE,QAAC,IAAW,GAAA;AAEzC,EAAA,MAAA;AACI,IAAA,OAAA,GAAK;cAAe,EAAA,aAAO,GAAA,YAAA,CAAA,IAAA,EAAA;AAE3B,EAAA,MAAA,CAAA,gBAAc,EAAA,mBAAiB,CAAA,GAAA,KAAY,CAAA,QAAY,CAAA,KAAA,CAAA;AACnD,EAAA,MAAA,CAAA,oBAAW,EAAA,uBAAmB,CAAA,GAAA,KAAA,CAAA,QAAA,CAAA,IAAA,CAAA;4BAClB,EAAA,sBAAA,CAAA,GAAA,KAAA,CAAA,QAAA,CAAA,SAAA,CAAA;AACf,EAAA,MAAA,CAAA,eAAE,EAAA,kBAAA,CAAA,GAAA,KAAA,CAAA,QAAA,CAAA,SAAA,CAAA;AACP,EAAA,MAAE;AAEF,IAAA;AACI,GAAA,GAAA,aAAK,EAAA;6BAAsB,GAAA,IAAA,CAAA,KAAA,CAAA,MAAA,CAAA,gBAAA,CAAA;AAE3B,EAAA,MAAA,UAAA,GAAa,QAAC,GAAA,QAAiB,GAAA,SAAY;AACvC,EAAA,MAAA,kBAAW,GAAA,CAAA,GAAU,OAAG,KAAM;sBACvB,EAAK;AACf,IAAA,aAAE,CAAA,CAAA,cAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,CAAA,OAAA,CAAA,EAAA;AACP,MAAE,GAAA,OAAA,CAAA,UAAA,CAAA,EAAA,MAAA;AAEF,MAAA,CAAA,GAAM;AACF,KAAA,CAAA;;AAEA,EAAA,MAAA,wBAAc,GAAA,CAAA,GAAiB,EAAA,KAAA,KAAY;AACvC,IAAA,IAAA,CAAA,aAAU,EAAC;iBACV,CAAA,CAAA,cAAgB,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,CAAA,OAAA,CAAA,EAAA;AACpB,MAAA,GAAA,OAAE,CAAA,UAAA,CAAA,EAAA,MAAA;AACP,MAAE,CAAA,GAAA,GAAA;AAEF,KAAA,CAAA;AACI,EAAA,CAAA;8BAA2B,GAAA,CAAA,QAAA,EAAA,KAAA,KAAA;AAE3B,IAAA,IAAA,CAAA,aAAc,EAAA;AACV,IAAA,aAAG,CAAA,CAAA,cAAkB,cAAS,CAAA,SAAA,EAAA,UAAA,CAAA,WAAA,CAAA,EAAA;gBAC7B,CAAA,UAAU,CAAK,CAAA,UAAA;AACnB,MAAA,CAAA,QAAE,GAAA;AACP,KAAC,CAAC;;QAGF,kBAAmB,GAAA,CAAO,cAAc;IAExC,IAAA,CAAA,aAAA,EAAA;IACA,aAAM,CAAA,CAAA,cAAA,EAAwB,YAAQ,CAAA,SAAA,EAAA,UAAA,CAAA,OAAA,CAAA,EAAA;SAClC,OACI;AASwB,MAAA,CAAA,OAAA,GAAA;;AA0BA,EAAA,CAAA;4CACE;AA0BF,EAAA,MAAA,UAAA,GAAA,OAAA,CAAA,UAAA,CAAA,EAAE,UAAA;AACF;AAkCA,EAAA,MAAA,wBAAA,GAAA,MAAA;AAEH,IAAA,OAAAA,IAAA,CAAAC,QAAA,EAAA;;;;uCAgBD;;gCAEA,MAAA,GAAS,OAAA,GAAA;;uCAET;;AAMY,UAAA,SAAA,EAAA,iGAA4B;AAC5B,UAAA,QAAA,EAAA,CAAAD,IAAA,CAAA,QAAA,EAAC;AA8BL,YAAA,SAAA,EAAA,CAAA,qGAA4C,EAAA,UAAA,EAAA,IAAA,KAAA,OAAA,GAAA,wBAAA,GAAA,0CAAA,CAAA,CAAA;AAC5C,YAAA,OAAA,EAAA,MAAA,sBAAU,CAAA,MAAA,EAAA,OAAA,CAAA;AACN,YAAA,QAAA,EAAA,CAAAE,GAAA,CAAA,MAAA,EAAA;;AAwCA,cAAA,QAAA,EAAAF,IAAA,CAAA,KAAA,EAAA;AACA,gBAAA,KAAA,EAAA,4BAAU;AACN,gBAAA,KAAA,EAAA,IAAA;;AAU5C,gBAAE,OAAA,EAAA,WAAA;gBAEF,IAAA,EAAA,MAAA;gBACM,MAAA,EAAA,cAA4B;AAC9B,gBAAM,WAAY,EAAA,GAAA;gBAGd,eAAK,OAAA;gCAOe;AACA,gBAAA,QAAA,EAAA,CAAAE,GAAA,CAAA,QAAE,EAAQ;AAoEtC,kBAAE,EAAA,EAAA,IAAA;kBAEF,EAAA,EAAA,IAAA;kBACM,CAAA,EAAA;AACF,iBACI,CAAA,EAAAA,GAAA,CAAA,MAAK,EAAA;AAwDb,kBAAE,CAAA,EAAA;AAEF,iBACI,CAAA;AAkCoC,eAAA;AACA,aAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA;AA2BA,WAAA,CAAA,EAAAF,IAAA,CAAA,QAAA,EAAA;AACA,YAAA,SAAA,EAAA,CAAA,qGAEO,EAAA,UAAuB,EAAA,IAAA,KAAS,OAAA,GAE/C,wBAAM,GAAU,0CAAkC,CAAA,CAAA;AA8D1C,YAAA,OAAA,EAAA,MAAA,sBAAA,CAAA,MAAE,EAAA,OAAA,CAAA;AACF,YAAA,QAAA,EAAA,CAAAE,GAAA,CAAA,MAAA,EAAA;AA2BA,cAAA,SAAA,EAAA,MAAA;AACA,cAAA,QAAA,EAAAF,IAAA,CAAA,KAAA,EAAA;AAqE5C,gBAAC,KAAA,EAAA,4BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"RegionalSettings.js","sources":["../../../src/components/SettingDrawer/RegionalSettings.tsx"],"sourcesContent":[null],"names":["getConfigValueUtil","getConfigValue","_jsxs","_jsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SettingDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/SettingDrawer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,EAAsB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAuTjE,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,GAAG,GAAG,CA0W5D,CAAC"}
1
+ {"version":3,"file":"SettingDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/SettingDrawer/SettingDrawer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,EAAsB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAuTjE,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,GAAG,GAAG,CA4Z5D,CAAC"}
@@ -362,18 +362,34 @@ const SettingDrawer = props => {
362
362
  const handleSaveSettings = async () => {
363
363
  if (!isBrowser()) return;
364
364
  try {
365
- // Use the changedSettings tracked by XState
366
- const modifiedSettings = settingState.changedSettings || {};
365
+ // Get overrides from uiSettings.overrides (already in bracket pattern format)
366
+ const overrideSettings = settingState.uiSettings?.overrides || {};
367
+ // Get regular settings from changedSettings (filter out route paths)
368
+ const regularSettings = {};
369
+ Object.keys(settingState.changedSettings || {}).forEach(key => {
370
+ // Only include non-route settings (don't include keys that start with '/')
371
+ if (!key.startsWith('/')) {
372
+ regularSettings[key] = settingState.changedSettings[key];
373
+ }
374
+ });
375
+ // DEBUG: Log what we're processing
376
+ console.log('DEBUG: regularSettings:', Object.keys(regularSettings));
377
+ console.log('DEBUG: overrideSettings:', Object.keys(overrideSettings));
367
378
  // If there are no changes, don't save
368
- if (Object.keys(modifiedSettings).length === 0) {
379
+ if (Object.keys(regularSettings).length === 0 && Object.keys(overrideSettings).length === 0) {
369
380
  console.log('No changes to save');
370
381
  return;
371
382
  }
372
- const response = await writeSettingsMutation({
373
- variables: {
374
- editingUri: resource,
375
- settings: modifiedSettings
383
+ // Prepare mutation variables - put bracket pattern keys directly in settings
384
+ const variables = {
385
+ editingUri: resource,
386
+ settings: {
387
+ ...regularSettings,
388
+ ...overrideSettings // Bracket pattern keys like '[/dashboard][mobile]'
376
389
  }
390
+ };
391
+ const response = await writeSettingsMutation({
392
+ variables
377
393
  });
378
394
  if (response.data) {
379
395
  console.log('Settings saved successfully');
@@ -508,6 +524,33 @@ const SettingDrawer = props => {
508
524
  location: location
509
525
  })
510
526
  })]
527
+ }), jsxs("div", {
528
+ className: "mt-8 pb-8 border-b border-black dark:border-[#2a2b2a]",
529
+ children: [jsx("p", {
530
+ className: "mb-4 text-black dark:text-white font-medium",
531
+ children: "Route Settings"
532
+ }), jsxs("div", {
533
+ className: "flex items-center justify-between",
534
+ children: [jsxs("div", {
535
+ children: [jsx("p", {
536
+ className: "text-sm text-black dark:text-white font-medium",
537
+ children: "Apply to All Routes"
538
+ }), jsx("p", {
539
+ className: "text-xs text-gray-600 dark:text-gray-400",
540
+ children: "When enabled, route-specific settings will apply to all routes instead of just the current route"
541
+ })]
542
+ }), jsxs("label", {
543
+ className: "relative inline-flex items-center cursor-pointer",
544
+ children: [jsx("input", {
545
+ type: "checkbox",
546
+ className: "sr-only peer",
547
+ checked: settingState.applyToAllRoutes || false,
548
+ onChange: e => handleSettingChange('applyToAllRoutes', e.target.checked)
549
+ }), jsx("div", {
550
+ className: "w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"
551
+ })]
552
+ })]
553
+ })]
511
554
  }), jsxs("div", {
512
555
  className: "mt-8 pb-8 border-b border-black dark:border-[#2a2b2a]",
513
556
  children: [jsx("p", {
@@ -516,6 +559,7 @@ const SettingDrawer = props => {
516
559
  }), jsx(RegionalSettings, {
517
560
  settings: settingState,
518
561
  changeSetting: handleSettingChange,
562
+ applyToAllRoutes: settingState.applyToAllRoutes || false,
519
563
  ...props
520
564
  })]
521
565
  }), jsx("div", {