mirror of
https://gitlab.com/wheres-the-tp/ui-mobile.git
synced 2026-01-25 09:34:56 -06:00
59 lines
2.1 KiB
JavaScript
59 lines
2.1 KiB
JavaScript
//@flow
|
|
import React, { Component } from 'react';
|
|
import { View, StatusBar, AsyncStorage } from 'react-native'; // eslint-disable-line
|
|
import { ThemeProvider } from 'react-native-material-ui';
|
|
import rxjsconfig from 'recompose/rxjsObservableConfig';
|
|
import setObservableConfig from 'recompose/setObservableConfig';
|
|
import TopToolbar from './components/TopToolbar';
|
|
import { NativeRouter, Route, Redirect, AndroidBackButton, Switch } from 'react-router-native';
|
|
import Nav from './pages/Nav';
|
|
import FoodItemDetail from './pages/FoodItemDetail';
|
|
import PlaceDetail from './pages/PlaceDetail';
|
|
import CreateFoodItem from './pages/CreateFoodItem';
|
|
import AuthManager from './AuthManager';
|
|
import LoginPage from './pages/LoginPage';
|
|
import LandingPage from './pages/LandingPage';
|
|
import ZipcodePage from './pages/ZipcodePage';
|
|
import { AppContainer } from './components/AppContainer';
|
|
|
|
import theme from './ui-theme';
|
|
|
|
setObservableConfig(rxjsconfig);
|
|
|
|
export default class App extends Component {
|
|
static displayName = 'App';
|
|
|
|
render() {
|
|
return (
|
|
<NativeRouter>
|
|
<AndroidBackButton>
|
|
<ThemeProvider uiTheme={theme}>
|
|
<AppContainer>
|
|
<StatusBar backgroundColor={theme.statusBarColor} />
|
|
<Redirect from="/" to="/landing" />
|
|
<Switch>
|
|
<Route path="/landing" component={LandingPage} />
|
|
<Route path="/list/:type" component={Nav} />
|
|
<Route path="/foodItem/:id" component={FoodItemDetail} />
|
|
<Route path="/place/:id" component={PlaceDetail} />
|
|
<Route path="/login" component={LoginPage} />
|
|
<Route path="/logout" component={LoginPage} />
|
|
<Route path="/zipcode" component={ZipcodePage} />
|
|
<Route
|
|
path="/createFoodItem"
|
|
render={props => {
|
|
if (!AuthManager.isLoggedIn()) {
|
|
const loginRoute = `/login?returnto=/createFoodItem${props.location.search}`;
|
|
return <Redirect to={loginRoute} />;
|
|
}
|
|
return <CreateFoodItem />;
|
|
}}
|
|
/>
|
|
</Switch>
|
|
</AppContainer>
|
|
</ThemeProvider>
|
|
</AndroidBackButton>
|
|
</NativeRouter>
|
|
);
|
|
}
|
|
}
|