123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <div id="profile-avatar-card" class="ui card">
- <div id="profile-avatar" class="content tw-flex">
- {{if eq .SignedUserID .ContextUser.ID}}
- <a class="image" href="{{AppSubUrl}}/user/settings" data-tooltip-content="{{ctx.Locale.Tr "user.change_avatar"}}">
- {{/* the size doesn't take affect (and no need to take affect), image size(width) should be controlled by the parent container since this is not a flex layout*/}}
- {{ctx.AvatarUtils.Avatar .ContextUser 256}}
- </a>
- {{else}}
- <span class="image">
- {{ctx.AvatarUtils.Avatar .ContextUser 256}}
- </span>
- {{end}}
- </div>
- <div class="content gt-word-break profile-avatar-name">
- {{if .ContextUser.FullName}}<span class="header text center">{{.ContextUser.FullName}}</span>{{end}}
- <span class="username text center">{{.ContextUser.Name}} {{if .IsAdmin}}
- <a class="muted" href="{{AppSubUrl}}/admin/users/{{.ContextUser.ID}}" data-tooltip-content="{{ctx.Locale.Tr "admin.users.details"}}">
- {{svg "octicon-gear" 18}}
- </a>
- {{end}}</span>
- <div class="gt-mt-3">
- <a class="muted" href="{{.ContextUser.HomeLink}}?tab=followers">{{svg "octicon-person" 18 "gt-mr-2"}}{{.NumFollowers}} {{ctx.Locale.Tr "user.followers"}}</a> · <a class="muted" href="{{.ContextUser.HomeLink}}?tab=following">{{.NumFollowing}} {{ctx.Locale.Tr "user.following"}}</a>
- {{if .EnableFeed}}
- <a href="{{.ContextUser.HomeLink}}.rss"><i class="ui text grey gt-ml-3" data-tooltip-content="{{ctx.Locale.Tr "rss_feed"}}">{{svg "octicon-rss" 18}}</i></a>
- {{end}}
- </div>
- </div>
- <div class="extra content gt-word-break">
- <ul>
- {{if .UserBlocking}}
- <li class="text red">{{svg "octicon-circle-slash"}} {{ctx.Locale.Tr "user.block.blocked"}}</li>
- {{if .UserBlocking.Note}}
- <li class="text small red">{{ctx.Locale.Tr "user.block.note"}}: {{.UserBlocking.Note}}</li>
- {{end}}
- {{end}}
- {{if .ContextUser.Location}}
- <li>
- {{svg "octicon-location"}}
- <span class="tw-flex-1">{{.ContextUser.Location}}</span>
- {{if .ContextUserLocationMapURL}}
- <a href="{{.ContextUserLocationMapURL}}" rel="nofollow noreferrer" data-tooltip-content="{{ctx.Locale.Tr "user.show_on_map"}}">
- {{svg "octicon-link-external"}}
- </a>
- {{end}}
- </li>
- {{end}}
- {{if (eq .SignedUserID .ContextUser.ID)}}
- <li>
- {{svg "octicon-mail"}}
- <a class="tw-flex-1" href="mailto:{{.ContextUser.Email}}" rel="nofollow">{{.ContextUser.Email}}</a>
- <a href="{{AppSubUrl}}/user/settings#privacy-user-settings">
- {{if .ShowUserEmail}}
- <i data-tooltip-content="{{ctx.Locale.Tr "user.email_visibility.limited"}}">
- {{svg "octicon-unlock"}}
- </i>
- {{else}}
- <i data-tooltip-content="{{ctx.Locale.Tr "user.email_visibility.private"}}">
- {{svg "octicon-lock"}}
- </i>
- {{end}}
- </a>
- </li>
- {{else}}
- {{if .ShowUserEmail}}
- <li>
- {{svg "octicon-mail"}}
- <a href="mailto:{{.ContextUser.Email}}" rel="nofollow">{{.ContextUser.Email}}</a>
- </li>
- {{end}}
- {{end}}
- {{if .ContextUser.Website}}
- <li>
- {{svg "octicon-link"}}
- <a target="_blank" rel="noopener noreferrer me" href="{{.ContextUser.Website}}">{{.ContextUser.Website}}</a>
- </li>
- {{end}}
- {{if $.RenderedDescription}}
- <li>
- <div class="render-content markup">{{$.RenderedDescription}}</div>
- </li>
- {{end}}
- {{range .OpenIDs}}
- {{if .Show}}
- <li>
- {{svg "fontawesome-openid"}}
- <a target="_blank" rel="noopener noreferrer" href="{{.URI}}">{{.URI}}</a>
- </li>
- {{end}}
- {{end}}
- <li>{{svg "octicon-calendar"}} <span>{{ctx.Locale.Tr "user.joined_on" (DateTime "short" .ContextUser.CreatedUnix)}}</span></li>
- {{if and .Orgs .HasOrgsVisible}}
- <li>
- <ul class="user-orgs">
- {{range .Orgs}}
- {{if (or .Visibility.IsPublic (and ($.SignedUser) (or .Visibility.IsLimited (and (.HasMemberWithUserID ctx $.SignedUserID) .Visibility.IsPrivate) ($.IsAdmin))))}}
- <li>
- <a href="{{.HomeLink}}" data-tooltip-content="{{.Name}}">
- {{ctx.AvatarUtils.Avatar .}}
- </a>
- </li>
- {{end}}
- {{end}}
- </ul>
- </li>
- {{end}}
- {{if .Badges}}
- <li>
- <ul class="user-badges">
- {{range .Badges}}
- <li>
- <img width="64" height="64" src="{{.ImageURL}}" alt="{{.Description}}" data-tooltip-content="{{.Description}}">
- </li>
- {{end}}
- </ul>
- </li>
- {{end}}
- {{if and .IsSigned (ne .SignedUserID .ContextUser.ID)}}
- {{if not .UserBlocking}}
- <li class="follow" hx-target="#profile-avatar-card" hx-indicator="#profile-avatar-card">
- {{if $.IsFollowing}}
- <button hx-post="{{.ContextUser.HomeLink}}?action=unfollow" class="ui basic red button">
- {{svg "octicon-person"}} {{ctx.Locale.Tr "user.unfollow"}}
- </button>
- {{else}}
- <button hx-post="{{.ContextUser.HomeLink}}?action=follow" class="ui basic primary button">
- {{svg "octicon-person"}} {{ctx.Locale.Tr "user.follow"}}
- </button>
- {{end}}
- </li>
- {{end}}
- <li>
- {{if not .UserBlocking}}
- <a class="muted show-modal" href="#" data-modal="#block-user-modal" data-modal-modal-blockee="{{.ContextUser.Name}}" data-modal-modal-blockee-name="{{.ContextUser.GetDisplayName}}" data-modal-modal-form.action="{{AppSubUrl}}/user/settings/blocked_users">{{ctx.Locale.Tr "user.block.block.user"}}</a>
- {{else}}
- <a class="muted" href="{{AppSubUrl}}/user/settings/blocked_users">{{ctx.Locale.Tr "user.block.unblock"}}</a>
- {{end}}
- </li>
- {{end}}
- </ul>
- </div>
- </div>
-
- {{template "shared/user/block_user_dialog" .}}
|