all repos — caroster @ ec8b25be9fb27eea5119a512c5b62bc6166a5354

[Octree] Group carpool to your event https://caroster.io

add buttons for signin/signup and create an empty profile page
Hadrien Froger hadrien@octree.ch
Fri, 17 Jul 2020 15:40:22 +0100
commit

ec8b25be9fb27eea5119a512c5b62bc6166a5354

parent

044c74c6379c40baceb7e84a88e1940efbaf84bb

M app/src/Router.jsapp/src/Router.js

@@ -7,6 +7,7 @@ import Home from './pages/Home';

import Event from './pages/Event'; import NotFound from './pages/NotFound'; import Dashboard from './pages/Dashboard'; +import Profile from './pages/Profile'; import SignUp from './pages/SignUp'; import SignUpSuccess from './pages/SignUpSuccess'; import NotConfirmed from './pages/SignUpSuccess';

@@ -24,6 +25,7 @@ <Route path="/register" exact component={SignUp} />

<Route path="/login" exact component={SignIn} /> <Route path="/dashboard" exact component={Dashboard} /> <Route path="/confirm" exact component={NotConfirmed} /> + <Route path="/profile" exact component={Profile} /> <Route component={NotFound} /> </Switch> </BrowserRouter>
M app/src/locales/fr.jsonapp/src/locales/fr.json

@@ -43,7 +43,9 @@ "find_car": "Trouver une voiture",

"copied": "Le lien a été copié dans votre presse-papier", "add_to_my_events": "Ajouter à mes évènements", "my_events": "Mes évènements", - "logout": "Déconnecter" + "signin": "Se connecter", + "signup": "S'inscrire" + }, "errors": { "cant_create": "Impossible de créer l'événement",
M app/src/pages/Event.jsapp/src/pages/Event.js

@@ -1,4 +1,4 @@

-import React, {useState, useReducer, useEffect, useCallback} from 'react'; +import React, {useState, useReducer, useEffect} from 'react'; import {Helmet} from 'react-helmet'; import {useTranslation} from 'react-i18next'; import {useAuth} from 'strapi-react-context';

@@ -19,9 +19,11 @@ import EventFab from '../containers/EventFab';

import CarColumns from '../containers/CarColumns'; import NewCarDialog from '../containers/NewCarDialog'; import AddToMyEventDialog from '../containers/AddToMyEventDialog'; +import {useHistory} from 'react-router-dom'; const Event = () => { const {t} = useTranslation(); + const history = useHistory(); const {addToast} = useToast(); const [anchorEl, setAnchorEl] = useState(null); const [isAddToMyEvent, setIsAddToMyEvent] = useState(false);

@@ -29,7 +31,7 @@ const [detailsOpen, toggleDetails] = useReducer(i => !i, false);

const classes = useStyles({detailsOpen}); const [openNewCar, toggleNewCar] = useReducer(i => !i, false); const {event, isEditing, setIsEditing, updateEvent} = useEvent(); - const {token, logout} = useAuth(); + const {token} = useAuth(); useEffect(() => { window.scrollTo(0, 0); }, []);

@@ -64,16 +66,20 @@ return true;

} }; - const addToMyEvents = useCallback(async () => { + const addToMyEvents = () => { if (!event) return; localStorage.setItem('addToMyEvents', event.id); setIsAddToMyEvent(true); - }, [event]); + }; + const signUp = () => { + if (!event) return; + localStorage.setItem('addToMyEvents', event.id); + history.push('/register'); + }; + const signIn = history.push.bind(undefined, '/login'); + const goToDashboard = history.push.bind(undefined, '/dashboard'); + const goProfile = history.push.bind(undefined, '/profile'); - const goToDashboard = useCallback( - () => (window.location.href = '/dashboard'), - [] - ); if (!event) return <Loading />; return (

@@ -168,20 +174,20 @@ label: t('event.actions.my_events'),

onClick: goToDashboard, id: 'GoToDashboardTab', }, - { - label: t('event.actions.add_car'), - onClick: toggleNewCar, - id: 'NewCarTab', + !token && { + label: t('event.actions.signin'), + onClick: signIn, + id: 'SignInTab', }, - { - label: t('event.actions.invite'), - onClick: () => {}, - id: 'InviteTab', + !token && { + label: t('event.actions.signup'), + onClick: signUp, + id: 'SignUpTab', }, !!token && { - label: t('event.actions.logout'), - onClick: logout, - id: 'LogoutTab', + label: t('event.actions.my_profile'), + onClick: goProfile, + id: 'ProfileTab', }, ].filter(Boolean)} />
A app/src/pages/Profile.js

@@ -0,0 +1,7 @@

+import React from 'react'; + +const Profile = () => { + return <div>Profile – NOT IMPLEMENTED</div>; +}; + +export default Profile;
M app/src/pages/SignUpSuccess.jsapp/src/pages/SignUpSuccess.js

@@ -1,4 +1,4 @@

-import React, {useState} from 'react'; +import React from 'react'; import Layout from '../layouts/Centered'; import Card from '@material-ui/core/Card'; import CardMedia from '@material-ui/core/CardMedia';