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 .activity-header .activity-parent if activity.TypeName() == "ActivityCreate" ActivityCreateTitle(activity.(*arn.ActivityCreate), user) else if activity.TypeName() == "ActivityConsumeAnime" ActivityConsumeAnimeTitle(activity.(*arn.ActivityConsumeAnime), user) if user != nil //- button.activity-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.activity-action.tip.action(data-action="deleteObject", data-trigger="click", aria-label="Delete", data-return-path="/activity", data-confirm-type="activity") RawIcon("trash") .activity-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 ActivityConsumeAnimeTitle(activity *arn.ActivityConsumeAnime, user *arn.User) a(href=activity.Anime().Link())= activity.Anime().TitleByUser(user) component ActivityConsumeAnimeText(activity *arn.ActivityConsumeAnime, user *arn.User) if activity.ToEpisode > activity.FromEpisode em.actvity-text-consume-anime= fmt.Sprintf("%s watched episodes %d - %d", activity.Creator().Nick, activity.FromEpisode, activity.ToEpisode) else em.actvity-text-consume-anime= fmt.Sprintf("%s watched episode %d", activity.Creator().Nick, activity.ToEpisode) component ActivityCreateTitle(activity *arn.ActivityCreate, user *arn.User) if activity.ObjectType == "Post" a(href=activity.Postable().Parent().Link())= activity.Postable().Parent().TitleByUser(user) else if activity.ObjectType == "Thread" a(href=activity.Postable().Link())= activity.Postable().TitleByUser(user) else if activity.ObjectType == "AMV" || activity.ObjectType == "SoundTrack" || activity.ObjectType == "Quote" 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.actvity-text-create= "new " + strings.ToLower(activity.ObjectType)