mirror of
https://github.com/hanzo-labs/wallet-2.git
synced 2026-10-30 18:54:05 +00:00
103 lines
2.4 KiB
JavaScript
103 lines
2.4 KiB
JavaScript
import React from 'react'
|
|
import App, { Container } from 'next/app'
|
|
import Router from 'next/router'
|
|
import { MuiPickersUtilsProvider } from 'material-ui-pickers'
|
|
import RefProvider from 'react-referential'
|
|
import BalanceProvider from '../src/balances'
|
|
import Header from '../components/layout/header'
|
|
import Footer from '../components/layout/footer'
|
|
import Loader, { startLoading, stopLoading } from '../components/app/loader'
|
|
|
|
import MomentUtils from '@date-io/moment'
|
|
import { loadLibrary } from '../src/library'
|
|
import Api from '../src/hanzo/api'
|
|
import { HANZO_KEY, HANZO_ENDPOINT } from '../src/settings.js'
|
|
|
|
import blue from '@material-ui/core/colors/blue'
|
|
import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles'
|
|
|
|
import 'reeeset/src/reeeset.css'
|
|
import '../styles.styl'
|
|
|
|
const theme = createMuiTheme({
|
|
palette: {
|
|
type: 'dark',
|
|
primary: {
|
|
main: blue[500],
|
|
},
|
|
secondary: {
|
|
main: 'rgba(29,226,160,0.7)',
|
|
},
|
|
background: {
|
|
paper: '#272B3F',
|
|
},
|
|
},
|
|
})
|
|
|
|
export default class MyApp extends App {
|
|
static async getInitialProps({ Component, router, ctx }) {
|
|
let pageProps = {}
|
|
|
|
if (Component.getInitialProps) {
|
|
pageProps = await Component.getInitialProps(ctx)
|
|
}
|
|
|
|
return { pageProps }
|
|
}
|
|
|
|
componentDidMount() {
|
|
if (typeof window != 'undefined') {
|
|
startLoading()
|
|
|
|
let api = new Api( HANZO_KEY, HANZO_ENDPOINT )
|
|
|
|
loadLibrary(api.client).then(() => {
|
|
stopLoading()
|
|
}).catch((err) => {
|
|
console.log('library loading error', err)
|
|
stopLoading()
|
|
})
|
|
} else {
|
|
stopLoading()
|
|
}
|
|
}
|
|
|
|
render () {
|
|
const { Component, pageProps } = this.props
|
|
|
|
|
|
return pug`
|
|
Container
|
|
MuiThemeProvider(theme=theme)
|
|
MuiPickersUtilsProvider(utils=MomentUtils)
|
|
RefProvider
|
|
BalanceProvider
|
|
Header
|
|
Component
|
|
Footer
|
|
Loader
|
|
`
|
|
}
|
|
|
|
componentDidCatch (error, errorInfo) {
|
|
console.log('CUSTOM ERROR HANDLING', error)
|
|
// This is needed to render errors correctly in development / production
|
|
super.componentDidCatch(error, errorInfo)
|
|
}
|
|
}
|
|
|
|
Router.events.on('routeChangeStart', () => {
|
|
startLoading(' ')
|
|
setTimeout(() => {
|
|
stopLoading()
|
|
}, 3000)
|
|
})
|
|
|
|
Router.events.on('routeChangeComplete', () => {
|
|
stopLoading()
|
|
})
|
|
|
|
Router.events.on('routeChangeError', () => {
|
|
stopLoading()
|
|
})
|