Add customer search and navigation updates
This commit is contained in:
@@ -4,7 +4,6 @@ import { useSession } from "../lib/session";
|
||||
const PAGE_TITLES: Record<string, string> = {
|
||||
"/home": "Startseite",
|
||||
"/samples/new": "Neuanlage einer Probe",
|
||||
"/admin": "Verwaltung",
|
||||
"/portal": "MUH-Portal",
|
||||
};
|
||||
|
||||
@@ -21,6 +20,27 @@ function resolvePageTitle(pathname: string) {
|
||||
if (pathname.includes("/registration")) {
|
||||
return "Probe bearbeiten";
|
||||
}
|
||||
if (pathname.startsWith("/admin/landwirte")) {
|
||||
return "Verwaltung | Landwirte";
|
||||
}
|
||||
if (pathname.startsWith("/admin/medikamente")) {
|
||||
return "Verwaltung | Medikamente";
|
||||
}
|
||||
if (pathname.startsWith("/admin/erreger")) {
|
||||
return "Verwaltung | Erreger";
|
||||
}
|
||||
if (pathname.startsWith("/admin/antibiogramm")) {
|
||||
return "Verwaltung | Antibiogramm";
|
||||
}
|
||||
if (pathname.startsWith("/search/landwirt")) {
|
||||
return "Suche | Landwirt";
|
||||
}
|
||||
if (pathname.startsWith("/search/probe")) {
|
||||
return "Suche | Probe";
|
||||
}
|
||||
if (pathname.startsWith("/search/kalendar")) {
|
||||
return "Suche | Kalendar";
|
||||
}
|
||||
return PAGE_TITLES[pathname] ?? "MUH App";
|
||||
}
|
||||
|
||||
@@ -28,14 +48,6 @@ export default function AppShell() {
|
||||
const { user, setUser } = useSession();
|
||||
const location = useLocation();
|
||||
const navigate = useNavigate();
|
||||
const navItems = user?.role === "ADMIN"
|
||||
? [{ to: "/portal", label: "Benutzerverwaltung" }]
|
||||
: [
|
||||
{ to: "/home", label: "Start" },
|
||||
{ to: "/samples/new", label: "Neue Probe" },
|
||||
{ to: "/admin", label: "Verwaltung" },
|
||||
{ to: "/portal", label: "Portal" },
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="app-shell">
|
||||
@@ -45,15 +57,60 @@ export default function AppShell() {
|
||||
</div>
|
||||
|
||||
<nav className="sidebar__nav">
|
||||
{navItems.map((item) => (
|
||||
{user?.role === "ADMIN" ? (
|
||||
<NavLink
|
||||
key={item.to}
|
||||
to={item.to}
|
||||
to="/portal"
|
||||
className={({ isActive }) => `nav-link ${isActive ? "is-active" : ""}`}
|
||||
>
|
||||
{item.label}
|
||||
Benutzerverwaltung
|
||||
</NavLink>
|
||||
))}
|
||||
) : (
|
||||
<>
|
||||
<NavLink to="/home" className={({ isActive }) => `nav-link ${isActive ? "is-active" : ""}`}>
|
||||
Start
|
||||
</NavLink>
|
||||
<NavLink to="/samples/new" className={({ isActive }) => `nav-link ${isActive ? "is-active" : ""}`}>
|
||||
Neue Probe
|
||||
</NavLink>
|
||||
|
||||
<div className="nav-group">
|
||||
<div className="nav-group__label">Verwaltung</div>
|
||||
<div className="nav-subnav">
|
||||
<NavLink to="/admin/landwirte" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||
Landwirte
|
||||
</NavLink>
|
||||
<NavLink to="/admin/medikamente" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||
Medikamente
|
||||
</NavLink>
|
||||
<NavLink to="/admin/erreger" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||
Erreger
|
||||
</NavLink>
|
||||
<NavLink to="/admin/antibiogramm" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||
Antibiogramm
|
||||
</NavLink>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="nav-group">
|
||||
<div className="nav-group__label">Suche</div>
|
||||
<div className="nav-subnav">
|
||||
<NavLink to="/search/landwirt" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||
Landwirt
|
||||
</NavLink>
|
||||
<NavLink to="/search/probe" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||
Probe
|
||||
</NavLink>
|
||||
<NavLink to="/search/kalendar" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||
Kalendar
|
||||
</NavLink>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<NavLink to="/portal" className={({ isActive }) => `nav-link ${isActive ? "is-active" : ""}`}>
|
||||
Portal
|
||||
</NavLink>
|
||||
</>
|
||||
)}
|
||||
</nav>
|
||||
|
||||
<div className="sidebar__footer">
|
||||
|
||||
Reference in New Issue
Block a user