Big progress!
This commit is contained in:
17
client/src/components/PrivateRoute.js
Normal file
17
client/src/components/PrivateRoute.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import React, {useEffect} from "react";
|
||||
import {Outlet, useLocation, useNavigate} from "react-router-dom";
|
||||
|
||||
function PrivateRoute({component: Component, isAuthorized, ...rest}) {
|
||||
const location = useLocation();
|
||||
const navigate = useNavigate();
|
||||
|
||||
useEffect(() => {
|
||||
if (!isAuthorized) {
|
||||
navigate(`/signin?redirect=${location.pathname}`);
|
||||
}
|
||||
}, [isAuthorized, navigate]);
|
||||
|
||||
return <Outlet/>;
|
||||
}
|
||||
|
||||
export default PrivateRoute;
|
||||
@@ -28,7 +28,7 @@ export function BreadCrumbs({ breadcrumbs, bodyshop }) {
|
||||
<Col xs={24} sm={24} md={16}>
|
||||
<Breadcrumb separator=">">
|
||||
<Breadcrumb.Item>
|
||||
<Link to={`/manage`}>
|
||||
<Link to={`/manage/`}>
|
||||
<HomeFilled />{" "}
|
||||
{(bodyshop && bodyshop.shopname && `(${bodyshop.shopname})`) ||
|
||||
""}
|
||||
|
||||
@@ -4,7 +4,7 @@ import queryString from "query-string";
|
||||
import React, { useEffect } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
import { useLocation } from "react-router";
|
||||
import { useLocation } from "react-router-dom";
|
||||
import { QUERY_BODYSHOP } from "../../graphql/bodyshop.queries";
|
||||
import { GET_DOCUMENT_BY_PK } from "../../graphql/documents.queries";
|
||||
import { setBodyshop } from "../../redux/user/user.actions";
|
||||
|
||||
@@ -116,7 +116,7 @@ function Header({
|
||||
subMenuCloseDelay={0.3}
|
||||
>
|
||||
<Menu.Item key="home" icon={<HomeFilled />}>
|
||||
<Link to="/manage">{t("menus.header.home")}</Link>
|
||||
<Link to="/manage/">{t("menus.header.home")}</Link>
|
||||
</Menu.Item>
|
||||
<Menu.Item key="schedule" icon={<Icon component={FaCalendarAlt} />}>
|
||||
<Link to="/manage/schedule">{t("menus.header.schedule")}</Link>
|
||||
|
||||
@@ -11,7 +11,7 @@ const mapStateToProps = createStructuredSelector({
|
||||
|
||||
export function ManageSignInButton({ currentUser }) {
|
||||
return currentUser.authorized ? (
|
||||
<Link to='/manage'>
|
||||
<Link to='/manage/'>
|
||||
<BuildFilled />
|
||||
Manage
|
||||
</Link>
|
||||
|
||||
@@ -49,9 +49,8 @@ export function SignInComponent({
|
||||
const [form] = Form.useForm();
|
||||
|
||||
useEffect(() => {
|
||||
console.log('navigating to ' + redirect || "/manage");
|
||||
if (currentUser.authorized === true) {
|
||||
navigate(redirect || "/manage");
|
||||
navigate(redirect || "/manage/");
|
||||
}
|
||||
}, [currentUser, redirect, navigate]);
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ export function UserValidatePwReset({
|
||||
title={t("general.labels.passwordresetvalidatesuccess")}
|
||||
subTitle={t("general.labels.passwordresetvalidatesuccess_sub")}
|
||||
extra={[
|
||||
<Link to={`/manage`}>
|
||||
<Link to={`/manage/`}>
|
||||
<Button>{t("general.labels.signin")}</Button>
|
||||
</Link>,
|
||||
]}
|
||||
|
||||
Reference in New Issue
Block a user