@props(['video']) @php $isDto = $video instanceof \App\DTO\ResolvedVideo; $isArray = is_array($video); $providerValue = $isDto ? $video->provider->value : ($isArray ? ($video['video_provider'] ?? null) : ($video?->video_provider?->value ?? $video?->video_provider)); $providerLabel = $isDto ? $video->provider->label() : (\App\Enums\VideoProviderType::tryFrom((string) $providerValue)?->label() ?? 'Video'); $url = $isDto ? $video->normalizedUrl : ($isArray ? ($video['video_url'] ?? null) : $video?->video_url); $embedUrl = $isDto ? $video->embedUrl : ($isArray ? ($video['video_embed_url'] ?? null) : $video?->video_embed_url); $metadata = $isDto ? $video->metadata : ($isArray ? ($video['video_metadata'] ?? []) : ($video?->video_metadata ?? [])); $embeddable = $isDto ? $video->isEmbeddable : (bool) ($isArray ? ($video['video_is_embeddable'] ?? false) : $video?->video_is_embeddable); $isDirectMedia = $embedUrl && str_starts_with((string) ($metadata['mime'] ?? ''), 'video/'); $sourceUrl = $metadata['source_url'] ?? $url; $iframeProviders = ['youtube', 'vimeo', 'instagram', 'tiktok']; @endphp
@if (! $url)
Contenuto video non disponibile
@elseif ($isDirectMedia)
@elseif ($embeddable && $embedUrl && in_array($providerValue, $iframeProviders, true))
Caricamento video…
@else
Questo video non può essere incorporato in modo sicuro.
@endif @if ($url) @endif