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) if activity.TypeName() == "ActivityCreate" ActivityCreate(activity.(*arn.ActivityCreate), user) else if activity.TypeName() == "ActivityConsumeAnime" ActivityConsumeAnime(activity.(*arn.ActivityConsumeAnime), 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-header-info //- 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 ActivityConsumeAnime(activity *arn.ActivityConsumeAnime, user *arn.User) h1 TODO 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 ActivityCreate(activity *arn.ActivityCreate, user *arn.User) Postable(activity.Postable(), user, false, true, "") 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)