From deaf58dfce78a9d40efc3f08ea8bb9e7468cf1f5 Mon Sep 17 00:00:00 2001 From: Maieul BOYER Date: Mon, 24 Nov 2025 17:00:23 +0100 Subject: [PATCH] update --- frontend/src/@types/dom.d.ts | 12 ++++++++++++ frontend/src/pages/chat/chat.ts | 6 ++++++ frontend/src/routing/index.ts | 1 + src/chat/entrypoint.sh | 10 ---------- src/chat/extra/chat.html | 4 ---- src/chat/extra/chat.js | 1 - src/chat/extra/style.css | 2 -- 7 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 frontend/src/@types/dom.d.ts delete mode 100644 src/chat/extra/chat.html delete mode 100644 src/chat/extra/chat.js delete mode 100644 src/chat/extra/style.css diff --git a/frontend/src/@types/dom.d.ts b/frontend/src/@types/dom.d.ts new file mode 100644 index 0000000..5cbf23c --- /dev/null +++ b/frontend/src/@types/dom.d.ts @@ -0,0 +1,12 @@ +interface CustomEventMap { + "ft:pageChange": CustomEvent<{}>; +} + +declare global { + interface Document { //adds definition to Document, but you can do the same with HTMLElement + addEventListener(type: K, + listener: (this: Document, ev: CustomEventMap[K]) => void): void; + dispatchEvent(ev: CustomEventMap[K]): void; + } +} +export { }; //keep that for TS compiler. diff --git a/frontend/src/pages/chat/chat.ts b/frontend/src/pages/chat/chat.ts index d4baf2f..7c30261 100644 --- a/frontend/src/pages/chat/chat.ts +++ b/frontend/src/pages/chat/chat.ts @@ -6,6 +6,12 @@ import { getUser, updateUser } from "@app/auth"; import io, { Socket } from 'socket.io-client'; let __socket: Socket | undefined = undefined; +document.addEventListener('ft:pageChange', () => { + if (__socket !== undefined) + __socket.close(); + __socket = undefined; + console.log("Page changed"); +}) function getSocket(): Socket { if (__socket === undefined) __socket = io("wss://localhost:8888", { diff --git a/frontend/src/routing/index.ts b/frontend/src/routing/index.ts index fdf30db..0c0b9a4 100644 --- a/frontend/src/routing/index.ts +++ b/frontend/src/routing/index.ts @@ -195,6 +195,7 @@ export async function handleRoute() { if (user === null && !route_handler.special_args.bypass_auth) return navigateTo(`/login?returnTo=${encodeURIComponent(window.location.pathname)}`) const app = document.getElementById('app')!; + document.dispatchEvent(new CustomEvent('ft:pageChange' as any, {} as any) as any); let ret = await executeRouteHandler(route_handler, window.location.pathname, args) app.innerHTML = ret.html; if (ret.postInsert) { diff --git a/src/chat/entrypoint.sh b/src/chat/entrypoint.sh index d670ada..2dcab02 100644 --- a/src/chat/entrypoint.sh +++ b/src/chat/entrypoint.sh @@ -4,15 +4,5 @@ set -e set -x # do anything here - mkdir -p /volumes/static/chat/ - - cp -r /extra/chat.html /volumes/static/chat/chat.html - - cp -r /extra/chat.js /volumes/static/chat/chat.js - cp -r /extra/style.css /volumes/static/chat/style.css - - -# chmod -R a+r /volumes/static/chat || true - # run the CMD [ ... ] from the dockerfile exec "$@" diff --git a/src/chat/extra/chat.html b/src/chat/extra/chat.html deleted file mode 100644 index 9879d28..0000000 --- a/src/chat/extra/chat.html +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/chat/extra/chat.js b/src/chat/extra/chat.js deleted file mode 100644 index ae13d0e..0000000 --- a/src/chat/extra/chat.js +++ /dev/null @@ -1 +0,0 @@ -// OLD JS file to be deleted later diff --git a/src/chat/extra/style.css b/src/chat/extra/style.css deleted file mode 100644 index cc72409..0000000 --- a/src/chat/extra/style.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */ -/* Old css to be deleted later */ \ No newline at end of file