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