@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