vytal-redux/src/Popup/Pages/WebRtcPage/index.tsx
2022-10-03 22:09:19 -04:00

67 lines
1.8 KiB
TypeScript

import { useState, useEffect } from 'react'
import { Box, Button, Select } from 'theme-ui'
import getWebRTCData from './getWebRTCData'
import handleWebRtcPolicy from './handleWebRtcPolicy'
interface LocationPageProps {
tab: string
}
const WebRtcPage = ({ tab }: LocationPageProps) => {
const [webRtcPolicy, setWebRtcPolicy] = useState('default')
const [webRtcIp, setWebRtcIp] = useState([])
useEffect(() => {
chrome.storage.local.get(['webRtcPolicy'], (storage) => {
storage.webRtcPolicy && setWebRtcPolicy(storage.webRtcPolicy)
})
}, [])
chrome.privacy.network.webRTCIPHandlingPolicy.onChange.addListener(function (
details
) {
console.log(details)
setWebRtcPolicy(details.value)
})
return (
<Box
sx={{
display: tab === 'webRtc' ? 'block' : 'none',
}}
>
<Box sx={{ fontSize: '20px', mb: '8px' }}>WebRTC Policy</Box>
<Select
name="webRtcPolicy"
id="webRtcPolicy"
value={webRtcPolicy}
onChange={(e) => handleWebRtcPolicy(e.target.value)}
>
<option value="default">Default</option>
<option value="default_public_and_private_interfaces">
Default public and private interfaces
</option>
<option value="default_public_interface_only">
Default public interface only
</option>
<option value="disable_non_proxied_udp">Disable non proxied udp</option>
</Select>
<Box sx={{ fontSize: '12px', mb: '8px' }}>
IP: {JSON.stringify(webRtcIp)}
</Box>
<Button
onClick={() => {
getWebRTCData(setWebRtcIp)
// getWebRTCData().then((ip) => {
// console.log(ip)
// setWebRtcIp(ip)
// })
}}
>
Reload
</Button>
</Box>
)
}
export default WebRtcPage