Added 'none' type for user agent
This commit is contained in:
parent
813aee147f
commit
8f59d35283
3 changed files with 72 additions and 76 deletions
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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: {
|
||||||
|
|
|
||||||
|
|
@ -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',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue