{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\FreqContext.js\",\n  _s = $RefreshSig$(),\n  _s2 = $RefreshSig$();\nimport React, { createContext, useState, useEffect, useContext } from 'react';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst FreqContext = /*#__PURE__*/createContext();\nexport const useFreq = () => {\n  _s();\n  return useContext(FreqContext);\n};\n_s(useFreq, \"gDsCjeeItUuvgOWf1v4qoK9RF6k=\");\nconst defaultFreqData = {\n  caliBaseline: {\n    '/i/': '',\n    '/ɪ/': '',\n    '/ɛ/': '',\n    '/æ/': '',\n    '/ɑ/': '',\n    '/ɔ/': '',\n    '/ʌ/': '',\n    '/u/': '',\n    '/ʊ/': ''\n  },\n  customFrequencies: {\n    '/i/': '',\n    '/ɪ/': '',\n    '/ɛ/': '',\n    '/æ/': '',\n    '/ɑ/': '',\n    '/ɔ/': '',\n    '/ʌ/': '',\n    '/u/': '',\n    '/ʊ/': ''\n  }\n};\nexport const FreqProvider = ({\n  children\n}) => {\n  _s2();\n  const [freqData, setFreqData] = useState(defaultFreqData);\n  const channel = new BroadcastChannel('freq_data_channel');\n  useEffect(() => {\n    const loadedCaliBaseline = localStorage.getItem('caliBaseline');\n    const loadedCustomFrequencies = localStorage.getItem('customFrequencies');\n    setFreqData({\n      caliBaseline: loadedCaliBaseline ? JSON.parse(loadedCaliBaseline) : defaultFreqData.caliBaseline,\n      customFrequencies: loadedCustomFrequencies ? JSON.parse(loadedCustomFrequencies) : defaultFreqData.customFrequencies\n    });\n  }, []);\n  useEffect(() => {\n    channel.onmessage = event => {\n      console.log('Context received updated data:', event.data);\n      setFreqData(event.data);\n    };\n    return () => {\n      channel.close();\n    };\n  }, []);\n\n  // Update the frequency data in the context and localStorage\n  const updateFreqData = (type, value) => {\n    const newData = {\n      ...freqData,\n      [type]: {\n        ...freqData[type],\n        ...value\n      }\n    };\n    localStorage.setItem('caliBaseline', JSON.stringify(newData.caliBaseline));\n    localStorage.setItem('customFrequencies', JSON.stringify(newData.customFrequencies));\n    console.log(`new data sent from context: ${newData}`);\n    try {\n      channel.postMessage(newData);\n    } catch (error) {\n      console.error('Failed to send updated data to the context:', error);\n    }\n    setFreqData(newData);\n  };\n  return /*#__PURE__*/_jsxDEV(FreqContext.Provider, {\n    value: {\n      freqData,\n      updateFreqData\n    },\n    children: children\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 65,\n    columnNumber: 9\n  }, this);\n};\n_s2(FreqProvider, \"INbFwYmVdGvlhSxKm+rzVdUpW90=\");\n_c = FreqProvider;\nvar _c;\n$RefreshReg$(_c, \"FreqProvider\");","map":{"version":3,"names":["React","createContext","useState","useEffect","useContext","jsxDEV","_jsxDEV","FreqContext","useFreq","_s","defaultFreqData","caliBaseline","customFrequencies","FreqProvider","children","_s2","freqData","setFreqData","channel","BroadcastChannel","loadedCaliBaseline","localStorage","getItem","loadedCustomFrequencies","JSON","parse","onmessage","event","console","log","data","close","updateFreqData","type","value","newData","setItem","stringify","postMessage","error","Provider","fileName","_jsxFileName","lineNumber","columnNumber","_c","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/FreqContext.js"],"sourcesContent":["import React, { createContext, useState, useEffect, useContext } from 'react';\r\n\r\nconst FreqContext = createContext();\r\n\r\nexport const useFreq = () => useContext(FreqContext);\r\n\r\nconst defaultFreqData = {\r\n    caliBaseline: {\r\n        '/i/': '', '/ɪ/': '', '/ɛ/': '', '/æ/': '', '/ɑ/': '', '/ɔ/': '', '/ʌ/': '', '/u/': '', '/ʊ/': ''\r\n    },\r\n    customFrequencies: {\r\n        '/i/': '', '/ɪ/': '', '/ɛ/': '', '/æ/': '', '/ɑ/': '', '/ɔ/': '', '/ʌ/': '', '/u/': '', '/ʊ/': ''\r\n    }\r\n};\r\n\r\n\r\nexport const FreqProvider = ({ children }) => {\r\n    const [freqData, setFreqData] = useState(defaultFreqData);\r\n    const channel = new BroadcastChannel('freq_data_channel');\r\n\r\n    useEffect(() => {\r\n        const loadedCaliBaseline = localStorage.getItem('caliBaseline');\r\n        const loadedCustomFrequencies = localStorage.getItem('customFrequencies');\r\n\r\n        setFreqData({\r\n            caliBaseline: loadedCaliBaseline ? JSON.parse(loadedCaliBaseline) : defaultFreqData.caliBaseline,\r\n            customFrequencies: loadedCustomFrequencies ? JSON.parse(loadedCustomFrequencies) : defaultFreqData.customFrequencies,\r\n        });\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        channel.onmessage = (event) => {\r\n            console.log('Context received updated data:', event.data);\r\n            setFreqData(event.data);\r\n        };\r\n    \r\n        return () => {\r\n            channel.close();\r\n        };\r\n    }, []);\r\n\r\n    // Update the frequency data in the context and localStorage\r\n    const updateFreqData = (type, value) => {\r\n        const newData = {\r\n            ...freqData,\r\n            [type]: {\r\n                ...freqData[type],\r\n                ...value\r\n            }\r\n        };\r\n\r\n        localStorage.setItem('caliBaseline', JSON.stringify(newData.caliBaseline));\r\n        localStorage.setItem('customFrequencies', JSON.stringify(newData.customFrequencies));\r\n\r\n        console.log(`new data sent from context: ${newData}`);\r\n        try {\r\n            channel.postMessage(newData);\r\n        } catch (error) {\r\n            console.error('Failed to send updated data to the context:', error);\r\n        }\r\n        setFreqData(newData);\r\n    };\r\n\r\n    return (\r\n        <FreqContext.Provider value={{ freqData, updateFreqData }}>\r\n            {children}\r\n        </FreqContext.Provider>\r\n    );\r\n};"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}