Frontend-only cherry-pick of prod_v2 3bdb05f; the dev compose api port change (8000 -> 8001) is intentionally excluded.
40 lines
1.4 KiB
TypeScript
40 lines
1.4 KiB
TypeScript
import { Link } from "react-router-dom";
|
|
import { Button } from "../../components/ui/button";
|
|
|
|
// ناوبری بالای صفحه در پنل انبار — هماهنگ با دیزاینسیستم دکمهها
|
|
export function InventoryTopNav({
|
|
pathname,
|
|
variant = "pm",
|
|
}: {
|
|
pathname: string;
|
|
variant?: "pm" | "admin";
|
|
}) {
|
|
const items =
|
|
variant === "admin"
|
|
? [
|
|
{ label: "کنترل روزانه", to: "/inventory/daily", active: pathname.startsWith("/inventory/daily") },
|
|
{ label: "کالاهای در راه", to: "/inventory/arrivals", active: pathname.startsWith("/inventory/arrivals") },
|
|
{ label: "سازماندهی", to: "/inventory/org", active: pathname.startsWith("/inventory/org") },
|
|
]
|
|
: [
|
|
{ label: "کنترل روزانه", to: "/inventory/daily", active: pathname.startsWith("/inventory/daily") },
|
|
{ label: "انبارها", to: "/inventory/warehouses", active: pathname.startsWith("/inventory/warehouses") },
|
|
{ label: "کالاهای در راه", to: "/inventory/arrivals", active: pathname.startsWith("/inventory/arrivals") },
|
|
];
|
|
|
|
return (
|
|
<>
|
|
{items.map((it) => (
|
|
<Button
|
|
key={it.to}
|
|
asChild
|
|
variant={it.active ? "primary" : "slate"}
|
|
>
|
|
<Link to={it.to} className="no-underline">
|
|
{it.label}
|
|
</Link>
|
|
</Button>
|
|
))}
|
|
</>
|
|
);
|
|
} |