brand: unclip sidebar wordmark, styled dark 404, human files error, Element brand text
From the brand review: the sidebar truncated 'Tactical Media Broadcast Hub' on eleven desktop routes; unknown routes rendered a stock white Next.js 404; solo users saw the raw 'groupid must be a UUID' validation text on Files; Element's config brand string still read 'OccupyMedia Hub'.
This commit is contained in:
parent
11f75e945e
commit
a3cf150494
3 changed files with 24 additions and 2 deletions
|
|
@ -133,7 +133,10 @@ export default function FilesPage(): React.ReactElement {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setSource("live");
|
setSource("live");
|
||||||
setError(errorMessage(err));
|
const message = errorMessage(err);
|
||||||
|
// Solo accounts have no collective yet: the API's validation text leaks
|
||||||
|
// an implementation detail, so give the human next step instead.
|
||||||
|
setError(/groupid/i.test(message) ? "Files live inside a collective — create or join one, then its library appears here." : message);
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
if (!controller.signal.aborted) setLoading(false);
|
if (!controller.signal.aborted) setLoading(false);
|
||||||
|
|
|
||||||
19
apps/web/src/app/not-found.tsx
Normal file
19
apps/web/src/app/not-found.tsx
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default function NotFound(): React.ReactElement {
|
||||||
|
return (
|
||||||
|
<div className="flex min-h-full flex-col items-center justify-center gap-4 bg-bg p-6 text-center">
|
||||||
|
<p className="text-5xl font-semibold tracking-tight text-accent">404</p>
|
||||||
|
<h1 className="text-lg font-semibold">This page was silenced. Our stories aren't.</h1>
|
||||||
|
<p className="max-w-sm text-xs text-text-faint">
|
||||||
|
Nothing lives at this address — but the newsroom does.
|
||||||
|
</p>
|
||||||
|
<Link
|
||||||
|
href="/streams"
|
||||||
|
className="rounded-md bg-accent px-4 py-2 text-xs font-semibold text-white transition-opacity hover:opacity-90"
|
||||||
|
>
|
||||||
|
Back to the newsroom
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -42,7 +42,7 @@ export function Sidebar(): React.ReactElement {
|
||||||
<div className="flex items-center gap-2.5 border-b border-border-subtle px-4 py-4">
|
<div className="flex items-center gap-2.5 border-b border-border-subtle px-4 py-4">
|
||||||
<LogoMark size={30} title="Tactical Media Broadcast Hub" />
|
<LogoMark size={30} title="Tactical Media Broadcast Hub" />
|
||||||
<div className="min-w-0">
|
<div className="min-w-0">
|
||||||
<div className="truncate text-sm font-semibold tracking-tight">Tactical Media Broadcast Hub</div>
|
<div className="text-xs font-semibold leading-tight tracking-tight">Tactical Media Broadcast Hub</div>
|
||||||
<div className="truncate text-2xs text-text-faint" title={workspaceName}>
|
<div className="truncate text-2xs text-text-faint" title={workspaceName}>
|
||||||
{workspaceName} ▾
|
{workspaceName} ▾
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue