From f0f0fba840dc55694282a379137aebcf03c91e5b Mon Sep 17 00:00:00 2001 From: Antoine Gaudron-desjardins <antoine.gaudrondesjardins@student-cs.fr> Date: Tue, 19 Jul 2022 10:32:28 +0200 Subject: [PATCH] handle go back events --- frontend/src/index.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/src/index.js b/frontend/src/index.js index 28592a4..9318fc6 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -1,6 +1,6 @@ import React, { createContext, useEffect, useState } from "react"; import { createRoot } from "react-dom/client"; -import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; +import { BrowserRouter as Router, Routes, Route, useNavigationType } from "react-router-dom"; import useWebSocket from "react-use-websocket"; import axios from "axios"; @@ -41,6 +41,8 @@ export default function App() { }, [reload]); useEffect(() => { + window.addEventListener("popstate", () => setReload(true)); + let path = window.location.pathname.split("/"); if (restaurantsList && path.length >= 2 && path[1]) { let name = decodeURIComponent(path[1]); @@ -48,7 +50,11 @@ export default function App() { if (filter) { setSelection(filter[0]); } + } else { + setSelection(null); } + + return () => window.removeEventListener("popstate", () => setReload(true)); }, [restaurantsList]); useEffect(() => { -- GitLab