{"ast":null,"code":"var _jsxFileName = \"/var/www/gavt/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  }, [channel]);\n  const updateFreqData = updates => {\n    setFreqData(prevState => {\n      const newState = {\n        ...prevState\n      };\n      Object.entries(updates).forEach(([type, value]) => {\n        newState[type] = {\n          ...prevState[type],\n          ...value\n        };\n        localStorage.setItem(type, JSON.stringify(newState[type]));\n      });\n      try {\n        channel.postMessage(newState);\n      } catch (error) {\n        console.error('Failed to broadcast updated data:', error);\n      }\n      return newState;\n    });\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","data","close","updateFreqData","updates","prevState","newState","Object","entries","forEach","type","value","setItem","stringify","postMessage","error","console","Provider","fileName","_jsxFileName","lineNumber","columnNumber","_c","$RefreshReg$"],"sources":["/var/www/gavt/src/gavt/FreqContext.js"],"sourcesContent":["import React, { createContext, useState, useEffect, useContext } from 'react';\n\nconst FreqContext = createContext();\n\nexport const useFreq = () => useContext(FreqContext);\n\nconst defaultFreqData = {\n    caliBaseline: {\n        '/i/': '', '/ɪ/': '', '/ɛ/': '', '/æ/': '', '/ɑ/': '', '/ɔ/': '', '/ʌ/': '', '/u/': '', '/ʊ/': ''\n    },\n    customFrequencies: {\n        '/i/': '', '/ɪ/': '', '/ɛ/': '', '/æ/': '', '/ɑ/': '', '/ɔ/': '', '/ʌ/': '', '/u/': '', '/ʊ/': ''\n    }\n};\n\n\nexport const FreqProvider = ({ children }) => {\n    const [freqData, setFreqData] = useState(defaultFreqData);\n    const channel = new BroadcastChannel('freq_data_channel');\n\n    useEffect(() => {\n        const loadedCaliBaseline = localStorage.getItem('caliBaseline');\n        const loadedCustomFrequencies = localStorage.getItem('customFrequencies');\n\n        setFreqData({\n            caliBaseline: loadedCaliBaseline ? JSON.parse(loadedCaliBaseline) : defaultFreqData.caliBaseline,\n            customFrequencies: loadedCustomFrequencies ? JSON.parse(loadedCustomFrequencies) : defaultFreqData.customFrequencies,\n        });\n    }, []);\n\n    useEffect(() => {\n        channel.onmessage = (event) => {\n            // console.log('Context received updated data:', event.data);\n            setFreqData(event.data);\n        };\n    \n        return () => {\n            channel.close();\n        };\n    }, [channel]);\n\n    const updateFreqData = (updates) => {\n        setFreqData(prevState => {\n            const newState = { ...prevState };\n    \n            Object.entries(updates).forEach(([type, value]) => {\n                newState[type] = {\n                    ...prevState[type],\n                    ...value\n                };\n                localStorage.setItem(type, JSON.stringify(newState[type]));\n            });\n    \n            try {\n                channel.postMessage(newState);\n            } catch (error) {\n                console.error('Failed to broadcast updated data:', error);\n            }\n    \n            return newState;\n        });\n    };\n\n    return (\n        <FreqContext.Provider value={{ freqData, updateFreqData }}>\n            {children}\n        </FreqContext.Provider>\n    );\n};"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}