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())) .post-author Avatar(activity.Creator()) .post-content .activity-header .activity-parent if activity.Type() == "ActivityCreate" ActivityCreateTitle(activity.(*arn.ActivityCreate), user) else if activity.Type() == "ActivityConsumeAnime" ActivityConsumeAnimeTitle(activity.(*arn.ActivityConsumeAnime), user) if user != nil && user.ID == activity.GetCreatedBy() && activity.Type() == "ActivityConsumeAnime" button.activity-action.tip.action(data-action="deleteObject", data-trigger="click", aria-label="Delete", data-return-path="/activity", data-confirm-type="activity", data-api=fmt.Sprintf("/api/%s/%s", strings.ToLower(activity.Type()), activity.GetID())) RawIcon("trash") .activity-date.utc-date(data-date=activity.GetCreated()) if activity.Type() == "ActivityCreate" ActivityCreateText(activity.(*arn.ActivityCreate), user) else if activity.Type() == "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("watched episodes %d - %d", activity.FromEpisode, activity.ToEpisode) else em.actvity-text-consume-anime= fmt.Sprintf("watched episode %d", 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) //- component ActivityFeed(entries []*arn.EditLogEntry, user *arn.User) //- h1 Activity //- .activities //- each entry in entries //- ActivityPost(entry.Object().(arn.Postable), user) //- component ActivityPost(post arn.Postable, user *arn.User) //- if post.Parent() != nil //- Postable(post, user, false, fmt.Sprintf(`

%s

`, post.Parent().Link(), html.EscapeString(post.Parent().TitleByUser(user))), "") //- else //- Postable(post, user, false, fmt.Sprintf(`

%s

`, post.Link(), html.EscapeString(post.TitleByUser(user))), "")