Merge main_v2 mobile UI into production, restore mobile bottom tab bar
Merges main_v2a110741(mobile UI optimizations) into production and reinstates the mobile bottom navigation thatf0e4243had removed. Conflicts in DashboardPage, QuoteCard and InventoryPage resolved in favour of main_v2's mobile-first markup, keeping production's newer design system (Button variant="primary" on InventoryPage). f0e4243's removal was reverted in effect: MobileTabBar is restored and remounted in App.tsx, and PageLayout regains max-md:pb-24 clearance so content is not hidden behind the fixed bar.
This commit is contained in:
@@ -22,7 +22,6 @@ import { EditModal } from "./EditModal";
|
||||
|
||||
const EMPTY_FILTERS: Filters = { category: "", supplier: "", status: "", search: "" };
|
||||
|
||||
// صفحهی اصلی دفتر پیشنهادهای خرید
|
||||
export function DashboardPage() {
|
||||
useStoreData();
|
||||
|
||||
@@ -73,20 +72,16 @@ export function DashboardPage() {
|
||||
const supplierOptions = useMemo(() => suppliers.map((s) => ({ id: s.id, name: s.name })), [suppliers]);
|
||||
|
||||
return (
|
||||
<div className="min-h-screen">
|
||||
<div className="min-h-screen pb-20 md:pb-6">
|
||||
<Header
|
||||
title="دفتر پیشنهادهای خرید"
|
||||
brand
|
||||
menu={<AppSwitcherMenu activeModule="procurement" />}
|
||||
actions={
|
||||
<div className="flex items-center gap-2">
|
||||
{/* دکمه تأمینکنندهها */}
|
||||
<Link
|
||||
to="/suppliers"
|
||||
className="inline-flex items-center gap-1.5 px-3.5 py-2 rounded-xl border border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-200 text-xs font-semibold hover:bg-gray-50 dark:hover:bg-zinc-700 shadow-2xs transition-all no-underline"
|
||||
>
|
||||
<Users className="h-4 w-4 text-gray-500 dark:text-zinc-400" />
|
||||
<span>تأمینکنندهها</span>
|
||||
<div className="hidden md:flex items-center gap-2">
|
||||
<Link to="/suppliers" className="btn-line-file no-underline">
|
||||
<Users className="h-3.5 w-3.5" />
|
||||
تأمینکنندهها
|
||||
</Link>
|
||||
|
||||
{/* دکمه پروژهها */}
|
||||
@@ -118,7 +113,8 @@ export function DashboardPage() {
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
<PageLayout className="flex flex-col gap-4">
|
||||
|
||||
<PageLayout className="flex flex-col gap-3 px-3 md:px-6">
|
||||
<StatsBar
|
||||
total={stats.total}
|
||||
offered={stats.offered}
|
||||
@@ -143,6 +139,15 @@ export function DashboardPage() {
|
||||
/>
|
||||
</PageLayout>
|
||||
|
||||
{/* دکمه شناور اکشن (FAB) مخصوص نسخه موبایل */}
|
||||
<Link
|
||||
to="/wizard"
|
||||
aria-label="افزودن پیشنهاد جدید"
|
||||
className="md:hidden fixed bottom-20 left-4 z-40 flex h-14 w-14 items-center justify-center rounded-full bg-accent text-white shadow-xl shadow-accent/30 active:scale-95 transition-transform"
|
||||
>
|
||||
<Plus className="h-7 w-7" />
|
||||
</Link>
|
||||
|
||||
<AcceptModal quoteId={acceptId} onClose={() => setAcceptId(null)} />
|
||||
<EditModal quoteId={editId} onClose={() => setEditId(null)} />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user