appview/pages: show user avatar in profile dropdown #287

merged
opened by uncenter.dev targeting master from uncenter.dev/core: feat/pic-handle-profile-dropdown

Similar to GitHub, your handle in the top right (for the profile dropdown) now shows the user's avatar to the side.

Changed files
+18 -12
appview
pages
templates
+3 -2
appview/pages/templates/layouts/topbar.html
···
<summary
class="cursor-pointer list-none"
>
-
{{ didOrHandle .Did .Handle }}
+
{{ $user := didOrHandle .Did .Handle }}
+
{{ template "user/fragments/picHandle" $user }}
</summary>
<div
class="absolute flex flex-col right-0 mt-4 p-4 rounded w-48 bg-white dark:bg-gray-800 dark:text-white border border-gray-200 dark:border-gray-700"
>
-
<a href="/{{ didOrHandle .Did .Handle }}">profile</a>
+
<a href="/{{ $user }}">profile</a>
<a href="/knots">knots</a>
<a href="/spindles">spindles</a>
<a href="/settings">settings</a>
+1 -1
appview/pages/templates/repo/issues/issue.html
···
<span class="text-gray-500 dark:text-gray-400 text-sm flex flex-wrap items-center gap-1">
opened by
{{ $owner := didOrHandle .Issue.OwnerDid .IssueOwnerHandle }}
-
{{ template "user/fragments/picHandle" $owner }}
+
{{ template "user/fragments/picHandleLink" $owner }}
<span class="select-none before:content-['\00B7']"></span>
<time title="{{ .Issue.Created | longTimeFmt }}">
{{ .Issue.Created | timeFmt }}
+1 -1
appview/pages/templates/repo/issues/issues.html
···
<span class="ml-1">
{{ $owner := index $.DidHandleMap .OwnerDid }}
-
{{ template "user/fragments/picHandle" $owner }}
+
{{ template "user/fragments/picHandleLink" $owner }}
</span>
<span class="before:content-['·']">
+1 -1
appview/pages/templates/repo/pulls/fragments/pullHeader.html
···
<span class="text-gray-500 dark:text-gray-400 text-sm flex flex-wrap items-center gap-1">
opened by
{{ $owner := index $.DidHandleMap .Pull.OwnerDid }}
-
{{ template "user/fragments/picHandle" $owner }}
+
{{ template "user/fragments/picHandleLink" $owner }}
<span class="select-none before:content-['\00B7']"></span>
<time>{{ .Pull.Created | timeFmt }}</time>
+1 -1
appview/pages/templates/repo/pulls/pulls.html
···
</span>
<span class="ml-1">
-
{{ template "user/fragments/picHandle" $owner }}
+
{{ template "user/fragments/picHandleLink" $owner }}
</span>
<span>
+4 -4
appview/pages/templates/timeline.html
···
{{ $userHandle := index $.DidHandleMap .Repo.Did }}
<div class="flex items-center">
<p class="text-gray-600 dark:text-gray-300 flex flex-wrap items-center gap-2">
-
{{ template "user/fragments/picHandle" $userHandle }}
+
{{ template "user/fragments/picHandleLink" $userHandle }}
{{ if .Source }}
forked
<a
···
{{ $subjectHandle := index $.DidHandleMap .Follow.SubjectDid }}
<div class="flex items-center">
<p class="text-gray-600 dark:text-gray-300 flex flex-wrap items-center gap-2">
-
{{ template "user/fragments/picHandle" $userHandle }}
+
{{ template "user/fragments/picHandleLink" $userHandle }}
followed
-
{{ template "user/fragments/picHandle" $subjectHandle }}
+
{{ template "user/fragments/picHandleLink" $subjectHandle }}
<time
class="text-gray-700 dark:text-gray-400 text-xs"
>{{ .Follow.FollowedAt | timeFmt }}</time
···
{{ $repoOwnerHandle := index $.DidHandleMap .Star.Repo.Did }}
<div class="flex items-center">
<p class="text-gray-600 dark:text-gray-300 flex items-center gap-2">
-
{{ template "user/fragments/picHandle" $starrerHandle }}
+
{{ template "user/fragments/picHandleLink" $starrerHandle }}
starred
<a
href="/{{ $repoOwnerHandle }}/{{ .Star.Repo.Name }}"
+2 -2
appview/pages/templates/user/fragments/picHandle.html
···
{{ define "user/fragments/picHandle" }}
-
<a href="/{{ . }}" class="flex items-center">
+
<div class="flex items-center">
<img
src="{{ tinyAvatar . }}"
alt="{{ . }}"
class="rounded-full h-6 w-6 mr-1 border border-gray-300 dark:border-gray-700"
/>
{{ . | truncateAt30 }}
-
</a>
+
</div>
{{ end }}
+5
appview/pages/templates/user/fragments/picHandleLink.html
···
+
{{ define "user/fragments/picHandleLink" }}
+
<a href="/{{ . }}">
+
{{ template "user/fragments/picHandle" . }}
+
</a>
+
{{ end }}