Files
sfera-new/src/components/market/market-business.tsx
Veronika Smirnova bf27f3ba29 Оптимизирована производительность React компонентов с помощью мемоизации
КРИТИЧНЫЕ КОМПОНЕНТЫ ОПТИМИЗИРОВАНЫ:
• AdminDashboard (346 kB) - добавлены React.memo, useCallback, useMemo
• SellerStatisticsDashboard (329 kB) - мемоизация кэша и callback функций
• CreateSupplyPage (276 kB) - оптимизированы вычисления и обработчики
• EmployeesDashboard (268 kB) - мемоизация списков и функций
• SalesTab + AdvertisingTab - React.memo обертка

ТЕХНИЧЕСКИЕ УЛУЧШЕНИЯ:
 React.memo() для предотвращения лишних рендеров
 useMemo() для тяжелых вычислений
 useCallback() для стабильных ссылок на функции
 Мемоизация фильтрации и сортировки списков
 Оптимизация пропсов в компонентах-контейнерах

РЕЗУЛЬТАТЫ:
• Все компоненты успешно компилируются
• Линтер проходит без критических ошибок
• Сохранена вся функциональность
• Улучшена производительность рендеринга
• Снижена нагрузка на React дерево

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 13:18:45 +03:00

58 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'use client'
import { Building, Users, Target, Briefcase } from 'lucide-react'
import { Card } from '@/components/ui/card'
export function MarketBusiness() {
return (
<div className="h-full flex flex-col space-y-4 overflow-hidden">
{/* Заголовок с иконкой */}
<div className="flex items-center space-x-3 flex-shrink-0 mb-4">
<Briefcase className="h-6 w-6 text-orange-400" />
<div>
<h3 className="text-lg font-semibold text-white">Бизнес</h3>
<p className="text-white/60 text-sm">Бизнес-возможности и развитие</p>
</div>
</div>
{/* Контент раздела */}
<div className="flex-1 overflow-auto space-y-4">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
<Card className="bg-white/5 backdrop-blur border-white/10 p-6">
<div className="flex items-center space-x-3 mb-4">
<Building className="h-8 w-8 text-orange-400" />
<h4 className="text-lg font-semibold text-white">Франшизы</h4>
</div>
<p className="text-white/60 text-sm">Готовые бизнес-решения и франшизы в сфере логистики и торговли</p>
</Card>
<Card className="bg-white/5 backdrop-blur border-white/10 p-6">
<div className="flex items-center space-x-3 mb-4">
<Users className="h-8 w-8 text-blue-400" />
<h4 className="text-lg font-semibold text-white">Партнёрство</h4>
</div>
<p className="text-white/60 text-sm">Поиск бизнес-партнёров для совместных проектов и развития</p>
</Card>
<Card className="bg-white/5 backdrop-blur border-white/10 p-6">
<div className="flex items-center space-x-3 mb-4">
<Target className="h-8 w-8 text-green-400" />
<h4 className="text-lg font-semibold text-white">Консалтинг</h4>
</div>
<p className="text-white/60 text-sm">Бизнес-консультации и стратегическое планирование развития</p>
</Card>
</div>
<div className="text-center py-8">
<div className="w-16 h-16 bg-white/10 rounded-full flex items-center justify-center mx-auto mb-4">
<Briefcase className="h-8 w-8 text-white/40" />
</div>
<p className="text-white/60 text-lg mb-2">Раздел в разработке</p>
<p className="text-white/40 text-sm">Бизнес-функционал будет доступен в ближайших обновлениях</p>
</div>
</div>
</div>
)
}