feat(ui): modernize button design system and update Dashboard and Inventory pages
Frontend-only cherry-pick of prod_v2 3bdb05f; the dev compose api port change (8000 -> 8001) is intentionally excluded.
This commit is contained in:
@@ -1,13 +1,7 @@
|
||||
import { Link } from "react-router-dom";
|
||||
import { cn } from "../../lib/utils";
|
||||
import { Button } from "../../components/ui/button";
|
||||
|
||||
// ناوبری بالای صفحه در پنل انبار — فقط روی «داشبورد انبار» (هاب) دیده میشود؛
|
||||
// خودِ «داشبورد انبار» دکمه ندارد (ریشه/هاب است) و زیرصفحهها تب ندارند و
|
||||
// فقط با «بازگشت به داشبورد» به هاب برمیگردند.
|
||||
//
|
||||
// - variant="pm" (مدیر پروژه): کنترل روزانه، انبارها، کالاهای در راه —
|
||||
// ورود به «تغییر موجودی» از دکمهی بالای هاب است.
|
||||
// - variant="admin" (مدیر تدارکات/ادمین): کنترل روزانه، کالاهای در راه، سازماندهی.
|
||||
// ناوبری بالای صفحه در پنل انبار — هماهنگ با دیزاینسیستم دکمهها
|
||||
export function InventoryTopNav({
|
||||
pathname,
|
||||
variant = "pm",
|
||||
@@ -27,20 +21,20 @@ export function InventoryTopNav({
|
||||
{ label: "انبارها", to: "/inventory/warehouses", active: pathname.startsWith("/inventory/warehouses") },
|
||||
{ label: "کالاهای در راه", to: "/inventory/arrivals", active: pathname.startsWith("/inventory/arrivals") },
|
||||
];
|
||||
|
||||
return (
|
||||
<>
|
||||
{items.map((it) => (
|
||||
<Link
|
||||
<Button
|
||||
key={it.to}
|
||||
to={it.to}
|
||||
className={cn(
|
||||
"btn-line-file no-underline",
|
||||
it.active && "border-accent bg-accent text-white hover:bg-accent-dark",
|
||||
)}
|
||||
asChild
|
||||
variant={it.active ? "primary" : "slate"}
|
||||
>
|
||||
{it.label}
|
||||
</Link>
|
||||
<Link to={it.to} className="no-underline">
|
||||
{it.label}
|
||||
</Link>
|
||||
</Button>
|
||||
))}
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user