Обновлены компоненты для отображения статистики и данных о складах. Заменены моковые данные на нулевые значения, чтобы отразить отсутствие информации. Изменены комментарии для улучшения понимания кода. Добавлен автоматический выбор активных кампаний в AdvertisingTab для удобства пользователя.

This commit is contained in:
Bivekich
2025-07-28 14:38:35 +03:00
parent 74cc0ee35a
commit f182112cd4
5 changed files with 78 additions and 109 deletions

View File

@ -153,7 +153,7 @@ const CompactCampaignSelector = ({
selectedCampaigns: number[],
loading: boolean
}) => {
const [isExpanded, setIsExpanded] = useState(false)
const [isExpanded, setIsExpanded] = useState(true) // Автоматически разворачиваем для удобства
const [showManualInput, setShowManualInput] = useState(false)
const [manualIds, setManualIds] = useState('')
const [selectedIds, setSelectedIds] = useState<Set<number>>(new Set(selectedCampaigns))
@ -166,6 +166,20 @@ const CompactCampaignSelector = ({
const campaigns = campaignsData?.getWildberriesCampaignsList?.data?.adverts || []
// Автоматически выбираем активные кампании при загрузке данных
useEffect(() => {
if (campaigns.length > 0 && selectedIds.size === 0) {
const activeCampaigns = campaigns
.filter((group: CampaignGroup) => group.status === 9) // Активные кампании
.flatMap((group: CampaignGroup) => group.advert_list.map((item: CampaignListItem) => item.advertId))
.slice(0, 3) // Берем первые 3 активные кампании
if (activeCampaigns.length > 0) {
setSelectedIds(new Set(activeCampaigns))
}
}
}, [campaigns])
// Функции для получения названий типов и статусов
const getCampaignTypeName = (type: number) => {
const types: Record<number, string> = {
@ -280,7 +294,7 @@ const CompactCampaignSelector = ({
) : (
<>
<Search className="h-3 w-3 mr-1" />
Загрузить
{selectedIds.size > 0 ? `Загрузить (${selectedIds.size})` : 'Выбрать'}
</>
)}
</Button>
@ -1001,10 +1015,23 @@ export function AdvertisingTab({ selectedPeriod, useCustomDates, startDate, endD
<div className="text-center">
<TrendingUp className="h-12 w-12 text-white/40 mx-auto mb-4" />
<h3 className="text-lg font-semibold text-white mb-2">Статистика рекламных кампаний</h3>
<p className="text-white/60 mb-4">Выберите кампании для получения детальной статистики</p>
<p className="text-white/40 text-sm">
<p className="text-white/60 mb-4">Выберите кампании выше и нажмите &ldquo;Загрузить&rdquo; для получения статистики</p>
<p className="text-white/40 text-sm mb-4">
Поддерживается API Wildberries /adv/v2/fullstats
</p>
{/* Инструкция для пользователя */}
<div className="bg-white/5 rounded-lg p-4 border border-white/10">
<h4 className="text-white font-medium mb-2 flex items-center gap-2">
<Target className="h-4 w-4" />
Как начать работу:
</h4>
<ol className="text-white/60 text-sm space-y-1 list-decimal list-inside">
<li>Разверните селектор кампаний выше (нажмите кнопку с иконкой)</li>
<li>Выберите нужные кампании из списка или введите ID вручную</li>
<li>Нажмите кнопку &ldquo;Загрузить&rdquo; для получения статистики</li>
</ol>
</div>
</div>
</div>
</Card>