@extends('layouts.app') @section('title', $traduccio->titol . ' - Audioguia') @php $slug = $peca->slug; $idiomesDisponibles = $peca->idiomesDisponibles(); $exposicioTraduccio = $peca->exposicio->traduccio($idioma); $insideExpo = true; // Get previous and next pieces for navigation $allPeces = $peca->exposicio->peces()->where('activa', true)->orderBy('ordre')->get(); $currentIndex = $allPeces->search(fn($p) => $p->id === $peca->id); $prevPeca = $currentIndex > 0 ? $allPeces[$currentIndex - 1] : null; $nextPeca = $currentIndex < $allPeces->count() - 1 ? $allPeces[$currentIndex + 1] : null; // Mantenir el mode AD a la navegació $adParam = $modeAudiodescripcio ? '?ad=1' : ''; @endphp @section('content')
@if($prevPeca) @endif @if($nextPeca) @endif
@switch($idioma) @case('es') Volver a la galeria @break @case('en') Back to gallery @break @case('fr') Retour a la galerie @break @default Tornar a la galeria @endswitch
@if($peca->imatges->isNotEmpty())
@foreach($peca->imatges as $index => $imatge) {{ $imatge->alt_text ?? $traduccio->titol }} @endforeach @if($peca->imatges->count() > 1) @endif
@else
@endif

{{ $traduccio->titol }}

@if($traduccio->subtitol)

{{ $traduccio->subtitol }}

@endif @if($traduccio->periode)

{{ $traduccio->periode }}

@endif
@php $teADaquestIdioma = !empty($traduccio->audio_descripcio_url); $reproduintAD = $modeAudiodescripcio && $teADaquestIdioma; $audioUrl = $reproduintAD ? $traduccio->audio_descripcio_url : $traduccio->audio_url; $nomIdiomes = [ 'ca' => 'Català', 'es' => 'Español', 'en' => 'English', 'fr' => 'Français', ]; @endphp @if($audioUrl)

@if($reproduintAD) @switch($idioma) @case('es') Audiodescripcion @break @case('en') Audio description @break @case('fr') Audiodescription @break @default Audiodescripció @endswitch @else @switch($idioma) @case('es') Audio @break @case('en') Audio @break @case('fr') Audio @break @default Àudio @endswitch @endif

{{ $nomIdiomes[$idioma] ?? $idioma }}

@if($modeAudiodescripcio && !$teADaquestIdioma)

@switch($idioma) @case('es') Audiodescripcion no disponible en este idioma @break @case('en') Audio description not available in this language @break @case('fr') Audiodescription non disponible dans cette langue @break @default Audiodescripció no disponible en aquest idioma @endswitch

@endif
@include('components.audio-player', ['audioUrl' => $audioUrl, 'idioma' => $idioma])
@endif @if($traduccio->descripcio)
{!! nl2br(e($traduccio->descripcio)) !!}
@endif @php $videoSignesUrl = $videoSignes?->url; // Extreure YouTube ID de la URL $videoId = null; if ($videoSignesUrl && preg_match('/(?:youtu\.be\/|youtube\.com\/(?:watch\?v=|embed\/))([a-zA-Z0-9_-]{11})/', $videoSignesUrl, $m)) { $videoId = $m[1]; } @endphp @if($videoId)
@switch($idioma) @case('es') Vídeo en lengua de signos catalana (LSC) con subtítulos @break @case('en') Video in Catalan Sign Language (LSC) with subtitles @break @case('fr') Vidéo en langue des signes catalane (LSC) avec sous-titres @break @default Vídeo en llengua de signes catalana (LSC) amb subtítols @endswitch
@endif @if($materials->isNotEmpty())

@switch($idioma) @case('es') Materiales adicionales @break @case('en') Additional materials @break @case('fr') Documents supplementaires @break @default Materials addicionals @endswitch

@foreach($materials as $material) @php // PDFs i videos s'obren al viewer, enllacos externs s'obren directament $usarViewer = in_array($material->tipus, ['pdf', 'video']); $href = $usarViewer ? route('material.show', $material->id) : $material->url; @endphp @if($material->tipus === 'pdf') @elseif($material->tipus === 'video') @else @endif {{ $material->titol }} @endforeach
@endif
@if($prevPeca || $nextPeca)
@endif
@endsection