33 lines
1.7 KiB
Plaintext
33 lines
1.7 KiB
Plaintext
{{define "title"}}Watch {{.Anime.Title}} - MyAnimeList{{end}}
|
|
{{define "content"}}
|
|
{{$anime := .Anime}}
|
|
{{$episodes := .Episodes}}
|
|
{{$currentEpID := .CurrentEpID}}
|
|
|
|
<div class="flex flex-col gap-8 pb-12 lg:flex-row lg:gap-6">
|
|
<div class="flex-1 min-w-0">
|
|
<div id="video-player-container">
|
|
{{template "video_player" dict "WatchData" .WatchData "TotalEpisodes" $anime.Episodes}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="w-full lg:w-80 xl:w-96 flex-shrink-0">
|
|
{{if eq (len $episodes) 0}}
|
|
<div class="flex flex-col items-center justify-center gap-2 py-12 text-neutral-400">
|
|
<svg class="h-10 w-10 opacity-30" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z" /></svg>
|
|
<p class="text-sm">No episodes found</p>
|
|
</div>
|
|
{{else}}
|
|
<div class="flex flex-col gap-1 overflow-y-auto max-h-[70vh] lg:max-h-[calc(100vh-8rem)] pr-2 scrollbar-hide" data-episode-list>
|
|
{{range $episodes}}
|
|
{{$isCurrent := eq (printf "%v" .MalID) $currentEpID}}
|
|
<a href="/anime/{{$anime.MalID}}/watch?ep={{.MalID}}" class="flex items-center gap-3 px-3 py-2 transition-colors hover:bg-white/5 text-left {{if $isCurrent}}bg-accent/20{{end}}" data-episode-id="{{.MalID}}">
|
|
<span class="w-10 flex-shrink-0 text-xs font-medium text-neutral-500 tabular-nums">EP{{.MalID}}</span>
|
|
<span class="truncate text-sm text-neutral-300" data-episode-title>{{.Title}}</span>
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}} |