2015-11-17 00:11:59 +08:00
|
|
|
{{template "base/head" .}}
|
2020-12-01 12:00:14 +08:00
|
|
|
<div class="page-content user profile">
|
2015-12-08 06:30:52 +08:00
|
|
|
<div class="ui container">
|
2017-12-31 08:47:52 +08:00
|
|
|
<div class="ui stackable grid">
|
2015-12-08 06:30:52 +08:00
|
|
|
<div class="ui five wide column">
|
|
|
|
<div class="ui card">
|
2022-06-10 19:06:34 +08:00
|
|
|
<div id="profile-avatar" class="content df"/>
|
2016-06-27 01:51:09 +08:00
|
|
|
{{if eq .SignedUserName .Owner.Name}}
|
2022-06-28 04:58:46 +08:00
|
|
|
<a class="image tooltip" href="{{AppSubUrl}}/user/settings" data-content="{{.locale.Tr "user.change_avatar"}}" data-position="bottom center">
|
2020-12-04 02:46:11 +08:00
|
|
|
{{avatar .Owner 290}}
|
2015-12-08 06:30:52 +08:00
|
|
|
</a>
|
|
|
|
{{else}}
|
2022-06-10 19:06:34 +08:00
|
|
|
<span class="image">
|
2020-12-04 02:46:11 +08:00
|
|
|
{{avatar .Owner 290}}
|
2015-12-08 06:30:52 +08:00
|
|
|
</span>
|
|
|
|
{{end}}
|
2022-06-10 19:06:34 +08:00
|
|
|
</div>
|
2020-12-04 02:46:11 +08:00
|
|
|
<div class="content word-break profile-avatar-name">
|
2015-12-08 06:30:52 +08:00
|
|
|
{{if .Owner.FullName}}<span class="header text center">{{.Owner.FullName}}</span>{{end}}
|
|
|
|
<span class="username text center">{{.Owner.Name}}</span>
|
2022-11-21 13:14:58 +08:00
|
|
|
{{if .EnableFeed}}
|
|
|
|
<a href="{{.Owner.HomeLink}}.rss"><i class="ui grey icon tooltip ml-3" data-content="{{.locale.Tr "rss_feed"}}" data-position="bottom center">{{svg "octicon-rss" 18}}</i></a>
|
|
|
|
{{end}}
|
2022-05-26 00:29:40 +08:00
|
|
|
<div class="mt-3">
|
2022-06-28 04:58:46 +08:00
|
|
|
<a class="muted" href="{{.Owner.HomeLink}}?tab=followers">{{svg "octicon-person" 18 "mr-2"}}{{.Owner.NumFollowers}} {{.locale.Tr "user.followers"}}</a> · <a class="muted" href="{{.Owner.HomeLink}}?tab=following">{{.Owner.NumFollowing}} {{.locale.Tr "user.following"}}</a>
|
2022-05-26 00:29:40 +08:00
|
|
|
</div>
|
2015-12-08 06:30:52 +08:00
|
|
|
</div>
|
2020-11-04 15:14:07 +08:00
|
|
|
<div class="extra content word-break">
|
2020-12-04 02:46:11 +08:00
|
|
|
<ul>
|
2015-12-08 06:30:52 +08:00
|
|
|
{{if .Owner.Location}}
|
2020-09-12 04:19:00 +08:00
|
|
|
<li>{{svg "octicon-location"}} {{.Owner.Location}}</li>
|
2015-12-08 06:30:52 +08:00
|
|
|
{{end}}
|
2022-08-26 05:55:52 +08:00
|
|
|
{{if .ShowUserEmail}}
|
2015-12-08 06:30:52 +08:00
|
|
|
<li>
|
2020-09-12 04:19:00 +08:00
|
|
|
{{svg "octicon-mail"}}
|
2015-12-08 06:30:52 +08:00
|
|
|
<a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a>
|
|
|
|
</li>
|
|
|
|
{{end}}
|
|
|
|
{{if .Owner.Website}}
|
|
|
|
<li>
|
2020-09-12 04:19:00 +08:00
|
|
|
{{svg "octicon-link"}}
|
2018-12-07 04:15:48 +08:00
|
|
|
<a target="_blank" rel="noopener noreferrer me" href="{{.Owner.Website}}">{{.Owner.Website}}</a>
|
2015-12-08 06:30:52 +08:00
|
|
|
</li>
|
|
|
|
{{end}}
|
2020-08-05 15:48:37 +08:00
|
|
|
{{if $.RenderedDescription}}
|
2019-03-19 10:28:10 +08:00
|
|
|
<li>
|
2021-05-07 16:43:41 +08:00
|
|
|
<div class="render-content markup">{{$.RenderedDescription|Str2html}}</div>
|
2019-03-19 10:28:10 +08:00
|
|
|
</li>
|
|
|
|
{{end}}
|
2017-03-20 16:31:08 +08:00
|
|
|
{{range .OpenIDs}}
|
|
|
|
{{if .Show}}
|
|
|
|
<li>
|
2021-05-23 05:29:46 +08:00
|
|
|
{{svg "fontawesome-openid"}}
|
2018-07-04 07:52:36 +08:00
|
|
|
<a target="_blank" rel="noopener noreferrer" href="{{.URI}}">{{.URI}}</a>
|
2017-03-20 16:31:08 +08:00
|
|
|
</li>
|
|
|
|
{{end}}
|
|
|
|
{{end}}
|
2022-10-17 12:08:21 +08:00
|
|
|
<li>{{svg "octicon-clock"}} {{.locale.Tr "user.join_on"}} <time data-format="short-date" datetime="{{.Owner.CreatedUnix.FormatLong}}">{{.Owner.CreatedUnix.FormatShort}}</time></li>
|
2019-02-19 00:00:27 +08:00
|
|
|
{{if and .Orgs .HasOrgsVisible}}
|
2016-01-12 10:09:59 +08:00
|
|
|
<li>
|
2019-05-14 04:52:59 +08:00
|
|
|
<ul class="user-orgs">
|
2016-01-12 10:09:59 +08:00
|
|
|
{{range .Orgs}}
|
2020-08-17 04:27:08 +08:00
|
|
|
{{if (or .Visibility.IsPublic (and ($.SignedUser) (or .Visibility.IsLimited (and (.HasMemberWithUserID $.SignedUserID) .Visibility.IsPrivate) ($.IsAdmin))))}}
|
2019-05-14 04:52:59 +08:00
|
|
|
<li>
|
2021-11-18 11:26:50 +08:00
|
|
|
<a class="tooltip" href="{{.HomeLink}}" data-content="{{.Name}}" data-position="top center">
|
2020-12-04 02:46:11 +08:00
|
|
|
{{avatar .}}
|
|
|
|
</a>
|
2019-05-14 04:52:59 +08:00
|
|
|
</li>
|
2019-02-19 00:00:27 +08:00
|
|
|
{{end}}
|
2016-01-12 10:09:59 +08:00
|
|
|
{{end}}
|
2019-05-14 04:52:59 +08:00
|
|
|
</ul>
|
2016-01-12 10:09:59 +08:00
|
|
|
</li>
|
2016-01-14 21:29:25 +08:00
|
|
|
{{end}}
|
2022-08-18 07:25:25 +08:00
|
|
|
{{if .Badges}}
|
|
|
|
<li>
|
|
|
|
<ul class="user-badges">
|
|
|
|
{{range .Badges}}
|
|
|
|
<li>
|
|
|
|
<img width="64" height="64" src="{{.ImageURL}}" alt="{{.Description}}" data-content="{{.Description}}" class="tooltip"/>
|
|
|
|
</li>
|
|
|
|
{{end}}
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
{{end}}
|
2015-12-21 20:24:11 +08:00
|
|
|
{{if and .IsSigned (ne .SignedUserName .Owner.Name)}}
|
|
|
|
<li class="follow">
|
2021-11-22 23:21:55 +08:00
|
|
|
{{if $.IsFollowing}}
|
2021-12-21 01:18:26 +08:00
|
|
|
<form method="post" action="{{.Link}}?action=unfollow&redirect_to={{$.Link}}">
|
2020-02-26 04:28:47 +08:00
|
|
|
{{$.CsrfTokenHtml}}
|
2022-06-28 04:58:46 +08:00
|
|
|
<button type="submit" class="ui basic red button">{{svg "octicon-person"}} {{.locale.Tr "user.unfollow"}}</button>
|
2020-02-26 04:28:47 +08:00
|
|
|
</form>
|
2015-12-21 20:24:11 +08:00
|
|
|
{{else}}
|
2021-12-21 01:18:26 +08:00
|
|
|
<form method="post" action="{{.Link}}?action=follow&redirect_to={{$.Link}}">
|
2020-02-26 04:28:47 +08:00
|
|
|
{{$.CsrfTokenHtml}}
|
2022-06-28 04:58:46 +08:00
|
|
|
<button type="submit" class="ui basic green button">{{svg "octicon-person"}} {{.locale.Tr "user.follow"}}</button>
|
2020-02-26 04:28:47 +08:00
|
|
|
</form>
|
2015-12-21 20:24:11 +08:00
|
|
|
{{end}}
|
|
|
|
</li>
|
|
|
|
{{end}}
|
2015-12-08 06:30:52 +08:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="ui eleven wide column">
|
2021-02-15 00:49:22 +08:00
|
|
|
<div class="ui secondary stackable pointing tight menu">
|
2022-12-09 21:34:51 +08:00
|
|
|
<a class='{{if and (ne .TabName "activity") (ne .TabName "following") (ne .TabName "followers") (ne .TabName "stars") (ne .TabName "watching") (ne .TabName "projects") (ne .TabName "code")}}active {{end}}item' href="{{.Owner.HomeLink}}">
|
2022-06-28 04:58:46 +08:00
|
|
|
{{svg "octicon-repo"}} {{.locale.Tr "user.repositories"}}
|
2015-12-08 06:30:52 +08:00
|
|
|
</a>
|
2023-01-20 19:42:33 +08:00
|
|
|
<a href="{{.Owner.HomeLink}}/-/projects" class="{{if eq .TabName "projects"}}active {{end}}item">
|
|
|
|
{{svg "octicon-project"}} {{.locale.Tr "user.projects"}}
|
|
|
|
</a>
|
2022-04-01 01:31:53 +08:00
|
|
|
{{if .IsPackageEnabled}}
|
2022-12-09 21:34:51 +08:00
|
|
|
<a class='{{if eq .TabName "packages"}}active {{end}}item' href="{{.Owner.HomeLink}}/-/packages">
|
2022-06-28 04:58:46 +08:00
|
|
|
{{svg "octicon-package"}} {{.locale.Tr "packages.title"}}
|
2022-03-30 16:42:47 +08:00
|
|
|
</a>
|
2022-04-01 01:31:53 +08:00
|
|
|
{{end}}
|
2022-10-11 07:12:03 +08:00
|
|
|
{{if .IsRepoIndexerEnabled}}
|
2022-12-09 21:34:51 +08:00
|
|
|
<a class='{{if eq .TabName "code"}}active {{end}}item' href="{{.Owner.HomeLink}}/-/code">
|
2022-10-11 07:12:03 +08:00
|
|
|
{{svg "octicon-code"}} {{.locale.Tr "user.code"}}
|
|
|
|
</a>
|
|
|
|
{{end}}
|
2022-12-09 21:34:51 +08:00
|
|
|
<a class='{{if eq .TabName "activity"}}active {{end}}item' href="{{.Owner.HomeLink}}?tab=activity">
|
2022-06-28 04:58:46 +08:00
|
|
|
{{svg "octicon-rss"}} {{.locale.Tr "user.activity"}}
|
2016-12-29 22:58:24 +08:00
|
|
|
</a>
|
2021-04-16 00:53:57 +08:00
|
|
|
{{if not .DisableStars}}
|
2022-12-09 21:34:51 +08:00
|
|
|
<a class='{{if eq .TabName "stars"}}active {{end}}item' href="{{.Owner.HomeLink}}?tab=stars">
|
2022-06-28 04:58:46 +08:00
|
|
|
{{svg "octicon-star"}} {{.locale.Tr "user.starred"}}
|
2021-05-17 04:18:18 +08:00
|
|
|
{{if .Owner.NumStars}}
|
|
|
|
<div class="ui primary label">{{.Owner.NumStars}}</div>
|
|
|
|
{{end}}
|
2021-04-16 00:53:57 +08:00
|
|
|
</a>
|
|
|
|
{{else}}
|
2022-12-09 21:34:51 +08:00
|
|
|
<a class='{{if eq .TabName "watching"}}active {{end}}item' href="{{.Owner.HomeLink}}?tab=watching">
|
2022-06-28 04:58:46 +08:00
|
|
|
{{svg "octicon-eye"}} {{.locale.Tr "user.watched"}}
|
2021-04-16 00:53:57 +08:00
|
|
|
</a>
|
|
|
|
{{end}}
|
2015-12-08 06:30:52 +08:00
|
|
|
</div>
|
2016-12-29 22:58:24 +08:00
|
|
|
|
|
|
|
{{if eq .TabName "activity"}}
|
2020-06-06 04:01:53 +08:00
|
|
|
{{if .Owner.KeepActivityPrivate}}
|
|
|
|
<div class="ui info message">
|
2022-06-28 04:58:46 +08:00
|
|
|
<p>{{.locale.Tr "user.disabled_public_activity"}}</p>
|
2020-06-06 04:01:53 +08:00
|
|
|
</div>
|
|
|
|
{{end}}
|
2020-11-19 06:00:16 +08:00
|
|
|
{{template "user/heatmap" .}}
|
2015-12-08 06:30:52 +08:00
|
|
|
<div class="feeds">
|
|
|
|
{{template "user/dashboard/feeds" .}}
|
|
|
|
</div>
|
2016-12-29 22:58:24 +08:00
|
|
|
{{else if eq .TabName "stars"}}
|
|
|
|
<div class="stars">
|
2018-05-24 09:03:42 +08:00
|
|
|
{{template "explore/repo_search" .}}
|
2016-12-29 22:58:24 +08:00
|
|
|
{{template "explore/repo_list" .}}
|
2017-02-07 19:54:16 +08:00
|
|
|
{{template "base/paginate" .}}
|
2016-12-29 22:58:24 +08:00
|
|
|
</div>
|
2020-02-10 04:18:01 +08:00
|
|
|
{{else if eq .TabName "following"}}
|
|
|
|
{{template "repo/user_cards" .}}
|
|
|
|
{{else if eq .TabName "followers"}}
|
|
|
|
{{template "repo/user_cards" .}}
|
2016-12-29 22:58:24 +08:00
|
|
|
{{else}}
|
2018-05-24 09:03:42 +08:00
|
|
|
{{template "explore/repo_search" .}}
|
2016-12-29 22:58:24 +08:00
|
|
|
{{template "explore/repo_list" .}}
|
|
|
|
{{template "base/paginate" .}}
|
2015-12-08 06:30:52 +08:00
|
|
|
{{end}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2014-03-02 21:47:55 +08:00
|
|
|
</div>
|
2015-12-08 06:30:52 +08:00
|
|
|
{{template "base/footer" .}}
|