{"version":3,"file":"config.js","sources":["../../../src/js/config.js"],"sourcesContent":["/* eslint-disable no-var */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-extra-boolean-cast */\r\n/* -------------------------------------------------------------------------- */\r\n/* Config */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst configQueryMap = {\r\n 'navbar-vertical-collapsed': 'phoenixIsNavbarVerticalCollapsed',\r\n 'color-scheme': 'phoenixTheme',\r\n 'navigation-type': 'phoenixNavbarPosition',\r\n 'vertical-navbar-appearance': 'phoenixNavbarVerticalStyle',\r\n 'horizontal-navbar-shape': 'phoenixNavbarTopShape',\r\n 'horizontal-navbar-appearance': 'phoenixNavbarTopStyle'\r\n};\r\n\r\nconst initialConfig = {\r\n phoenixIsNavbarVerticalCollapsed: false,\r\n phoenixTheme: 'light',\r\n phoenixNavbarTopStyle: 'default',\r\n phoenixNavbarVerticalStyle: 'default',\r\n phoenixNavbarPosition: 'vertical',\r\n phoenixNavbarTopShape: 'default',\r\n phoenixIsRTL: false,\r\n phoenixSupportChat: true\r\n};\r\n\r\nconst CONFIG = { ...initialConfig };\r\n\r\nconst setConfig = (payload, persist = true) => {\r\n Object.keys(payload).forEach(key => {\r\n CONFIG[key] = payload[key];\r\n if (persist) {\r\n localStorage.setItem(key, payload[key]);\r\n }\r\n });\r\n};\r\n\r\nconst resetConfig = () => {\r\n Object.keys(initialConfig).forEach(key => {\r\n CONFIG[key] = initialConfig[key];\r\n localStorage.setItem(key, initialConfig[key]);\r\n });\r\n};\r\n\r\nconst urlSearchParams = new URLSearchParams(window.location.search);\r\nconst params = Object.fromEntries(urlSearchParams.entries());\r\n\r\nif (\r\n Object.keys(params).length > 0 &&\r\n Object.keys(params).includes('theme-control')\r\n) {\r\n resetConfig();\r\n\r\n Object.keys(params).forEach(param => {\r\n if (configQueryMap[param]) {\r\n localStorage.setItem(configQueryMap[param], params[param]);\r\n }\r\n });\r\n}\r\n\r\nObject.keys(CONFIG).forEach(key => {\r\n if (localStorage.getItem(key) === null) {\r\n localStorage.setItem(key, CONFIG[key]);\r\n } else {\r\n try {\r\n setConfig({\r\n [key]: JSON.parse(localStorage.getItem(key))\r\n });\r\n } catch {\r\n setConfig({\r\n [key]: localStorage.getItem(key)\r\n });\r\n }\r\n }\r\n});\r\n\r\nif (!!JSON.parse(localStorage.getItem('phoenixIsNavbarVerticalCollapsed'))) {\r\n document.documentElement.classList.add('navbar-vertical-collapsed');\r\n}\r\n\r\nif (localStorage.getItem('phoenixTheme') === 'dark') {\r\n document.documentElement.setAttribute('data-bs-theme', 'dark');\r\n} else if (localStorage.getItem('phoenixTheme') === 'auto') {\r\n document.documentElement.setAttribute(\r\n 'data-bs-theme',\r\n window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\r\n );\r\n}\r\n\r\nif (localStorage.getItem('phoenixNavbarPosition') === 'horizontal') {\r\n document.documentElement.setAttribute('data-navigation-type', 'horizontal');\r\n}\r\n\r\nif (localStorage.getItem('phoenixNavbarPosition') === 'combo') {\r\n document.documentElement.setAttribute('data-navigation-type', 'combo');\r\n}\r\n\r\nexport default {\r\n config: CONFIG,\r\n reset: resetConfig,\r\n set: setConfig\r\n};\r\n"],"names":["configQueryMap","initialConfig","phoenixIsNavbarVerticalCollapsed","phoenixTheme","phoenixNavbarTopStyle","phoenixNavbarVerticalStyle","phoenixNavbarPosition","phoenixNavbarTopShape","phoenixIsRTL","phoenixSupportChat","CONFIG","setConfig","payload","persist","Object","keys","forEach","key","localStorage","setItem","resetConfig","urlSearchParams","URLSearchParams","window","location","search","params","fromEntries","entries","length","includes","param","getItem","JSON","parse","document","documentElement","classList","add","setAttribute","matchMedia","matches","config","reset","set"],"mappings":"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"}