101 lines
3.3 KiB
Plaintext

component ProfileHeader(viewUser *arn.User, user *arn.User)
.profile
img.profile-cover(src=viewUser.CoverImageURL(), alt="Cover image")
.image-container.mountable
ProfileImage(viewUser)
.intro-container.mountable
h2#nick= viewUser.Nick
if viewUser.Tagline != ""
p.profile-field.tagline
Icon("comment")
span.tagline-text= viewUser.Tagline
else
p.profile-field.tagline
Icon("comment")
span.tagline-text No tagline yet.
if viewUser.Website != ""
p.profile-field.website
Icon("home")
a(href=viewUser.WebsiteURL(), target="_blank", rel="nofollow")= viewUser.Website
if viewUser.Accounts.Osu.Nick != "" && viewUser.Accounts.Osu.PP >= 1000
p.profile-field.osu(title="osu! Level " + toString(int(viewUser.Accounts.Osu.Level)) + " | Accuracy: " + fmt.Sprintf("%.1f", viewUser.Accounts.Osu.Accuracy) + "%")
Icon("trophy")
a(href="https://osu.ppy.sh/u/" + viewUser.Accounts.Osu.Nick, target="_blank", rel="noopener")= toString(int(viewUser.Accounts.Osu.PP)) + " pp"
//- if viewUser.dataEditCount
//- p.profile-field.editor-contribution(title="Anime data modifications")
//- Icon("edit")
//- span= viewUser.dataEditCount
if viewUser.Registered != ""
p.profile-field.registration-date(title="Member since")
Icon("calendar")
//- span= time.Parse(time.RFC3339, viewUser.Registered)
span= viewUser.RegisteredTime().Format("Jan 2006")
//- span= monthNames[joined.getMonth()] + ' ' + joined.getFullYear()
if viewUser.Role != ""
p.profile-field.role
Icon("rocket")
span= arn.Capitalize(viewUser.Role)
component Profile(viewUser *arn.User, user *arn.User, animeList *arn.AnimeList, threads []*arn.Thread, posts []*arn.Post, tracks []*arn.SoundTrack)
ProfileHeader(viewUser, user)
.profile-category.mountable
h3
a.ajax(href="/+" + viewUser.Nick + "/animelist", title="View all anime") Anime
.profile-watching-list
if len(animeList.Items) == 0
p No anime in the collection.
else
each item in animeList.Items
a.profile-watching-list-item.ajax(href=item.Anime().Link(), title=item.Anime().Title.Canonical + " (" + toString(item.Episodes) + " / " + arn.EpisodesToString(item.Anime().EpisodeCount) + ")")
img.anime-cover-image.profile-watching-list-item-image.lazy(data-src=item.Anime().Image.Tiny, alt=item.Anime().Title.Canonical)
.profile-category.mountable
h3
a.ajax(href="/+" + viewUser.Nick + "/threads", title="View all threads") Threads
if len(threads) == 0
p No threads on the forum.
else
each thread in threads
ThreadLink(thread)
.profile-category.mountable
h3
a.ajax(href="/+" + viewUser.Nick + "/posts", title="View all posts") Posts
if len(posts) == 0
p No posts on the forum.
else
each post in posts
.post
.post-author
Avatar(post.Author())
.post-content
div!= post.HTML()
.post-toolbar.active
.spacer
.post-likes= len(post.Likes)
.profile-category.mountable
h3
a.ajax(href="/+" + viewUser.Nick + "/tracks", title="View all tracks") Tracks
if len(tracks) == 0
p No soundtracks posted yet.
else
.sound-tracks
each track in tracks
SoundTrack(track)
//- if user != nil && user.Role == "admin"
//- .footer
//- a(href="/api/user/" + viewUser.ID) User API