mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-24 11:10:25 +02:00
* refactor(web): rewrite 404 page using design tokens Replace editorial-style 404 (hardcoded cream/ink/terracotta colors, Instrument Serif font, fluid clamp() typography) with a minimal version using semantic tokens and the project's buttonVariants helper. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(workspace): break NoAccessPage redirect loop by clearing stale cookie The web proxy redirects / to /<lastSlug>/issues based on the last_workspace_slug cookie alone, with no access check. When a user gets evicted from a workspace, the cookie still points at it; clicking "Go to my workspaces" then loops: NoAccessPage -> / -> proxy -> same bad slug -> NoAccessPage. Clear the cookie on mount so the proxy falls through to the landing page, which resolves the correct destination via the workspace list. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(web): mark not-found as client to allow buttonVariants import buttonVariants is exported from a "use client" module, so calling it from a server component is rejected by Next 16's directive checks. Production build of /workspaces/new prerender failed because of this. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
20 lines
696 B
TypeScript
20 lines
696 B
TypeScript
"use client";
|
|
|
|
import Link from "next/link";
|
|
import { buttonVariants } from "@multica/ui/components/ui/button";
|
|
|
|
export default function NotFound() {
|
|
return (
|
|
<main className="flex min-h-screen flex-col items-center justify-center gap-6 px-6 py-24 text-center">
|
|
<p className="text-sm font-medium text-muted-foreground">404</p>
|
|
<h1 className="text-2xl font-semibold tracking-tight">Page not found</h1>
|
|
<p className="max-w-md text-sm text-muted-foreground">
|
|
The page you are looking for doesn’t exist or has been moved.
|
|
</p>
|
|
<Link href="/" className={buttonVariants({ className: "mt-2" })}>
|
|
Back to Multica
|
|
</Link>
|
|
</main>
|
|
);
|
|
}
|