component ActivityFeed(entries []arn.Activity, nextIndex int, user *arn.User) h1.page-title Activity .tabs Tab("Global", "globe", "/activity") Tab("Followed", "user-plus", "/activity/followed") if len(entries) == 0 p.no-data.mountable No activity here. else #load-more-target.activities ActivitiesScrollable(entries, user) if nextIndex != -1 .buttons LoadMore(nextIndex) #load-new-activities(data-count="0") .buttons button.page-main-action.action(data-action="reloadContent", data-trigger="click") Icon("refresh") span#load-new-activities-text 0 new activities component ActivitiesScrollable(entries []arn.Activity, user *arn.User) each entry in entries Activity(entry, user) component Activity(activity arn.Activity, user *arn.User) .activity.post-parent.mountable(id=fmt.Sprintf("activity-%s", activity.GetID()), data-api=utils.ActivityAPILink(activity)) .post-author Avatar(activity.Creator()) .post-content .post-header .post-creator a(href=activity.Creator().Link())= activity.Creator().Nick if activity.TypeName() == "ActivityCreate" ActivityCreateMeta(activity.(*arn.ActivityCreate), user) if user != nil //- button.post-action.tip.action(data-action="like", data-trigger="click", aria-label="Like") //- Icon("heart") //- if activity.TypeName() == "ActivityCreate" //- span= activity.(*arn.ActivityCreate).Object().CountLikes() //- else //- span= len(activity.(*arn.ActivityConsumeAnime).Likes) if user.ID == activity.GetCreatedBy() && activity.TypeName() == "ActivityConsumeAnime" button.post-action.tip.action(data-action="deleteObject", data-trigger="click", aria-label="Delete", data-return-path="/activity", data-confirm-type="activity") RawIcon("trash") .post-date.utc-date(data-date=activity.GetCreated()) if activity.TypeName() == "ActivityCreate" ActivityCreateText(activity.(*arn.ActivityCreate), user) else if activity.TypeName() == "ActivityConsumeAnime" ActivityConsumeAnimeText(activity.(*arn.ActivityConsumeAnime), user) component ActivityConsumeAnimeText(activity *arn.ActivityConsumeAnime, user *arn.User) span watched a(href=activity.Anime().Link())= activity.Anime().TitleByUser(user) if activity.ToEpisode > activity.FromEpisode span= fmt.Sprintf(" episodes %d - %d.", activity.FromEpisode, activity.ToEpisode) else span= fmt.Sprintf(" episode %d.", activity.ToEpisode) component ActivityCreateMeta(activity *arn.ActivityCreate, user *arn.User) if activity.ObjectType == "Post" if activity.Postable().GetParentType() != "User" span in a(href=activity.Postable().Parent().Link())= activity.Postable().Parent().TitleByUser(user) else if activity.Postable().GetParentID() != activity.CreatedBy span to a(href=activity.Postable().Parent().Link())= activity.Postable().Parent().TitleByUser(user) else if activity.ObjectType == "Thread" span in a(href=activity.Postable().Link())= activity.Postable().TitleByUser(user) else if activity.ObjectType == "AMV" || activity.ObjectType == "SoundTrack" || activity.ObjectType == "Quote" span in a(href=activity.Object().(arn.PostParent).Link())= activity.Object().(arn.PostParent).TitleByUser(user) component ActivityCreateText(activity *arn.ActivityCreate, user *arn.User) if activity.ObjectType == "Post" || activity.ObjectType == "Thread" div!= activity.Postable().HTML() else em.activity-text-create= "new " + strings.ToLower(activity.ObjectType)