add after log in
This commit is contained in:
parent
80db290d4d
commit
f8f8ef9327
|
@ -1,9 +1,12 @@
|
||||||
import React from 'react';
|
import React, {useContext} from 'react';
|
||||||
import { BrowserRouter, Route, NavLink, Switch,withRouter } from 'react-router-dom';
|
import { useHistory,BrowserRouter, Route, NavLink, Switch,withRouter } from 'react-router-dom';
|
||||||
import Register from './Register';
|
import Register from './Register';
|
||||||
import Login from './Login';
|
import Login from './Login';
|
||||||
import Footer from './Footer';
|
import Footer from './Footer';
|
||||||
import styled, {css} from 'styled-components';
|
import styled, {css} from 'styled-components';
|
||||||
|
import {Button} from './miscellaneous/Styles';
|
||||||
|
import UserContext from "../context/UserContext";
|
||||||
|
import {logout} from "./NavBar"
|
||||||
|
|
||||||
const BaseApp = styled.div`
|
const BaseApp = styled.div`
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -66,7 +69,8 @@ const TextContainer = styled.p`
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const BannerText = styled.p`
|
const BannerText = styled.p`
|
||||||
color:white;
|
|
||||||
|
color:${props => props.colour ? props.colour : "white"};
|
||||||
font-size: 1.25em;
|
font-size: 1.25em;
|
||||||
font-style:italic;
|
font-style:italic;
|
||||||
|
|
||||||
|
@ -137,8 +141,9 @@ const FormTitle = styled.div`
|
||||||
|
|
||||||
`;
|
`;
|
||||||
const LogInContainer = (props) => {
|
const LogInContainer = (props) => {
|
||||||
|
const { userData, setUserData } = useContext(UserContext);
|
||||||
|
const history = useHistory();
|
||||||
return (
|
return (
|
||||||
<BrowserRouter basename="user">
|
|
||||||
<BaseApp>
|
<BaseApp>
|
||||||
<AppSide>
|
<AppSide>
|
||||||
<PlaneContainer>
|
<PlaneContainer>
|
||||||
|
@ -154,6 +159,8 @@ const LogInContainer = (props) => {
|
||||||
</SkyContainer>
|
</SkyContainer>
|
||||||
</AppSide>
|
</AppSide>
|
||||||
<AppForm>
|
<AppForm>
|
||||||
|
{!userData.user ? (
|
||||||
|
<BrowserRouter basename="user">
|
||||||
<PageSwitcherContainer>
|
<PageSwitcherContainer>
|
||||||
<PageSwitcher to="/login" >Sign In</PageSwitcher>
|
<PageSwitcher to="/login" >Sign In</PageSwitcher>
|
||||||
<PageSwitcher to="/register" >Sign Up</PageSwitcher>
|
<PageSwitcher to="/register" >Sign Up</PageSwitcher>
|
||||||
|
@ -165,15 +172,44 @@ const LogInContainer = (props) => {
|
||||||
<Route path="/register" component={Register} />
|
<Route path="/register" component={Register} />
|
||||||
<Route path="/login" component={Login} />
|
<Route path="/login" component={Login} />
|
||||||
</Switch>
|
</Switch>
|
||||||
<p>
|
</BrowserRouter>
|
||||||
|
) : (
|
||||||
|
|
||||||
|
<React.Fragment>
|
||||||
|
<BannerText colour="black">Log in successful.</BannerText>
|
||||||
|
<Button
|
||||||
|
type="submit"
|
||||||
|
radiuscolor="#009578"
|
||||||
|
textcolor="#009578"
|
||||||
|
hovercolor="#009578"
|
||||||
|
hovertextcolor="white"
|
||||||
|
onClick={() => { history.push("/")}}
|
||||||
|
|
||||||
|
>home</Button>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
type="submit"
|
||||||
|
radiuscolor="#009578"
|
||||||
|
textcolor="#009578"
|
||||||
|
hovercolor="#009578"
|
||||||
|
hovertextcolor="white"
|
||||||
|
onClick={() => {logout(setUserData); history.push("/")}}
|
||||||
|
|
||||||
|
>Logout</Button>
|
||||||
|
|
||||||
|
</React.Fragment>
|
||||||
|
|
||||||
</p>
|
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</AppForm>
|
</AppForm>
|
||||||
|
|
||||||
</BaseApp>
|
</BaseApp>
|
||||||
<Footer background="blue"/>
|
|
||||||
</BrowserRouter>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -89,18 +89,17 @@ const Linker = styled(Link)`
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
export const logout = (setUserData) => {
|
||||||
export default function NavBar() {
|
|
||||||
const { userData, setUserData } = useContext(UserContext);
|
|
||||||
const [scrolled, setScrolled] = useState();
|
|
||||||
const logout = () => {
|
|
||||||
setUserData({
|
setUserData({
|
||||||
token: undefined,
|
token: undefined,
|
||||||
user: undefined,
|
user: undefined,
|
||||||
});
|
});
|
||||||
localStorage.setItem("auth-token", "");
|
localStorage.setItem("auth-token", "");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export default function NavBar() {
|
||||||
|
const [scrolled, setScrolled] = useState();
|
||||||
|
const { userData, setUserData } = useContext(UserContext);
|
||||||
|
|
||||||
const handleScroll=() => {
|
const handleScroll=() => {
|
||||||
const offset=window.scrollY;
|
const offset=window.scrollY;
|
||||||
|
@ -129,7 +128,7 @@ export default function NavBar() {
|
||||||
<ListElement><Anchor href="/#footer">Contact us</Anchor></ListElement>
|
<ListElement><Anchor href="/#footer">Contact us</Anchor></ListElement>
|
||||||
{userData.user ? (
|
{userData.user ? (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<ListElement><Linker onClick={logout}>{userData.user.username}</Linker></ListElement>
|
<ListElement><Linker onClick={() => logout(setUserData)}>{userData.user.username}</Linker></ListElement>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
|
|
||||||
) : (
|
) : (
|
||||||
|
|
Loading…
Reference in New Issue