Added 'none' type for user agent

This commit is contained in:
z0ccc 2022-07-18 01:31:23 -04:00
parent 813aee147f
commit 8f59d35283
3 changed files with 72 additions and 76 deletions

View file

@ -2,10 +2,9 @@ import React, { useState, useEffect } from 'react'
import { Box, Label, Radio, Flex, Input, Select } from 'theme-ui' import { Box, Label, Radio, Flex, Input, Select } from 'theme-ui'
import userAgents from '../../utils/userAgents' import userAgents from '../../utils/userAgents'
import detachDebugger from '../../utils/detachDebugger' import detachDebugger from '../../utils/detachDebugger'
import UserAgentSelect from './UserAgentSelect'
const LocationPage = () => { const LocationPage = () => {
const [type, setType] = useState('desktop') const [type, setType] = useState('None')
const [operatingSystem, setOperatingSystem] = useState('Windows') const [operatingSystem, setOperatingSystem] = useState('Windows')
const [browser, setBrowser] = useState('Chrome') const [browser, setBrowser] = useState('Chrome')
const [userAgent, setUserAgent] = useState('') const [userAgent, setUserAgent] = useState('')
@ -28,17 +27,12 @@ const LocationPage = () => {
}, [userAgent]) }, [userAgent])
useEffect(() => { useEffect(() => {
type !== 'custom' && type === 'preloaded' && setUserAgent(userAgents[operatingSystem][browser])
setUserAgent(userAgents[type][operatingSystem][browser])
}, [operatingSystem, browser, type]) }, [operatingSystem, browser, type])
const changeType = (e: any) => { const changeType = (e: any) => {
if (e.target.value === 'mobile') {
setOperatingSystem('Android')
} else if (e.target.value === 'desktop') {
setOperatingSystem('Windows')
}
detachDebugger() detachDebugger()
e.target.value === 'none' && setUserAgent('')
chrome.storage.sync.set({ type: e.target.value }) chrome.storage.sync.set({ type: e.target.value })
setType(e.target.value) setType(e.target.value)
} }
@ -71,24 +65,30 @@ const LocationPage = () => {
}} }}
> >
<Box sx={{ fontSize: '20px', mb: '8px' }}>User Agent</Box> <Box sx={{ fontSize: '20px', mb: '8px' }}>User Agent</Box>
<Flex mt={'12px'} mb={'8px'}> <Flex
sx={{
justifyContent: 'space-between',
mt: '12px',
mb: '8px',
}}
>
<Label> <Label>
<Radio <Radio
name="type" name="type"
value="desktop" value="none"
onChange={changeType} onChange={changeType}
checked={type === 'desktop'} checked={type === 'none'}
/>{' '} />{' '}
Desktop None
</Label> </Label>
<Label> <Label>
<Radio <Radio
name="type" name="type"
value="mobile" value="preloaded"
onChange={changeType} onChange={changeType}
checked={type === 'mobile'} checked={type === 'preloaded'}
/>{' '} />{' '}
Mobile Preloaded
</Label> </Label>
<Label> <Label>
<Radio <Radio
@ -100,7 +100,7 @@ const LocationPage = () => {
Custom Custom
</Label> </Label>
</Flex> </Flex>
{(type === 'desktop' || type === 'mobile') && ( {type === 'preloaded' && (
<> <>
<Label htmlFor="operatingSystem">Operating System</Label> <Label htmlFor="operatingSystem">Operating System</Label>
<Select <Select
@ -108,9 +108,11 @@ const LocationPage = () => {
id="operatingSystem" id="operatingSystem"
value={operatingSystem} value={operatingSystem}
onChange={changeOperatingSystem} onChange={changeOperatingSystem}
defaultValue=""
mb={'8px'} mb={'8px'}
> >
{Object.keys(userAgents[type]).map((key) => ( <option sx={{ display: 'none' }}></option>
{Object.keys(userAgents).map((key) => (
<option value={key} key={key}> <option value={key} key={key}>
{key} {key}
</option> </option>
@ -122,9 +124,10 @@ const LocationPage = () => {
id="browser" id="browser"
value={browser} value={browser}
onChange={changeBrowser} onChange={changeBrowser}
defaultValue=""
mb={'8px'} mb={'8px'}
> >
{Object.keys(userAgents[type][operatingSystem]).map((key) => ( {Object.keys(userAgents[operatingSystem]).map((key) => (
<option value={key} key={key}> <option value={key} key={key}>
{key} {key}
</option> </option>

View file

@ -18,7 +18,7 @@ export const theme: Theme = {
}, },
}, },
forms: { forms: {
label: {}, label: { width: 'auto' },
input: { input: {
p: '2px 8px', p: '2px 8px',
mb: '8px', mb: '8px',
@ -36,9 +36,6 @@ export const theme: Theme = {
outline: 'none', outline: 'none',
}, },
}, },
// radio: {
// userSelect: 'none',
// },
}, },
buttons: { buttons: {
primary: { primary: {

View file

@ -1,58 +1,54 @@
const userAgents: any = { const userAgents: any = {
desktop: { Windows: {
Windows: { Chrome:
Chrome: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36', Edge: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62',
Edge: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62', Firefox:
Firefox: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0', Brave:
Brave: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/83.0.4103.116 Safari/537.36',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/83.0.4103.116 Safari/537.36',
},
Mac: {
Safari:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15',
Chrome:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
Edge: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62',
Firefox:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 12.4; rv:102.0) Gecko/20100101 Firefox/102.0',
Brave:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/83.0.4103.116 Safari/537.36',
},
Linux: {
Chrome:
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
Edge: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.44',
Firefox:
'Mozilla/5.0 (X11; Linux i686; rv:102.0) Gecko/20100101 Firefox/102.0',
Brave:
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/80.0.3987.99 Safari/537.36',
},
}, },
mobile: { Mac: {
Android: { Safari:
Samsung: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15',
'Mozilla/5.0 (Linux; Android 12; SAMSUNG SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/16.0 Chrome/92.0.4515.166 Mobile Safari/537.36', Chrome:
Chrome: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36', Edge: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Edg/103.0.1264.62',
Edge: 'Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36 EdgA/100.0.1185.50', Firefox:
Firefox: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12.4; rv:102.0) Gecko/20100101 Firefox/102.0',
'Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/102.0', Brave:
Brave: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/83.0.4103.116 Safari/537.36',
'Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Mobile Safari/537.36', },
}, Linux: {
iOS: { Chrome:
Safari: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1', Edge: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.44',
Chrome: Firefox:
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/103.0.5060.63 Mobile/15E148 Safari/604.1', 'Mozilla/5.0 (X11; Linux i686; rv:102.0) Gecko/20100101 Firefox/102.0',
Edge: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 EdgiOS/100.1185.50 Mobile/15E148 Safari/605.1.15', Brave:
Firefox: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/80.0.3987.99 Safari/537.36',
'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/102.0 Mobile/15E148 Safari/605.1.15', },
Brave: Android: {
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Brave/1.2.9 Mobile/14A5297c Safari/602.1.38', Samsung:
}, 'Mozilla/5.0 (Linux; Android 12; SAMSUNG SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/16.0 Chrome/92.0.4515.166 Mobile Safari/537.36',
Chrome:
'Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36',
Edge: 'Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36 EdgA/100.0.1185.50',
Firefox:
'Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/102.0',
Brave:
'Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Mobile Safari/537.36',
},
iOS: {
Safari:
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
Chrome:
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/103.0.5060.63 Mobile/15E148 Safari/604.1',
Edge: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 EdgiOS/100.1185.50 Mobile/15E148 Safari/605.1.15',
Firefox:
'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/102.0 Mobile/15E148 Safari/605.1.15',
Brave:
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Brave/1.2.9 Mobile/14A5297c Safari/602.1.38',
}, },
} }