41 lines
2.0 KiB
Plaintext

component AnimeEpisode(anime *arn.Anime, episode *arn.AnimeEpisode, episodeIndex int, uploaded bool, user *arn.User)
h1
a(href=anime.Link())= anime.Title.ByUser(user)
.episode-navigation-container
if episodeIndex > 0
.episode-arrow.episode-arrow-previous
a.light-button(href=anime.Link() + "/episode/" + strconv.Itoa(anime.Episodes().Items[episodeIndex - 1].Number), title="Previous episode")
RawIcon("chevron-left")
.episode-video
if uploaded
.video-container(id="stream-test")
video.video.lazy.action(data-action="toggleFullscreen", data-trigger="dblclick", data-id="stream-test")
source(data-src=fmt.Sprintf("https://arn.sfo2.cdn.digitaloceanspaces.com/videos/anime/%s/%d.webm", anime.ID, episode.Number), data-type="video/webm")
track(label="English", kind="subtitles", srclang="en", src=fmt.Sprintf("/anime/%s/episode/%d/subtitles/en", anime.ID, episode.Number), default)
VideoControls("stream-test", time.Duration(0))
else
.video-container.episode-not-available(title="Episode not available yet")
//- a(href=anime.Link(), title=anime.Title.ByUser(user))
//- img.anime-cover-image.lazy(data-src=anime.ImageLink("large"), data-webp="true", data-color=anime.AverageColor(), alt=anime.Title.ByUser(user))
if episodeIndex < len(anime.Episodes().Items) - 1
.episode-arrow.episode-arrow-next
a.light-button(href=anime.Link() + "/episode/" + strconv.Itoa(anime.Episodes().Items[episodeIndex + 1].Number), title="Next episode")
RawIcon("chevron-right")
h3.episode-view-number= "Episode " + strconv.Itoa(episode.Number)
if episode.Title.Japanese != ""
.episode-view-title
Japanese(episode.Title.Japanese)
if validate.DateTime(episode.AiringDate.Start)
p.episode-view-airing-date
span.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman()
.footer
p Make sure to support the anime you're watching by buying officially released Blu-rays and merchandise.