2017-10-20 16:52:07 +02:00
|
|
|
component Anime(anime *arn.Anime, friends []*arn.User, listItems map[*arn.User]*arn.AnimeListItem, user *arn.User)
|
2017-11-03 12:02:13 +01:00
|
|
|
//- AnimeTabs(anime)
|
2017-11-03 18:10:31 +01:00
|
|
|
.anime
|
|
|
|
.anime-header(data-id=anime.ID)
|
|
|
|
if anime.Image.Large != ""
|
|
|
|
.anime-image-container
|
|
|
|
img.anime-cover-image(src=anime.Image.Large, alt=anime.Title.ByUser(user))
|
2017-10-17 16:58:28 +02:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- if anime.StartDate != ""
|
|
|
|
//- .anime-start-date
|
|
|
|
//- span(title="Start date: " + anime.StartDate)= anime.StartDate[:4]
|
|
|
|
//- if anime.EndDate != "" && anime.StartDate[:4] != anime.EndDate[:4]
|
|
|
|
//- span -
|
|
|
|
//- span(title="End date: " + anime.EndDate)= anime.EndDate[:4]
|
|
|
|
|
|
|
|
.space
|
2016-12-01 00:29:36 +09:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
.anime-info
|
|
|
|
h1.anime-title(title=anime.Type)= anime.Title.ByUser(user)
|
2016-11-02 22:47:22 +09:00
|
|
|
|
2017-07-06 21:38:19 +02:00
|
|
|
h2.anime-alternative-title
|
2017-07-11 16:54:17 +02:00
|
|
|
Japanese(anime.Title.Japanese)
|
2016-11-02 22:47:22 +09:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- h3.anime-section-name.anime-summary-header Summary
|
|
|
|
p.anime-summary= anime.Summary
|
|
|
|
|
|
|
|
if user != nil
|
|
|
|
.buttons.anime-actions
|
|
|
|
if user.Role == "editor" || user.Role == "admin"
|
|
|
|
a.button.ajax(href=anime.Link() + "/edit")
|
|
|
|
Icon("pencil-square-o")
|
|
|
|
span Edit anime
|
2017-06-28 17:55:08 +02:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
if user.AnimeList().Contains(anime.ID)
|
|
|
|
a.button.ajax(href="/+" + user.Nick + "/animelist/anime/" + anime.ID)
|
|
|
|
Icon("pencil")
|
|
|
|
span Edit in collection
|
|
|
|
else
|
|
|
|
button.action(data-api="/api/animelist/" + user.ID, data-action="addAnimeToCollection", data-trigger="click", data-anime-id=anime.ID)
|
|
|
|
Icon("plus")
|
|
|
|
span Add to collection
|
2017-06-08 21:54:39 +02:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- h3.anime-section-name Ratings
|
|
|
|
//- .anime-rating-categories
|
|
|
|
//- .anime-rating-category(title=toString(anime.Rating.Overall))
|
|
|
|
//- if anime.Status == "upcoming"
|
|
|
|
//- .anime-rating-category-name Hype
|
|
|
|
//- else
|
|
|
|
//- .anime-rating-category-name Overall
|
|
|
|
//- Rating(anime.Rating.Overall, user)
|
|
|
|
//- .anime-rating-category(title=toString(anime.Rating.Story))
|
|
|
|
//- .anime-rating-category-name Story
|
|
|
|
//- Rating(anime.Rating.Story, user)
|
|
|
|
//- .anime-rating-category(title=toString(anime.Rating.Visuals))
|
|
|
|
//- .anime-rating-category-name Visuals
|
|
|
|
//- Rating(anime.Rating.Visuals, user)
|
|
|
|
//- .anime-rating-category(title=toString(anime.Rating.Soundtrack))
|
|
|
|
//- .anime-rating-category-name Soundtrack
|
|
|
|
//- Rating(anime.Rating.Soundtrack, user)
|
2017-11-03 12:02:13 +01:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- if len(friends) > 0
|
|
|
|
//- h3.anime-section-name Friends
|
|
|
|
|
|
|
|
//- .anime-friends
|
|
|
|
//- .user-avatars
|
|
|
|
//- each friend in friends
|
|
|
|
//- if friend.Nick != ""
|
|
|
|
//- if friend.IsActive()
|
|
|
|
//- .mountable
|
|
|
|
//- FriendEntry(friend, listItems)
|
|
|
|
//- else
|
|
|
|
//- .mountable
|
|
|
|
//- .inactive-user
|
|
|
|
//- FriendEntry(friend, listItems)
|
2017-11-03 12:02:13 +01:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- if anime.Relations() != nil && len(anime.Relations().Items) > 0
|
|
|
|
//- h3.anime-section-name Relations
|
|
|
|
//- .anime-relations
|
|
|
|
//- each relation in anime.Relations().Items
|
|
|
|
//- a.anime-relation.ajax(href=relation.Anime().Link(), title=relation.Anime().Title.ByUser(user))
|
|
|
|
//- img.anime-relation-image.lazy(data-src=relation.Anime().Image.Tiny, alt=relation.Anime().Title.ByUser(user))
|
|
|
|
//- .anime-relation-type= relation.HumanReadableType()
|
|
|
|
//- .anime-relation-year
|
|
|
|
//- if relation.Anime().StartDate != ""
|
|
|
|
//- span= relation.Anime().StartDate[:4]
|
2017-11-03 12:02:13 +01:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- if len(anime.Trailers) > 0 && anime.Trailers[0].Service == "Youtube" && anime.Trailers[0].ServiceID != ""
|
|
|
|
//- h3.anime-section-name Video
|
|
|
|
//- .anime-trailer.video-container
|
|
|
|
//- iframe.video(src="https://www.youtube.com/embed/" + anime.Trailers[0].ServiceID + "?showinfo=0", allowfullscreen="allowfullscreen")
|
2017-11-03 12:02:13 +01:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- h3.anime-section-name Popularity
|
|
|
|
//- .anime-rating-categories
|
|
|
|
//- .anime-rating-category
|
|
|
|
//- .anime-rating-category-name Watching
|
|
|
|
//- .anime-rating= anime.Popularity.Watching
|
|
|
|
//- .anime-rating-category
|
|
|
|
//- .anime-rating-category-name Completed
|
|
|
|
//- .anime-rating= anime.Popularity.Completed
|
|
|
|
//- .anime-rating-category
|
|
|
|
//- .anime-rating-category-name Planned
|
|
|
|
//- .anime-rating= anime.Popularity.Planned
|
|
|
|
//- .anime-rating-category
|
|
|
|
//- .anime-rating-category-name Hold
|
|
|
|
//- .anime-rating= anime.Popularity.Hold
|
|
|
|
//- .anime-rating-category
|
|
|
|
//- .anime-rating-category-name Dropped
|
|
|
|
//- .anime-rating= anime.Popularity.Dropped
|
2017-06-28 17:55:08 +02:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- //- h3.anime-section-name Reviews
|
|
|
|
//- //- p Coming soon.
|
|
|
|
|
|
|
|
//- h3.anime-section-name Links
|
|
|
|
//- .light-button-group
|
|
|
|
//- //- if anime.Links != nil
|
|
|
|
//- //- each link in anime.Links
|
|
|
|
//- //- a.light-button(href=link.URL, target="_blank")
|
|
|
|
//- //- Icon("external-link")
|
|
|
|
//- //- span= link.Title
|
|
|
|
//- a.light-button(href="https://kitsu.io/anime/" + anime.ID, target="_blank", rel="noopener")
|
|
|
|
//- Icon("external-link")
|
|
|
|
//- span Kitsu
|
|
|
|
|
|
|
|
//- each mapping in anime.Mappings
|
|
|
|
//- a.light-button(href=mapping.Link(), target="_blank", rel="noopener")
|
|
|
|
//- Icon("external-link")
|
|
|
|
//- span= mapping.Name()
|
2016-11-02 22:47:22 +09:00
|
|
|
|
2017-11-03 18:10:31 +01:00
|
|
|
//- .footer
|
|
|
|
//- span Powered by Kitsu.
|
2017-07-21 11:49:28 +02:00
|
|
|
|
|
|
|
component FriendEntry(friend *arn.User, listItems map[*arn.User]*arn.AnimeListItem)
|
|
|
|
CustomAvatar(friend, listItems[friend].Link(friend.Nick), friend.Nick + " => " + listItems[friend].Status + " | " + toString(listItems[friend].Episodes) + " eps | " + fmt.Sprintf("%.1f", listItems[friend].Rating.Overall) + " rating")
|