{{ define "timeline/fragments/preview" }}
{{ template "marquee" $ }} {{ template "marquee-mobile" $ }}
{{ end }} {{ define "marquee" }} {{ $rowOffsets := list 10 80 150 220 }} {{ $prev := -1 }} {{ $w := mul (len .Timeline) 150 }} {{ end }} {{ define "marquee-mobile" }}
{{ range $rowIndex := list 0 1 2 3 }} {{ $offset := mul (add $rowIndex 2) 10 }} {{ if eq (mod $rowIndex 2) 0 }} {{ $offset = mul $offset -1 }} {{ end }}
{{ range $i, $e := $.Timeline }} {{ if eq (mod $i 4) $rowIndex }}
{{ template "eventCard" (list $ $e) }}
{{ end }} {{ end }}
{{ end }}
{{ end }} {{ define "eventCard" }} {{ $root := index . 0 }} {{ $e := index . 1 }} {{ with $e }}
{{ if .Repo }} {{ template "repoEvent" (list $root .) }} {{ else if .RepoStar }} {{ template "starEvent" (list $root .) }} {{ else if .Follow }} {{ template "followEvent" (list $root .) }} {{ end }}
{{ end }} {{ end }} {{ define "timelineEvent" }} {{ $i := index . 0 }} {{ $e := index . 1 }} {{ $variance := randInt 10 }} {{ $offset := add (index . 2) $variance }} {{ $left := mul $i 175 }}
{{ template "eventCard" (list $ $e) }}
{{ end }} {{ define "repoEvent" }} {{ $root := index . 0 }} {{ $event := index . 1 }} {{ $repo := $event.Repo }} {{ $source := $event.Source }} {{ $userHandle := resolve $repo.Did }}
{{ i "folder-plus" "size-4" }}
{{ template "user/fragments/picHandleLink" $repo.Did }} {{ with $source }} {{ $sourceDid := resolve .Did }} forked {{ $sourceDid }}/{{ .Name }} to {{ $repo.Name }} {{ else }} created {{ $repo.Name }} {{ end }}
{{ end }} {{ define "starEvent" }} {{ $root := index . 0 }} {{ $event := index . 1 }} {{ $star := $event.RepoStar }} {{ with $star }} {{ $starrerHandle := resolve .Did }} {{ $repoOwnerHandle := resolve .Repo.Did }}
{{ i "star" "size-4" }}
{{ template "user/fragments/picHandleLink" $starrerHandle }} starred {{ template "user/fragments/pic" (list $repoOwnerHandle "size-6") }} {{ $repoOwnerHandle | truncateAt30 }}/{{ .Repo.Name }}
{{ end }} {{ end }} {{ define "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 }}
{{ i "user-plus" "size-4" }}
{{ template "user/fragments/picHandleLink" $userHandle }} followed {{ template "user/fragments/picHandleLink" $subjectHandle }}
{{ end }}