Добавлены новые зависимости, обновлены стили и улучшена структура проекта. Обновлен README с описанием функционала и технологий. Реализована анимация и адаптивный дизайн. Настроена авторизация с использованием Apollo Client.

This commit is contained in:
Bivekich
2025-07-16 18:00:41 +03:00
parent d260749bc9
commit 823ef9a28c
69 changed files with 15539 additions and 210 deletions

View File

@ -0,0 +1,97 @@
"use client"
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { Card } from '@/components/ui/card'
import { Sidebar } from '@/components/dashboard/sidebar'
import { MarketCounterparties } from './market-counterparties'
import { MarketFulfillment } from './market-fulfillment'
import { MarketSellers } from './market-sellers'
import { MarketLogistics } from './market-logistics'
import { MarketWholesale } from './market-wholesale'
export function MarketDashboard() {
return (
<div className="h-screen bg-gradient-smooth flex overflow-hidden">
<Sidebar />
<main className="flex-1 ml-56 px-6 py-4 overflow-hidden">
<div className="h-full w-full flex flex-col">
{/* Заголовок - фиксированная высота */}
<div className="flex items-center justify-between mb-4 flex-shrink-0">
<div>
<h1 className="text-xl font-bold text-white mb-1">Маркет</h1>
<p className="text-white/70 text-sm">Управление контрагентами и поиск партнеров</p>
</div>
</div>
{/* Основной контент с табами */}
<div className="flex-1 overflow-hidden">
<Tabs defaultValue="counterparties" className="h-full flex flex-col">
<TabsList className="grid w-full grid-cols-5 bg-white/5 backdrop-blur border-white/10 flex-shrink-0">
<TabsTrigger
value="counterparties"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70"
>
Мои контрагенты
</TabsTrigger>
<TabsTrigger
value="fulfillment"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70"
>
Фулфилмент
</TabsTrigger>
<TabsTrigger
value="sellers"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70"
>
Селлеры
</TabsTrigger>
<TabsTrigger
value="logistics"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70"
>
Логистика
</TabsTrigger>
<TabsTrigger
value="wholesale"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70"
>
Оптовик
</TabsTrigger>
</TabsList>
<TabsContent value="counterparties" className="flex-1 overflow-hidden mt-6">
<Card className="glass-card h-full overflow-hidden p-6">
<MarketCounterparties />
</Card>
</TabsContent>
<TabsContent value="fulfillment" className="flex-1 overflow-hidden mt-6">
<Card className="glass-card h-full overflow-hidden p-6">
<MarketFulfillment />
</Card>
</TabsContent>
<TabsContent value="sellers" className="flex-1 overflow-hidden mt-6">
<Card className="glass-card h-full overflow-hidden p-6">
<MarketSellers />
</Card>
</TabsContent>
<TabsContent value="logistics" className="flex-1 overflow-hidden mt-6">
<Card className="glass-card h-full overflow-hidden p-6">
<MarketLogistics />
</Card>
</TabsContent>
<TabsContent value="wholesale" className="flex-1 overflow-hidden mt-6">
<Card className="glass-card h-full overflow-hidden p-6">
<MarketWholesale />
</Card>
</TabsContent>
</Tabs>
</div>
</div>
</main>
</div>
)
}