diff --git a/src/components/admin/ui-kit-section.tsx b/src/components/admin/ui-kit-section.tsx index 35e3c54..b28c666 100644 --- a/src/components/admin/ui-kit-section.tsx +++ b/src/components/admin/ui-kit-section.tsx @@ -18,6 +18,7 @@ import { BusinessDemo } from "./ui-kit/business-demo"; import { TimesheetDemo } from "./ui-kit/timesheet-demo"; import { FulfillmentWarehouseDemo } from "./ui-kit/fulfillment-warehouse-demo"; import { SuppliesDemo } from "./ui-kit/supplies-demo"; +import { SuppliesNavigationDemo } from "./ui-kit/supplies-navigation-demo"; export function UIKitSection() { return ( @@ -133,6 +134,12 @@ export function UIKitSection() { > Поставки + + Навигация поставок + @@ -202,6 +209,10 @@ export function UIKitSection() { + + + + ); diff --git a/src/components/admin/ui-kit/supplies-navigation-demo.tsx b/src/components/admin/ui-kit/supplies-navigation-demo.tsx new file mode 100644 index 0000000..c2535b5 --- /dev/null +++ b/src/components/admin/ui-kit/supplies-navigation-demo.tsx @@ -0,0 +1,188 @@ +"use client"; + +import React, { useState } from "react"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { Button } from "@/components/ui/button"; +import { Card } from "@/components/ui/card"; +import { Plus } from "lucide-react"; + +export function SuppliesNavigationDemo() { + const [activeMainTab, setActiveMainTab] = useState("fulfillment"); + const [activeFulfillmentTab, setActiveFulfillmentTab] = useState("goods"); + const [activeMarketplaceTab, setActiveMarketplaceTab] = + useState("wildberries"); + + return ( +
+
+

+ Навигация поставок +

+

+ Компоненты навигации, используемые в разделе "Мои поставки" +

+
+ +
+ {/* Основная навигация поставок */} + +

+ Основная навигация +

+
+
+ + setActiveMainTab("fulfillment")} + > + Поставки на ФФ + + setActiveMainTab("marketplace")} + > + Поставки на Маркетплейсы + + + + +
+
+
+ + {/* Подвкладки для ФФ */} + +

+ Навигация ФФ поставок +

+ + setActiveFulfillmentTab("goods")} + > + Товар + + setActiveFulfillmentTab("supplies")} + > + Расходники + + setActiveFulfillmentTab("returns")} + > + Возвраты с ПВЗ + + +
+ Активная вкладка:{" "} + + {activeFulfillmentTab} + +
+
+
+ + {/* Подвкладки для Маркетплейсов */} + +

+ Навигация Маркетплейс поставок +

+ + setActiveMarketplaceTab("wildberries")} + > + Поставки на Wildberries + + setActiveMarketplaceTab("ozon")} + > + Поставки на Ozon + + +
+ Активная вкладка:{" "} + {activeMarketplaceTab} +
+
+ + {/* Примеры использования */} + +

+ Примеры использования +

+
+
+

+ Стили кнопок навигации: +

+
+

+ •{" "} + + bg-white/10 backdrop-blur border-white/20 + {" "} + - основной фон TabsList +

+

+ •{" "} + + data-[state=active]:bg-gradient-to-r from-purple-500 + to-pink-500 + {" "} + - активное состояние основных вкладок +

+

+ •{" "} + + data-[state=active]:bg-white/20 + {" "} + - активное состояние подвкладок +

+

+ •{" "} + + text-white/60 + {" "} + - неактивный текст +

+

+ •{" "} + + data-[state=active]:text-white + {" "} + - активный текст +

+
+
+ +
+

+ Структура компонентов: +

+
+

• Главные вкладки используют градиентный фон при активации

+

• Подвкладки используют полупрозрачный белый фон

+

• Кнопка создания поставки имеет градиент purple-to-pink

+

• Все элементы используют backdrop-blur эффект

+
+
+
+
+
+ ); +} diff --git a/src/components/supplies/consumables-supplies/consumables-supplies-tab.tsx b/src/components/supplies/consumables-supplies/consumables-supplies-tab.tsx index c7d2b24..4536406 100644 --- a/src/components/supplies/consumables-supplies/consumables-supplies-tab.tsx +++ b/src/components/supplies/consumables-supplies/consumables-supplies-tab.tsx @@ -509,23 +509,14 @@ export function SuppliesConsumablesTab() { return ( {/* Основная строка поставки расходников */} - + toggleSupplyExpansion(supply.id)} + >
- - - #{supply.number} + + {supply.number}
diff --git a/src/components/supplies/fulfillment-supplies/fulfillment-goods-tab.tsx b/src/components/supplies/fulfillment-supplies/fulfillment-goods-tab.tsx index f6bd60e..e8fc7b6 100644 --- a/src/components/supplies/fulfillment-supplies/fulfillment-goods-tab.tsx +++ b/src/components/supplies/fulfillment-supplies/fulfillment-goods-tab.tsx @@ -408,23 +408,14 @@ export function FulfillmentGoodsTab() { return ( {/* Основная строка поставки */} - + toggleSupplyExpansion(supply.id)} + >
- - - #{supply.number} + + {supply.number}
diff --git a/src/components/supplies/fulfillment-supplies/fulfillment-supplies-sub-tab.tsx b/src/components/supplies/fulfillment-supplies/fulfillment-supplies-sub-tab.tsx index 2c14511..cd3c8b6 100644 --- a/src/components/supplies/fulfillment-supplies/fulfillment-supplies-sub-tab.tsx +++ b/src/components/supplies/fulfillment-supplies/fulfillment-supplies-sub-tab.tsx @@ -361,23 +361,14 @@ export function FulfillmentSuppliesTab() { return ( {/* Основная строка поставки расходников ФФ */} - + toggleSupplyExpansion(supply.id)} + >
- - - #{supply.number} + + {supply.number}
diff --git a/src/components/supplies/fulfillment-supplies/pvz-returns-tab.tsx b/src/components/supplies/fulfillment-supplies/pvz-returns-tab.tsx index fcd0508..0e63a5e 100644 --- a/src/components/supplies/fulfillment-supplies/pvz-returns-tab.tsx +++ b/src/components/supplies/fulfillment-supplies/pvz-returns-tab.tsx @@ -408,23 +408,14 @@ export function PvzReturnsTab() { return ( {/* Основная строка возврата */} - + toggleSupplyExpansion(supply.id)} + >
- - - #{supply.number} + + {supply.number}
diff --git a/src/components/supplies/goods-supplies/goods-supplies-tab.tsx b/src/components/supplies/goods-supplies/goods-supplies-tab.tsx index 0165009..fe25f6c 100644 --- a/src/components/supplies/goods-supplies/goods-supplies-tab.tsx +++ b/src/components/supplies/goods-supplies/goods-supplies-tab.tsx @@ -422,23 +422,14 @@ export function SuppliesGoodsTab() { return ( {/* Уровень 1: Основная строка поставки */} - + toggleSupplyExpansion(supply.id)} + >
- - - #{supply.number} + + {supply.number}
diff --git a/src/components/supplies/marketplace-supplies/ozon-supplies-tab.tsx b/src/components/supplies/marketplace-supplies/ozon-supplies-tab.tsx index 51e393c..25c2349 100644 --- a/src/components/supplies/marketplace-supplies/ozon-supplies-tab.tsx +++ b/src/components/supplies/marketplace-supplies/ozon-supplies-tab.tsx @@ -404,23 +404,14 @@ export function OzonSuppliesTab() { return ( {/* Основная строка поставки на Ozon */} - + toggleSupplyExpansion(supply.id)} + >
- - - #{supply.number} + + {supply.number}
diff --git a/src/components/supplies/marketplace-supplies/wildberries-supplies-tab.tsx b/src/components/supplies/marketplace-supplies/wildberries-supplies-tab.tsx index 8c882fb..6868f7f 100644 --- a/src/components/supplies/marketplace-supplies/wildberries-supplies-tab.tsx +++ b/src/components/supplies/marketplace-supplies/wildberries-supplies-tab.tsx @@ -404,23 +404,14 @@ export function WildberriesSuppliesTab() { return ( {/* Основная строка поставки на WB */} - + toggleSupplyExpansion(supply.id)} + >
- - - #{supply.number} + + {supply.number}
diff --git a/src/components/supplies/supplies-dashboard.tsx b/src/components/supplies/supplies-dashboard.tsx index 361bbef..d899a38 100644 --- a/src/components/supplies/supplies-dashboard.tsx +++ b/src/components/supplies/supplies-dashboard.tsx @@ -26,7 +26,7 @@ export function SuppliesDashboard() { onValueChange={setActiveTab} className="w-full h-full flex flex-col" > -
+