@php $campaign = $campaign ?? null; $selectedVideos = old('video_ids', $campaign?->videos->pluck('id')->all() ?? []); $selectedVideos = array_values(array_pad(array_map('strval', $selectedVideos), 3, '')); $selectedPoints = old('wifi_point_ids', $campaign?->wifiPoints->pluck('id')->all() ?? []); @endphp @if (auth()->user()->isAdmin() && ! $campaign)
{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderrorPreenche limite e quantidade contratada se estiverem vazios.
@error('plan_id'){{ $message }}
@enderrorQuando atinge o limite, a campanha pausa. Com várias campanhas no mesmo ponto, a rotação usa a quantidade contratada como peso — não roda uma até acabar.
@error('impression_limit'){{ $message }}
@enderrorDefine o peso no balanceamento entre campanhas do mesmo ponto. Ex.: 100 vs 200 ≈ 1 impressão para cada 2 da outra.
@error('contracted_quantity'){{ $message }}
@enderrorNão há vídeo publicado disponível. Aprove e publique uma peça antes de criar a campanha.
@elseAté {{ \App\Services\CampaignService::MAX_VIDEOS }} peças por campanha — TikTok, Instagram ou MP4. O portal alterna entre elas; todas contam para a mesma campanha.
@for ($slot = 0; $slot < \App\Services\CampaignService::MAX_VIDEOS; $slot++){{ $message }}
@enderror @error('video_ids.*'){{ $message }}
@enderrorNenhum ponto ativo. O administrador precisa cadastrar a rede primeiro.
@else{{ $message }}
@enderror