Обновлены компоненты для отображения статистики и данных о складах. Заменены моковые данные на нулевые значения, чтобы отразить отсутствие информации. Изменены комментарии для улучшения понимания кода. Добавлен автоматический выбор активных кампаний в AdvertisingTab для удобства пользователя.
This commit is contained in:
@ -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">Выберите кампании выше и нажмите “Загрузить” для получения статистики</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>Нажмите кнопку “Загрузить” для получения статистики</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
|
Reference in New Issue
Block a user