{{ define "timeline/fragments/timeline" }}

Timeline

{{ range $i, $e := .Timeline }}
{{ if ne $i 0 }}
{{ end }} {{ with $e }}
{{ if .Repo }} {{ template "timeline/fragments/repoEvent" (list $ .) }} {{ else if .Star }} {{ template "timeline/fragments/starEvent" (list $ .) }} {{ else if .Follow }} {{ template "timeline/fragments/followEvent" (list $ .) }} {{ end }}
{{ end }}
{{ end }}
{{ end }} {{ define "timeline/fragments/repoEvent" }} {{ $root := index . 0 }} {{ $event := index . 1 }} {{ $repo := $event.Repo }} {{ $source := $event.Source }} {{ $userHandle := resolve $repo.Did }}
{{ template "user/fragments/picHandleLink" $repo.Did }} {{ with $source }} {{ $sourceDid := resolve .Did }} forked {{ $sourceDid }}/{{ .Name }} to {{ $repo.Name }} {{ else }} created {{ $repo.Name }} {{ end }} {{ template "repo/fragments/time" $repo.Created }}
{{ with $repo }} {{ template "user/fragments/repoCard" (list $root . true true (dict "IsStarred" $event.IsStarred "RepoAt" .RepoAt "Stats" (dict "StarCount" $event.StarCount))) }} {{ end }} {{ end }} {{ define "timeline/fragments/starEvent" }} {{ $root := index . 0 }} {{ $event := index . 1 }} {{ $star := $event.Star }} {{ with $star }} {{ $starrerHandle := resolve .StarredByDid }} {{ $repoOwnerHandle := resolve .Repo.Did }}
{{ template "user/fragments/picHandleLink" $starrerHandle }} starred {{ $repoOwnerHandle | truncateAt30 }}/{{ .Repo.Name }} {{ template "repo/fragments/time" .Created }}
{{ with .Repo }} {{ template "user/fragments/repoCard" (list $root . true true (dict "IsStarred" $event.IsStarred "RepoAt" .RepoAt "Stats" (dict "StarCount" $event.StarCount))) }} {{ end }} {{ end }} {{ end }} {{ define "timeline/fragments/followEvent" }} {{ $root := index . 0 }} {{ $event := index . 1 }} {{ $follow := $event.Follow }} {{ $profile := $event.Profile }} {{ $followStats := $event.FollowStats }} {{ $followStatus := $event.FollowStatus }} {{ $userHandle := resolve $follow.UserDid }} {{ $subjectHandle := resolve $follow.SubjectDid }}
{{ template "user/fragments/picHandleLink" $userHandle }} followed {{ template "user/fragments/picHandleLink" $subjectHandle }} {{ template "repo/fragments/time" $follow.FollowedAt }}
{{ template "user/fragments/followCard" (dict "LoggedInUser" $root.LoggedInUser "UserDid" $follow.SubjectDid "Profile" $profile "FollowStatus" $followStatus "FollowersCount" $followStats.Followers "FollowingCount" $followStats.Following) }} {{ end }}