import {
  BrowserRouter as Router,
  Switch,
  Route
} from 'react-router-dom'
import { memo } from 'react'
import { ConfigProvider } from 'antd'
import locale from 'antd/lib/locale/ru_RU'

import { PrivateRoute } from '@components/Private'
import { getUserToken } from '@utils/storage'
import { OpenAPI } from '@api'

import Main from '@pages/Main'
import Login from '@pages/Login'
import Register from '@pages/Register'

import '@styles/App.less'

//OpenAPI.BASE = 'http://localhost:3000'
OpenAPI.TOKEN = async () => getUserToken() ?? ''
OpenAPI.HEADERS = {'Content-Type': 'application/json'}

export const App = memo(() => (
    <ConfigProvider locale={locale}>
        <Router>
            <Switch>
                <Route path={'/login'}>
                    <Login />
                </Route>
                <Route path={'/register'}>
                    <Register />
                </Route>
                <PrivateRoute path={'/'}>
                    <Main />
                </PrivateRoute>
            </Switch>
        </Router>
    </ConfigProvider>
))

export default App
