Monorepo for Tangled tangled.org

appview/pages: show star/unstar buttons on the timeline

Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.sh>

Changed files
+26 -11
appview
pages
templates
timeline
fragments
user
fragments
+5 -4
appview/pages/templates/timeline/fragments/timeline.html
··· 13 13 {{ with $e }} 14 14 <div class="flex flex-col divide-y divide-gray-200 dark:divide-gray-700 border border-gray-200 dark:border-gray-700 rounded-sm"> 15 15 {{ if .Repo }} 16 - {{ template "timeline/fragments/repoEvent" (list $ .Repo .Source) }} 16 + {{ template "timeline/fragments/repoEvent" (list $ .) }} 17 17 {{ else if .Star }} 18 18 {{ template "timeline/fragments/starEvent" (list $ .Star) }} 19 19 {{ else if .Follow }} ··· 29 29 30 30 {{ define "timeline/fragments/repoEvent" }} 31 31 {{ $root := index . 0 }} 32 - {{ $repo := index . 1 }} 33 - {{ $source := index . 2 }} 32 + {{ $event := index . 1 }} 33 + {{ $repo := $event.Repo }} 34 + {{ $source := $event.Source }} 34 35 {{ $userHandle := resolve $repo.Did }} 35 36 <div class="pl-6 py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 flex flex-wrap items-center gap-2 text-sm"> 36 37 {{ template "user/fragments/picHandleLink" $repo.Did }} ··· 51 52 <span class="text-gray-700 dark:text-gray-400 text-xs">{{ template "repo/fragments/time" $repo.Created }}</span> 52 53 </div> 53 54 {{ with $repo }} 54 - {{ template "user/fragments/repoCard" (list $root . true) }} 55 + {{ template "user/fragments/repoCard" (list $root . true true (dict "IsStarred" $event.IsStarred "RepoAt" .RepoAt "Stats" (dict "StarCount" $event.StarCount))) }} 55 56 {{ end }} 56 57 {{ end }} 57 58
+21 -7
appview/pages/templates/user/fragments/repoCard.html
··· 2 2 {{ $root := index . 0 }} 3 3 {{ $repo := index . 1 }} 4 4 {{ $fullName := index . 2 }} 5 + {{ $starButton := false }} 6 + {{ $starData := dict }} 7 + {{ if gt (len .) 3 }} 8 + {{ $starButton = index . 3 }} 9 + {{ if gt (len .) 4 }} 10 + {{ $starData = index . 4 }} 11 + {{ end }} 12 + {{ end }} 5 13 6 14 {{ with $repo }} 7 15 <div class="py-4 px-6 gap-1 flex flex-col drop-shadow-sm rounded bg-white dark:bg-gray-800 min-h-32"> 8 - <div class="font-medium dark:text-white flex items-center"> 16 + <div class="font-medium dark:text-white flex items-center justify-between"> 17 + <div class="flex items-center"> 9 18 {{ if .Source }} 10 19 {{ i "git-fork" "w-4 h-4 mr-1.5 shrink-0" }} 11 20 {{ else }} 12 21 {{ i "book-marked" "w-4 h-4 mr-1.5 shrink-0" }} 13 22 {{ end }} 14 23 15 - {{ $repoOwner := resolve .Did }} 16 - {{- if $fullName -}} 17 - <a href="/{{ $repoOwner }}/{{ .Name }}" class="truncate">{{ $repoOwner }}/{{ .Name }}</a> 18 - {{- else -}} 19 - <a href="/{{ $repoOwner }}/{{ .Name }}" class="truncate">{{ .Name }}</a> 20 - {{- end -}} 24 + {{ $repoOwner := resolve .Did }} 25 + {{- if $fullName -}} 26 + <a href="/{{ $repoOwner }}/{{ .Name }}" class="truncate">{{ $repoOwner }}/{{ .Name }}</a> 27 + {{- else -}} 28 + <a href="/{{ $repoOwner }}/{{ .Name }}" class="truncate">{{ .Name }}</a> 29 + {{- end -}} 30 + </div> 31 + 32 + {{ if and $starButton $root.LoggedInUser }} 33 + {{ template "repo/fragments/repoStar" $starData }} 34 + {{ end }} 21 35 </div> 22 36 {{ with .Description }} 23 37 <div class="text-gray-600 dark:text-gray-300 text-sm line-clamp-2">