Files
cobble/src/pages/auth/logout/index.tsx
T
tben 4f7e0a6bf0 Finish the mobile performance pass
- Cache the model catalog once per user and each conversation's setting
  separately; clear both on logout and after model saves
- Compress hashed assets asynchronously with a byte budget and set Vary
- Memoize message parsing and throttle selection reads
- Debounce draft writes to localStorage
- Keep the composer editor on the page and focused, as before
- Add a bundle budget check and run it in CI
- Show a loading block while sessions load and a workspace avatar in the
  mobile conversation header
2026-10-20 14:37:11 +01:00

51 lines
1.7 KiB
TypeScript

import type { BunextPageModuleMeta } from "@moduletrace/bunext/types";
import Section from "@moduletrace/twui/layout/Section";
import Loading from "@moduletrace/twui/elements/Loading";
import Row from "@moduletrace/twui/layout/Row";
import Span from "@moduletrace/twui/layout/Span";
import { useEffect } from "react";
import { twMerge } from "tailwind-merge";
import Logo from "@/src/components/general/logo";
import Paper from "@moduletrace/twui/elements/Paper";
import Container from "@moduletrace/twui/layout/Container";
import Center from "@moduletrace/twui/layout/Center";
import { SiteData } from "@/src/data/site-data";
import { clearHarnessCache } from "@/src/utils/harness-cache";
export default function LogoutPage() {
useEffect(() => {
clearHarnessCache();
setTimeout(() => {
window.location.pathname = "/auth/login";
}, 1000);
}, []);
return (
<Section
className={twMerge(
"h-dvh w-screen px-0 items-center justify-center",
)}
>
<Center>
<Paper className="w-auto p-10 items-center">
<Logo
text_props={{
className: "text-dark dark:text-white",
}}
/>
<Row>
<Loading />
<Span>Logging out ...</Span>
</Row>
</Paper>
</Center>
</Section>
);
}
export const meta: BunextPageModuleMeta = {
title: `Logging Out | ${SiteData["SiteName"]}`,
description: "You are being logged out and redirected to the login page.",
};