A documentation link in the sidebar, and the footer points home

Documentation above Settings, opening in a new tab — the docs are read beside
the work, not instead of it. The footer's "Fluksio - <year>" links to
fluksio.com; the sidebar logo deliberately keeps going Home, since navigating a
running installation away to a marketing page is not what pressing it means.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-27 16:15:39 +02:00
co-authored by Claude Opus 5
parent 651399b078
commit f855170562
2 changed files with 30 additions and 2 deletions
+10 -1
View File
@@ -14,7 +14,16 @@ export function Footer() {
return (
<footer className="border-t py-4 px-6">
<div className="flex flex-col items-center justify-between gap-4 sm:flex-row">
<p className="text-muted-foreground text-sm">Fluksio - {currentYear}</p>
<p className="text-muted-foreground text-sm">
{/* The mark's own home. Same tab, the way a footer brand line
conventionally goes — the sidebar logo is what stays put. */}
<a
href="https://fluksio.com"
className="hover:text-foreground transition-colors"
>
Fluksio - {currentYear}
</a>
</p>
<div className="flex items-center gap-4">
{socialLinks.map(({ icon: Icon, href, label }) => (
<a
+20 -1
View File
@@ -1,6 +1,7 @@
import {
ArrowLeft,
Bell,
BookOpen,
FlaskConical,
Home,
KeyRound,
@@ -25,6 +26,15 @@ import useAuth from "@/hooks/useAuth"
import { portalConfig } from "@/lib/portal"
import { type Item, Main } from "./Main"
/**
* Where the documentation is published.
*
* A constant rather than something derived: an installation reached over a LAN
* address, or at localhost, has no domain to build this from, and the docs are
* one site for all of them.
*/
const DOCS_URL = "https://docs.fluksio.com"
const baseItems: Item[] = [
// "Home" rather than "Dashboard": dashboards are their own thing now, and
// the brain and the health screens are sections of Home rather than routes.
@@ -63,9 +73,18 @@ export function AppSidebar() {
]
: withAdmin
// A new tab rather than a navigation: the docs are read beside the work,
// not instead of it.
const docs: Item = {
icon: BookOpen,
title: "Documentation",
onClick: () => window.open(DOCS_URL, "_blank", "noopener"),
}
const footerItems: Item[] = portal
? [{ icon: Settings, title: "Settings", path: "/settings" }]
? [docs, { icon: Settings, title: "Settings", path: "/settings" }]
: [
docs,
{ icon: Settings, title: "Settings", path: "/settings" },
{ icon: LogOut, title: "Log Out", onClick: logout },
]