diff --git a/frontend/src/ts/pages/tribe.ts b/frontend/src/ts/pages/tribe.ts index 57dffd394..f9d52f4f8 100644 --- a/frontend/src/ts/pages/tribe.ts +++ b/frontend/src/ts/pages/tribe.ts @@ -4,6 +4,8 @@ import * as TribeState from "../tribe/tribe-state"; import * as TribeChat from "../tribe/tribe-chat"; import { qsr } from "../utils/dom"; import { CLIENT_STATE } from "../tribe/types"; +import tribeSocket from "../tribe/tribe-socket"; +import * as TribePagePreloader from "../tribe/pages/tribe-page-preloader"; export const page = new Page({ id: "tribe", @@ -15,6 +17,8 @@ export const page = new Page({ afterHide: async () => { // TODO: Fill it up later TribeChat.reset("lobby"); + tribeSocket.disconnect(); + TribePagePreloader.reset(); }, beforeShow: async () => { if (TribeState.isInARoom()) { diff --git a/frontend/src/ts/tribe/pages/tribe-page-preloader.ts b/frontend/src/ts/tribe/pages/tribe-page-preloader.ts index 84d03699e..e1b6f5f43 100644 --- a/frontend/src/ts/tribe/pages/tribe-page-preloader.ts +++ b/frontend/src/ts/tribe/pages/tribe-page-preloader.ts @@ -1,6 +1,6 @@ export function updateIcon(iconName: string, spinning = false): void { $(".pageTribe .tribePage.preloader .icon").html( - `` + ``, ); } @@ -27,3 +27,10 @@ export function showReconnectButton(): void { export function hideReconnectButton(): void { $(".pageTribe .tribePage.preloader .reconnectButton").addClass(`hidden`); } + +export function reset(): void { + updateIcon("circle-notch", true); + updateText("Connecting to Tribe"); + updateSubtext("Please wait..."); + hideReconnectButton(); +}