diff --git a/appview/pages/templates/timeline/fragments/othersBadge.html b/appview/pages/templates/timeline/fragments/othersBadge.html new file mode 100644 index 00000000..bf20d3e5 --- /dev/null +++ b/appview/pages/templates/timeline/fragments/othersBadge.html @@ -0,0 +1,20 @@ +{{ define "timeline/fragments/othersBadge" }} + {{ $group := . }} + and {{ $group.OthersCount }} other{{ if ne $group.OthersCount 1 }}s{{ end }} +{{ end }} diff --git a/appview/pages/templates/timeline/fragments/preview.html b/appview/pages/templates/timeline/fragments/preview.html index a2b87a6d..1fb84bd6 100644 --- a/appview/pages/templates/timeline/fragments/preview.html +++ b/appview/pages/templates/timeline/fragments/preview.html @@ -63,15 +63,16 @@ {{ define "eventCard" }} {{ $root := index . 0 }} - {{ $e := index . 1 }} + {{ $g := index . 1 }} + {{ $e := $g.Primary }} {{ with $e }}
{{ if .Repo }} - {{ template "repoEvent" (list $root .) }} + {{ template "repoEvent" (list $root $g) }} {{ else if .RepoStar }} - {{ template "starEvent" (list $root .) }} + {{ template "starEvent" (list $root $g) }} {{ else if .Follow }} - {{ template "followEvent" (list $root .) }} + {{ template "followEvent" (list $root $g) }} {{ end }}
{{ end }} @@ -79,7 +80,8 @@ {{ define "timelineEvent" }} {{ $i := index . 0 }} - {{ $e := index . 1 }} + {{ $g := index . 1 }} + {{ $e := $g.Primary }} {{ $variance := randInt 10 }} {{ $offset := add (index . 2) $variance }} {{ $left := mul $i 175 }} @@ -87,7 +89,7 @@ class="absolute left-0" style="bottom: {{ $offset }}px; left: {{ $left }}px; transform: translateX(-50%); z-index: 5;" > - {{ template "eventCard" (list $ $e) }} + {{ template "eventCard" (list $ $g) }} @@ -105,7 +107,8 @@ {{ define "repoEvent" }} {{ $root := index . 0 }} - {{ $event := index . 1 }} + {{ $group := index . 1 }} + {{ $event := $group.Primary }} {{ $repo := $event.Repo }} {{ $source := $event.Source }} {{ $userHandle := resolve $repo.Did }} @@ -135,7 +138,8 @@ {{ define "starEvent" }} {{ $root := index . 0 }} - {{ $event := index . 1 }} + {{ $group := index . 1 }} + {{ $event := $group.Primary }} {{ $star := $event.RepoStar }} {{ with $star }} {{ $starrerHandle := resolve .Did }} @@ -146,7 +150,14 @@
{{ template "user/fragments/picHandleLink" $starrerHandle }} - starred + {{ if $group.IsCollapsed }} + + {{ template "timeline/fragments/othersBadge" $group }} + starred + + {{ else }} + starred + {{ end }} {{ template "user/fragments/pic" (list $repoOwnerHandle "size-6") }} {{ $repoOwnerHandle | truncateAt30 }}/{{ .Repo.Name }} @@ -158,7 +169,8 @@ {{ define "followEvent" }} {{ $root := index . 0 }} - {{ $event := index . 1 }} + {{ $group := index . 1 }} + {{ $event := $group.Primary }} {{ $follow := $event.Follow }} {{ $profile := $event.Profile }} {{ $followStats := $event.FollowStats }} @@ -172,7 +184,14 @@
{{ template "user/fragments/picHandleLink" $userHandle }} - followed + {{ if $group.IsCollapsed }} + + {{ template "timeline/fragments/othersBadge" $group }} + followed + + {{ else }} + followed + {{ end }} {{ template "user/fragments/picHandleLink" $subjectHandle }}
diff --git a/appview/pages/templates/timeline/fragments/timeline.html b/appview/pages/templates/timeline/fragments/timeline.html index 860b77dd..c89e9480 100644 --- a/appview/pages/templates/timeline/fragments/timeline.html +++ b/appview/pages/templates/timeline/fragments/timeline.html @@ -117,24 +117,3 @@ "FollowersCount" $followStats.Followers "FollowingCount" $followStats.Following) }} {{ end }} - -{{ define "timeline/fragments/othersBadge" }} - {{ $group := . }} - and {{ $group.OthersCount }} other{{ if ne $group.OthersCount 1 }}s{{ end }} -{{ end }} diff --git a/appview/state/timeline.go b/appview/state/timeline.go index 79d6f39d..4beeb4c2 100644 --- a/appview/state/timeline.go +++ b/appview/state/timeline.go @@ -1,6 +1,7 @@ package state import ( + "fmt" "net/http" "github.com/bluesky-social/indigo/atproto/syntax" @@ -29,12 +30,12 @@ func (s *State) Home(w http.ResponseWriter, r *http.Request) { s.logger.Error("failed to get bluesky posts", "err", err) } - s.pages.Home(w, pages.TimelineParams{ + fmt.Println(s.pages.Home(w, pages.TimelineParams{ LoggedInUser: user, Timeline: timeline, BlueskyPosts: blueskyPosts, ShowNewsletter: s.showNewsletter(user), - }) + })) } func (s *State) HomeOrTimeline(w http.ResponseWriter, r *http.Request) { if s.oauth.GetMultiAccountUser(r) != nil {