From 51729e4bafc19c0e5b84a27e9c2530a640b79481 Mon Sep 17 00:00:00 2001 From: nocnico Date: Sun, 16 Mar 2025 21:57:30 +0100 Subject: [PATCH] Einsatz Card --- .../_components/ChangeRufgruppe.tsx | 2 - .../app/(dispatch)/_components/Map.tsx | 16 ++- .../(dispatch)/_components/Notifications.tsx | 42 ------ .../(dispatch)/_components/navbar/Navbar.tsx | 8 +- .../_components/toast/ToastCard.tsx | 69 ++++++++++ package-lock.json | 121 +----------------- 6 files changed, 87 insertions(+), 171 deletions(-) delete mode 100644 apps/dispatch/app/(dispatch)/_components/Notifications.tsx create mode 100644 apps/dispatch/app/(dispatch)/_components/toast/ToastCard.tsx diff --git a/apps/dispatch/app/(dispatch)/_components/ChangeRufgruppe.tsx b/apps/dispatch/app/(dispatch)/_components/ChangeRufgruppe.tsx index 876f3d9c..795eddac 100644 --- a/apps/dispatch/app/(dispatch)/_components/ChangeRufgruppe.tsx +++ b/apps/dispatch/app/(dispatch)/_components/ChangeRufgruppe.tsx @@ -1,5 +1,3 @@ -"use client"; - export const ChangeRufgruppe = () => { return ( <> diff --git a/apps/dispatch/app/(dispatch)/_components/Map.tsx b/apps/dispatch/app/(dispatch)/_components/Map.tsx index b2d5a31c..7742f257 100644 --- a/apps/dispatch/app/(dispatch)/_components/Map.tsx +++ b/apps/dispatch/app/(dispatch)/_components/Map.tsx @@ -3,6 +3,7 @@ import { useEffect, useRef } from "react"; import L from "leaflet"; import "leaflet/dist/leaflet.css"; +import ToastCard from "./toast/ToastCard"; export default () => { const mapRef = useRef(null); @@ -24,5 +25,18 @@ export default () => { }; }, []); - return
; + return ( +
+
+ +
+ ); }; diff --git a/apps/dispatch/app/(dispatch)/_components/Notifications.tsx b/apps/dispatch/app/(dispatch)/_components/Notifications.tsx deleted file mode 100644 index a3d0065e..00000000 --- a/apps/dispatch/app/(dispatch)/_components/Notifications.tsx +++ /dev/null @@ -1,42 +0,0 @@ -"use client"; - -export const Notifications = () => { - return ( - <> -
- -
+99
-
- -
- - ); -}; diff --git a/apps/dispatch/app/(dispatch)/_components/navbar/Navbar.tsx b/apps/dispatch/app/(dispatch)/_components/navbar/Navbar.tsx index 71a96ed8..7534b999 100644 --- a/apps/dispatch/app/(dispatch)/_components/navbar/Navbar.tsx +++ b/apps/dispatch/app/(dispatch)/_components/navbar/Navbar.tsx @@ -2,7 +2,6 @@ import { ToggleTalkButton } from "../ToggleTalkButton"; import { ChangeRufgruppe } from "../ChangeRufgruppe"; -import { Notifications } from "../Notifications"; import Link from "next/link"; import { Connection } from "../Connection"; import { ThemeSwap } from "./_components/ThemeSwap"; @@ -21,12 +20,12 @@ export default function Navbar() { }; return ( -
+
-
    +
    • @@ -35,9 +34,6 @@ export default function Navbar() {
-
- -
diff --git a/apps/dispatch/app/(dispatch)/_components/toast/ToastCard.tsx b/apps/dispatch/app/(dispatch)/_components/toast/ToastCard.tsx new file mode 100644 index 00000000..5e5c9408 --- /dev/null +++ b/apps/dispatch/app/(dispatch)/_components/toast/ToastCard.tsx @@ -0,0 +1,69 @@ +import { useState } from "react"; + +interface ToastCard { + id: number; + title: string; + content: string; +} + +const MapToastCard2 = () => { + const [cards, setCards] = useState([]); + const [openCardId, setOpenCardId] = useState(null); + + const addCard = () => { + const newCard: ToastCard = { + id: Date.now(), + title: `Einsatz #${cards.length + 1}`, + content: `Inhalt von Einsatz #${cards.length + 1}.`, + }; + setCards([...cards, newCard]); + }; + + const removeCard = (id: number) => { + setCards(cards.filter((card) => card.id !== id)); + }; + + const toggleCard = (id: number) => { + setOpenCardId(openCardId === id ? null : id); + }; + + return ( +
+ {/* DEBUG */} + + {/* DEBUG */} + {cards.map((card) => ( +
+ toggleCard(card.id)} + /> +
+ {card.title} + +
+
{card.content}
+
+ ))} +
+ ); +}; + +export default MapToastCard2; diff --git a/package-lock.json b/package-lock.json index ac4479a9..fd1e44c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,8 +59,7 @@ "nodemailer": "^6.10.0", "react": "^19.0.0", "redis": "^4.7.0", - "socket.io": "^4.8.1", - "socket.io-redis": "^6.1.1" + "socket.io": "^4.8.1" }, "devDependencies": { "@repo/db": "*", @@ -68,7 +67,6 @@ "@types/express": "^5.0.0", "@types/node": "^22.13.5", "@types/nodemailer": "^6.4.17", - "@types/socket.io-redis": "^3.0.0", "concurrently": "^9.1.2", "typescript": "latest" } @@ -3233,17 +3231,6 @@ "@types/send": "*" } }, - "node_modules/@types/socket.io-redis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/socket.io-redis/-/socket.io-redis-3.0.0.tgz", - "integrity": "sha512-AFINYd5w7LwUqUDZAfmv4AEhXOJ0YsXCQf11RRDok+Zq7cCyhTMgFAbWSwUScP/JEYD4KF6+4O4SiussjrKbmQ==", - "deprecated": "This is a stub types definition. socket.io-redis provides its own type definitions, so you do not need this installed.", - "dev": true, - "license": "MIT", - "dependencies": { - "socket.io-redis": "*" - } - }, "node_modules/@types/through": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", @@ -5449,15 +5436,6 @@ "node": ">=0.4.0" } }, - "node_modules/denque": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", - "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.10" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -14693,33 +14671,6 @@ "@redis/time-series": "1.1.0" } }, - "node_modules/redis-commands": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", - "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==", - "license": "MIT" - }, - "node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", - "license": "MIT", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -15863,76 +15814,6 @@ } } }, - "node_modules/socket.io-redis": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socket.io-redis/-/socket.io-redis-6.1.1.tgz", - "integrity": "sha512-jeaXe3TGKC20GMSlPHEdwTUIWUpay/L7m5+S9TQcOf22p9Llx44/RkpJV08+buXTZ8E+aivOotj2RdeFJJWJJQ==", - "deprecated": "This package has been renamed to '@socket.io/redis-adapter', please see the migration guide here: https://socket.io/docs/v4/redis-adapter/#migrating-from-socketio-redis", - "license": "MIT", - "dependencies": { - "debug": "~4.3.1", - "notepack.io": "~2.2.0", - "redis": "^3.0.0", - "socket.io-adapter": "~2.2.0", - "uid2": "0.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-redis/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-redis/node_modules/notepack.io": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-2.2.0.tgz", - "integrity": "sha512-9b5w3t5VSH6ZPosoYnyDONnUTF8o0UkBw7JLA6eBlYJWyGT1Q3vQa8Hmuj1/X6RYvHjjygBDgw6fJhe0JEojfw==", - "license": "MIT" - }, - "node_modules/socket.io-redis/node_modules/redis": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/redis/-/redis-3.1.2.tgz", - "integrity": "sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==", - "license": "MIT", - "dependencies": { - "denque": "^1.5.0", - "redis-commands": "^1.7.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-redis" - } - }, - "node_modules/socket.io-redis/node_modules/socket.io-adapter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.2.0.tgz", - "integrity": "sha512-rG49L+FwaVEwuAdeBRq49M97YI3ElVabJPzvHT9S6a2CWhDKnjSFasvwAwSYPRhQzfn4NtDIbCaGYgOCOU/rlg==", - "license": "MIT" - }, - "node_modules/socket.io-redis/node_modules/uid2": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "integrity": "sha512-5gSP1liv10Gjp8cMEnFd6shzkL/D6W1uhXSFNCxDC+YI8+L8wkCYCbJ7n77Ezb4wE/xzMogecE+DtamEe9PZjg==" - }, "node_modules/socket.io/node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",