keep initial route in memory if redirected to login page from /tactic/new
continuous-integration/drone/push Build is failing Details

pull/116/head
maxime 1 year ago
parent ed6c62217a
commit f7e2b9216d

@ -2,7 +2,7 @@ import { BrowserRouter, Outlet, Route, Routes } from "react-router-dom"
import { Header } from "./pages/template/Header.tsx" import { Header } from "./pages/template/Header.tsx"
import "./style/app.css" import "./style/app.css"
import { lazy, ReactNode, Suspense } from "react" import { lazy, ReactNode, Suspense, useEffect } from "react"
import { BASE } from "./Constants.ts" import { BASE } from "./Constants.ts"
const HomePage = lazy(() => import("./pages/HomePage.tsx")) const HomePage = lazy(() => import("./pages/HomePage.tsx"))
@ -15,6 +15,7 @@ const NewTacticPage = lazy(() => import("./pages/NewTacticPage.tsx"))
const Editor = lazy(() => import("./pages/Editor.tsx")) const Editor = lazy(() => import("./pages/Editor.tsx"))
export default function App() { export default function App() {
function suspense(node: ReactNode) { function suspense(node: ReactNode) {
return ( return (
<Suspense fallback={<p>Loading, please wait...</p>}> <Suspense fallback={<p>Loading, please wait...</p>}>

@ -6,8 +6,8 @@ import halfCourt from "../assets/court/half_court.svg"
import { CourtType } from "../model/tactic/Tactic.ts" import { CourtType } from "../model/tactic/Tactic.ts"
import { useCallback } from "react" import { useCallback } from "react"
import { fetchAPI } from "../Fetcher.ts" import { fetchAPI } from "../Fetcher.ts"
import { getSession } from "../api/session.ts" import { getSession, saveSession } from "../api/session.ts"
import { useNavigate } from "react-router-dom" import { useLocation, useNavigate } from "react-router-dom"
export const DEFAULT_TACTIC_NAME = "Nouvelle tactique" export const DEFAULT_TACTIC_NAME = "Nouvelle tactique"
@ -45,6 +45,7 @@ function CourtKindButton({
courtType: CourtType courtType: CourtType
}) { }) {
const navigate = useNavigate() const navigate = useNavigate()
const location = useLocation()
return ( return (
<div <div
@ -65,6 +66,7 @@ function CourtKindButton({
) )
if (response.status === 401) { if (response.status === 401) {
saveSession({...getSession(), urlTarget: location.pathname})
// if unauthorized // if unauthorized
navigate("/login") navigate("/login")
return return
@ -72,7 +74,7 @@ function CourtKindButton({
const { id } = await response.json() const { id } = await response.json()
navigate(`/tactic/${id}/edit`) navigate(`/tactic/${id}/edit`)
}, [courtType, navigate])}> }, [courtType, location.pathname, navigate])}>
<div className="court-kind-button-top"> <div className="court-kind-button-top">
<div className="court-kind-button-image-div"> <div className="court-kind-button-image-div">
<img <img

Loading…
Cancel
Save