diff --git a/frontend-next/package-lock.json b/frontend-next/package-lock.json index 7d4b26b..3a0c916 100644 --- a/frontend-next/package-lock.json +++ b/frontend-next/package-lock.json @@ -13,6 +13,7 @@ "next": "^14.1.0", "pigeon-maps": "^0.21.3", "react": "^18.2.0", + "react-beforeunload": "^2.6.0", "react-dom": "^18.2.0", "react-hook-form": "^7.50.1" }, @@ -5739,6 +5740,14 @@ "node": ">=0.10.0" } }, + "node_modules/react-beforeunload": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-beforeunload/-/react-beforeunload-2.6.0.tgz", + "integrity": "sha512-aKrGaRNc7fZQlDnmSYrXu4cbz9QEPhScA4A2mLxhjcULDy4VILLyLhSEjg2goIw3o5LQ1zss44kmQh5LXWYGCw==", + "peerDependencies": { + "react": "^16.8.0 || 17 || 18" + } + }, "node_modules/react-dom": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", diff --git a/frontend-next/package.json b/frontend-next/package.json index 1912fa3..544379a 100644 --- a/frontend-next/package.json +++ b/frontend-next/package.json @@ -14,6 +14,7 @@ "next": "^14.1.0", "pigeon-maps": "^0.21.3", "react": "^18.2.0", + "react-beforeunload": "^2.6.0", "react-dom": "^18.2.0", "react-hook-form": "^7.50.1" }, diff --git a/frontend-next/src/app/app/page.js b/frontend-next/src/app/app/page.js index 07d93c6..ad656e7 100644 --- a/frontend-next/src/app/app/page.js +++ b/frontend-next/src/app/app/page.js @@ -4,6 +4,7 @@ import {Map, Marker, ZoomControl} from "pigeon-maps" import { Form, useForm } from "react-hook-form"; import { app } from "../api/firebase-config"; import { getDatabase, ref, onValue, get, set, remove} from "firebase/database"; +import { useBeforeunload } from 'react-beforeunload'; var database = getDatabase(app) @@ -64,8 +65,12 @@ function Member({memberObj}) { // Chat Room for myRooms and Nearby in sidebar function ChatRoomSidebar({roomObj, click}) { + // TODO: Gross fix but it works +function clicker() { + click(roomObj.name, roomObj) +} return ( -