Skip to content

Commit

Permalink
Merge pull request #6 from edenia/feat/mm-mobile
Browse files Browse the repository at this point in the history
feat(webapp): test mm mobile
  • Loading branch information
AngeloCG97 committed Sep 26, 2023
2 parents 4de5847 + 491bdbd commit 1a6dc57
Show file tree
Hide file tree
Showing 4 changed files with 1,446 additions and 894 deletions.
3 changes: 3 additions & 0 deletions webapp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"@emotion/react": "^11.4.1",
"@emotion/styled": "^11.3.0",
"@ethersproject/bignumber": "^5.7.0",
"@ethersproject/providers": "^5.7.2",
"@libre-chain/libre-link": "^3.5.0",
"@libre-chain/libre-link-browser-transport": "^3.4.2",
"@metamask/sdk": "^0.5.6",
Expand All @@ -39,6 +40,8 @@
"@mui/material": "^5.0.1",
"@mui/styles": "^5.0.1",
"@mui/x-date-pickers": "^6.5.0",
"@web3-react/core": "6.1.9",
"@web3-react/injected-connector": "^6.0.7",
"anchor-link": "^3.5.1",
"anchor-link-browser-transport": "^3.5.1",
"core-js": "^3.15.2",
Expand Down
38 changes: 24 additions & 14 deletions webapp/src/App.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import React, { Suspense, useMemo } from 'react'
import CssBaseline from '@mui/material/CssBaseline'
import { ThemeProvider } from '@mui/material/styles'
import { Web3ReactProvider } from '@web3-react/core'
import { Web3Provider } from '@ethersproject/providers'
import { BrowserRouter, Route, Switch } from 'react-router-dom'
import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'
import { StylesProvider, createGenerateClassName } from '@mui/styles'
Expand All @@ -17,6 +19,12 @@ const generateClassName = createGenerateClassName({
productionPrefix: 'vmpxwebapp'
})

function getLibrary(provider) {
console.log({ provider })
const library = new Web3Provider(provider)
library.pollingInterval = 12000
return library
}
const App = () => {
const [state] = useSharedState()

Expand All @@ -39,20 +47,22 @@ const App = () => {
const theme = useMemo(() => getTheme(state.useDarkMode), [state.useDarkMode])

return (
<BrowserRouter>
<StylesProvider generateClassName={generateClassName}>
<ThemeProvider theme={theme}>
<CssBaseline />
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DashboardLayout routes={userRoutes.sidebar}>
<Suspense fallback={<Loader />}>
<Switch>{userRoutes.browser.map(renderRoute)}</Switch>
</Suspense>
</DashboardLayout>
</LocalizationProvider>
</ThemeProvider>
</StylesProvider>
</BrowserRouter>
<Web3ReactProvider getLibrary={getLibrary}>
<BrowserRouter>
<StylesProvider generateClassName={generateClassName}>
<ThemeProvider theme={theme}>
<CssBaseline />
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DashboardLayout routes={userRoutes.sidebar}>
<Suspense fallback={<Loader />}>
<Switch>{userRoutes?.browser?.map(renderRoute)}</Switch>
</Suspense>
</DashboardLayout>
</LocalizationProvider>
</ThemeProvider>
</StylesProvider>
</BrowserRouter>
</Web3ReactProvider>
)
}

Expand Down
53 changes: 53 additions & 0 deletions webapp/src/components/Vmpxswap/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import React, { useEffect } from 'react'
import Box from '@mui/material/Box'
import { makeStyles } from '@mui/styles'
import { useWeb3React } from '@web3-react/core'
import { Button, Link, Typography } from '@mui/material'
import { InjectedConnector } from '@web3-react/injected-connector'

import { blockchainConfig } from '../../config'
import { useSharedState } from '../../context/state.context'
Expand All @@ -11,10 +13,22 @@ import styles from './styles'

const useStyles = makeStyles(styles)

const injectedConnector = new InjectedConnector({
supportedChainIds: [
1, // Mainet
3, // Ropsten
4, // Rinkeby
5, // Goerli
42 // Kovan
]
})

const Vmpxswap = () => {
const [state, { setState, login, logout, showMessage }] = useSharedState()
const classes = useStyles()

const { activate, deactivate, active, error } = useWeb3React()

const setSpecificChainMetaMask = async ethereum => {
const chainId = blockchainConfig.ethChainId

Expand Down Expand Up @@ -48,10 +62,25 @@ const Vmpxswap = () => {
const { ethereum } = window

if (!ethereum) {
const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent)

if (isMobile) {
injectedConnector.isAuthorized().then(isAuthorized => {
if (isAuthorized) {
activate(injectedConnector, undefined, true).catch(error => {
console.log(error)
})
}
})

return
}

showMessage({
type: 'warning',
content: 'Asegúrate de tener MetaMask instalado.'
})

return
}

Expand All @@ -63,6 +92,7 @@ const Vmpxswap = () => {
})

const accounts = await ethereum.request({ method: 'eth_accounts' })

setState({
param: 'ethAccountAddress',
ethAccountAddress: accounts[0] || null
Expand Down Expand Up @@ -90,6 +120,19 @@ const Vmpxswap = () => {

setState({ param: 'ethAccountAddress', ethAccountAddress: account })
} else {
const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent)

if (isMobile) {
injectedConnector.isAuthorized().then(isAuthorized => {
if (isAuthorized) {
activate(injectedConnector, undefined, true).catch(error => {
console.log(error)
})
}
})

return
}
showMessage({
type: 'warning',
content: 'Make sure you have MetaMask installed!'
Expand Down Expand Up @@ -119,6 +162,16 @@ const Vmpxswap = () => {
checkIfMetaMaskIsConnected()
}, [])

// useEffect(() => {
// injectedConnector.isAuthorized().then(isAuthorized => {
// if (isAuthorized) {
// activate(injectedConnector, undefined, true).catch(error => {
// console.log(error)
// })
// }
// })
// }, [activate, active, deactivate])
console.log({ activate, deactivate, active, error })
return (
<Box
className={classes.centerContainer}
Expand Down
Loading

0 comments on commit 1a6dc57

Please sign in to comment.