Load use agent info from storage
This commit is contained in:
parent
d19cf53ab8
commit
813aee147f
2 changed files with 65 additions and 51 deletions
|
|
@ -6,33 +6,57 @@ import UserAgentSelect from './UserAgentSelect'
|
|||
|
||||
const LocationPage = () => {
|
||||
const [type, setType] = useState('desktop')
|
||||
const [operatingSystem, setOperatingSystem] = useState('linux')
|
||||
const [browser, setBrowser] = useState('')
|
||||
const [operatingSystem, setOperatingSystem] = useState('Windows')
|
||||
const [browser, setBrowser] = useState('Chrome')
|
||||
const [userAgent, setUserAgent] = useState('')
|
||||
|
||||
useEffect(() => {
|
||||
chrome.storage.sync.get(['type', 'userAgent'], (result) => {
|
||||
result.type && setType(result.type)
|
||||
result.userAgent && setUserAgent(result.userAgent)
|
||||
})
|
||||
chrome.storage.sync.get(
|
||||
['type', 'operatingSystem', 'browser', 'userAgent'],
|
||||
(result) => {
|
||||
result.type && setType(result.type)
|
||||
result.operatingSystem && setOperatingSystem(result.operatingSystem)
|
||||
result.browser && setBrowser(result.browser)
|
||||
result.userAgent && setUserAgent(result.userAgent)
|
||||
}
|
||||
)
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
detachDebugger()
|
||||
chrome.storage.sync.set({ userAgent })
|
||||
}, [userAgent])
|
||||
|
||||
useEffect(() => {
|
||||
type !== 'custom' &&
|
||||
setUserAgent(userAgents[type][operatingSystem][browser])
|
||||
}, [operatingSystem, browser, type])
|
||||
|
||||
const changeType = (e: any) => {
|
||||
if (e.target.value === 'mobile') {
|
||||
setOperatingSystem('Android')
|
||||
} else if (e.target.value === 'desktop') {
|
||||
setOperatingSystem('Windows')
|
||||
}
|
||||
detachDebugger()
|
||||
chrome.storage.sync.set({ type: e.target.value })
|
||||
setType(e.target.value)
|
||||
}
|
||||
|
||||
const changeOperatingSystem = (e: any) => {
|
||||
// detachDebugger()
|
||||
// chrome.storage.sync.set({ userAgent: e.target.value })
|
||||
// chrome.storage.sync.set({ type: 'custom' })
|
||||
// setUserAgent(e.target.value)
|
||||
// setType('custom')
|
||||
console.log(e.target.value)
|
||||
chrome.storage.sync.set({ operatingSystem: e.target.value })
|
||||
setOperatingSystem(e.target.value)
|
||||
}
|
||||
|
||||
const changeBrowser = (e: any) => {
|
||||
chrome.storage.sync.set({ browser: e.target.value })
|
||||
setBrowser(e.target.value)
|
||||
}
|
||||
|
||||
const changeUserAgent = (e: any) => {
|
||||
detachDebugger()
|
||||
console.log(e.target.value)
|
||||
chrome.storage.sync.set({ userAgent: e.target.value })
|
||||
chrome.storage.sync.set({ type: 'custom' })
|
||||
setUserAgent(e.target.value)
|
||||
|
|
@ -96,8 +120,8 @@ const LocationPage = () => {
|
|||
<Select
|
||||
name="browser"
|
||||
id="browser"
|
||||
// value={operatingSystem}
|
||||
// onChange={changeOperatingSystem}
|
||||
value={browser}
|
||||
onChange={changeBrowser}
|
||||
mb={'8px'}
|
||||
>
|
||||
{Object.keys(userAgents[type][operatingSystem]).map((key) => (
|
||||
|
|
@ -106,16 +130,6 @@ const LocationPage = () => {
|
|||
</option>
|
||||
))}
|
||||
</Select>
|
||||
{/* <UserAgentSelect
|
||||
title="Operating System"
|
||||
configuration={operatingSystem}
|
||||
setConfiguration={setOperatingSystem}
|
||||
/>
|
||||
<UserAgentSelect
|
||||
title="Browser"
|
||||
configuration={browser}
|
||||
setConfiguration={setBrowser}
|
||||
/> */}
|
||||
</>
|
||||
)}
|
||||
<Label htmlFor="userAgent">User Agent</Label>
|
||||
|
|
|
|||
|
|
@ -1,56 +1,56 @@
|
|||
const userAgents: any = {
|
||||
desktop: {
|
||||
windows: {
|
||||
chrome:
|
||||
Windows: {
|
||||
Chrome:
|
||||
'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',
|
||||
firefox:
|
||||
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:
|
||||
'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',
|
||||
},
|
||||
mac: {
|
||||
safari:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
Brave:
|
||||
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/80.0.3987.99 Safari/537.36',
|
||||
},
|
||||
},
|
||||
mobile: {
|
||||
android: {
|
||||
samsung:
|
||||
Android: {
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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