Episodes now have their own ID

This commit is contained in:
2019-08-28 17:06:42 +09:00
parent 5551dd176e
commit 3a15829831
29 changed files with 422 additions and 412 deletions

View File

@ -37,10 +37,10 @@ func Get(ctx aero.Context) error {
}
// Episodes
episodes := anime.Episodes().Items
episodes := anime.Episodes()
if len(episodes) > maxEpisodes {
episodes = anime.Episodes().Last(maxEpisodesLongSeries)
episodes = episodes[len(episodes)-maxEpisodesLongSeries:]
}
// Friends watching

View File

@ -1,11 +1,11 @@
component Anime(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, amvs []*arn.AMV, amvAppearances []*arn.AMV, episodes []*arn.AnimeEpisode, friends []*arn.User, listItems map[*arn.User]*arn.AnimeListItem, episodeToFriends map[int][]*arn.User, user *arn.User)
component Anime(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, amvs []*arn.AMV, amvAppearances []*arn.AMV, episodes []*arn.Episode, friends []*arn.User, listItems map[*arn.User]*arn.AnimeListItem, episodeToFriends map[int][]*arn.User, user *arn.User)
.anime
.anime-main-column
AnimeMainColumn(anime, listItem, tracks, amvs, amvAppearances, episodes, episodeToFriends, user)
.anime-side-column
AnimeSideColumn(anime, friends, listItems, user)
component AnimeMainColumn(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, amvs []*arn.AMV, amvAppearances []*arn.AMV, episodes []*arn.AnimeEpisode, episodeToFriends map[int][]*arn.User, user *arn.User)
component AnimeMainColumn(anime *arn.Anime, listItem *arn.AnimeListItem, tracks []*arn.SoundTrack, amvs []*arn.AMV, amvAppearances []*arn.AMV, episodes []*arn.Episode, episodeToFriends map[int][]*arn.User, user *arn.User)
.anime-header(data-id=anime.ID)
a.anime-image-container.mountable(href=anime.ImageLink("original"), target="_blank", rel="noopener", data-mountable-type="header")
img.anime-cover-image.lazy(data-src=anime.ImageLink("large"), data-webp="true", data-color=anime.AverageColor(), alt=anime.Title.ByUser(user), importance="high")

View File

@ -109,11 +109,12 @@ func Episodes(ctx aero.Context) error {
return ctx.Error(http.StatusNotFound, "Anime not found", err)
}
animeEpisodes, err := arn.GetAnimeEpisodes(id)
// episodes := anime.Episodes()
if err != nil {
return ctx.Error(http.StatusNotFound, "Anime episodes not found", err)
}
// if err != nil {
// return ctx.Error(http.StatusNotFound, "Anime episodes not found", err)
// }
return ctx.HTML(components.EditAnimeTabs(anime) + editform.Render(animeEpisodes, "Edit anime episodes", user))
// editform.Render(episodes, "Edit anime episodes", user)
return ctx.HTML(components.EditAnimeTabs(anime) + "<p class='no-data mountable'>Temporarily disabled.</p>")
}

View File

@ -38,5 +38,5 @@ func Episodes(ctx aero.Context) error {
return ctx.Error(http.StatusNotFound, "Anime not found", err)
}
return ctx.HTML(components.AnimeEpisodes(anime, anime.Episodes().Items, episodeToFriends, user, true))
return ctx.HTML(components.AnimeEpisodes(anime, anime.Episodes(), episodeToFriends, user, true))
}

View File

@ -1,4 +1,4 @@
component AnimeEpisodes(anime *arn.Anime, episodes []*arn.AnimeEpisode, episodeToFriends map[int][]*arn.User, user *arn.User, standAlonePage bool)
component AnimeEpisodes(anime *arn.Anime, episodes []*arn.Episode, episodeToFriends map[int][]*arn.User, user *arn.User, standAlonePage bool)
if standAlonePage
h1.mountable
a(href=anime.Link())= anime.Title.ByUser(user)
@ -6,11 +6,11 @@ component AnimeEpisodes(anime *arn.Anime, episodes []*arn.AnimeEpisode, episodeT
if len(episodes) > 0
.anime-section.mountable
h3.anime-section-name
a(href=anime.Episodes().Link()) Episodes
a(href=fmt.Sprintf("/anime/%s/episodes", anime.ID)) Episodes
.episodes
each episode in episodes
a.episode.mountable(href=anime.Link() + "/episode/" + strconv.Itoa(episode.Number), data-mountable-type="episode", data-available=episode.Available())
a.episode.mountable(href=episode.Link(), data-mountable-type="episode", data-available=episode.Available())
.episode-number
if episode.Number != -1
span= episode.Number