feat: add account navigation and footer

Move Inbox into a top-right account area, add a profile page for the authenticated user, and introduce a configurable sitemap and useful-links footer.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Daniel Noulet 2026-09-20 07:21:10 +02:00
parent 0d8a25e73f
commit 83d14d23a2
9 changed files with 388 additions and 36 deletions

View file

@ -0,0 +1,31 @@
import { Link } from 'react-router-dom'
import { footerLinkGroups } from '../../config/navigation'
export function AppFooter() {
return (
<footer className="app-footer">
<div className="app-footer-brand">
<span className="logo-mark" aria-hidden="true">
G
</span>
<div>
<strong>GO GUESS</strong>
<p>Structured interviews, shared decisions, better hiring.</p>
</div>
</div>
<nav className="footer-navigation" aria-label="Footer navigation">
{footerLinkGroups.map((group) => (
<section key={group.title}>
<h2>{group.title}</h2>
{group.links.map((link) => (
<Link to={link.href} key={link.href}>
{link.label}
</Link>
))}
</section>
))}
</nav>
<p className="footer-meta">Go Guess recruitment workspace</p>
</footer>
)
}

View file

@ -0,0 +1,21 @@
import { Inbox } from 'lucide-react'
import { NavLink } from 'react-router-dom'
import type { User } from '../../types'
export function WorkspaceUtilities({ user }: { user: User | null }) {
const profileLabel = user?.displayName || user?.email || 'Profile'
return (
<nav className="workspace-utilities" aria-label="Account navigation">
<NavLink className="utility-link" to="/inbox">
<Inbox size={18} aria-hidden="true" />
<span>Inbox</span>
</NavLink>
<NavLink className="utility-link profile-utility" to="/profile">
<span className="avatar tiny" aria-hidden="true">
{profileLabel.slice(0, 2).toUpperCase()}
</span>
<span>{profileLabel}</span>
</NavLink>
</nav>
)
}