mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-22 12:54:53 -05:00
6759237eda
* Added basic heatmap data * Added extra case for sqlite * Built basic heatmap into user profile * Get contribution data from api & styling * Fixed lint & added extra group by statements for all database types * generated swagger spec * generated swagger spec * generated swagger spec * fixed swagger spec * fmt * Added tests * Added setting to enable/disable user heatmap * Added locale for loading text * Removed UseTiDB * Updated librejs & moment.js * Fixed import order * Fixed heatmap in postgresql * Update docs/content/doc/advanced/config-cheat-sheet.en-us.md Co-Authored-By: kolaente <konrad@kola-entertainments.de> * Added copyright header * Fixed a bug to show the heatmap for the actual user instead of the currently logged in * Added integration test for heatmaps * Added a heatmap on the dashboard * Fixed timestamp parsing * Hide heatmap on mobile * optimized postgresql group by query * Improved sqlite group by statement
121 lines
4.6 KiB
Cheetah
121 lines
4.6 KiB
Cheetah
{{template "base/head" .}}
|
|
<div class="user profile">
|
|
<div class="ui container">
|
|
<div class="ui stackable grid">
|
|
<div class="ui five wide column">
|
|
<div class="ui card">
|
|
{{if eq .SignedUserName .Owner.Name}}
|
|
<a class="image poping up" href="{{AppSubUrl}}/user/settings" id="profile-avatar" data-content="{{.i18n.Tr "user.change_avatar"}}" data-variation="inverted tiny" data-position="bottom center">
|
|
<img src="{{.Owner.SizedRelAvatarLink 290}}" title="{{.Owner.Name}}"/>
|
|
</a>
|
|
{{else}}
|
|
<span class="image">
|
|
<img src="{{.Owner.SizedRelAvatarLink 290}}" title="{{.Owner.Name}}"/>
|
|
</span>
|
|
{{end}}
|
|
<div class="content">
|
|
{{if .Owner.FullName}}<span class="header text center">{{.Owner.FullName}}</span>{{end}}
|
|
<span class="username text center">{{.Owner.Name}}</span>
|
|
</div>
|
|
<div class="extra content">
|
|
<ul class="text black">
|
|
{{if .Owner.Location}}
|
|
<li><i class="octicon octicon-location"></i> {{.Owner.Location}}</li>
|
|
{{end}}
|
|
{{if and $.ShowUserEmail .Owner.Email .IsSigned (not .Owner.KeepEmailPrivate)}}
|
|
<li>
|
|
<i class="octicon octicon-mail"></i>
|
|
<a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a>
|
|
</li>
|
|
{{end}}
|
|
{{if .Owner.Website}}
|
|
<li>
|
|
<i class="octicon octicon-link"></i>
|
|
<a target="_blank" rel="noopener noreferrer" href="{{.Owner.Website}}">{{.Owner.Website}}</a>
|
|
</li>
|
|
{{end}}
|
|
{{range .OpenIDs}}
|
|
{{if .Show}}
|
|
<li>
|
|
<i class="fa fa-openid"></i>
|
|
<a target="_blank" rel="noopener noreferrer" href="{{.URI}}">{{.URI}}</a>
|
|
</li>
|
|
{{end}}
|
|
{{end}}
|
|
<li><i class="octicon octicon-clock"></i> {{.i18n.Tr "user.join_on"}} {{.Owner.CreatedUnix.FormatShort}}</li>
|
|
<li>
|
|
<i class="octicon octicon-person"></i>
|
|
<a href="{{.Owner.HomeLink}}/followers">
|
|
{{.Owner.NumFollowers}} {{.i18n.Tr "user.followers"}}
|
|
</a>
|
|
-
|
|
<a href="{{.Owner.HomeLink}}/following">
|
|
{{.Owner.NumFollowing}} {{.i18n.Tr "user.following"}}
|
|
</a>
|
|
</li>
|
|
{{/*
|
|
<li>
|
|
<i class="octicon octicon-star"></i>
|
|
<a href="{{.Owner.HomeLink}}/stars">
|
|
{{.Owner.NumStars}} {{.i18n.Tr "user.starred"}}
|
|
</a>
|
|
</li>
|
|
*/}}
|
|
{{if .Orgs}}
|
|
<li>
|
|
{{range .Orgs}}
|
|
<a href="{{.HomeLink}}"><img class="ui mini image poping up" src="{{.RelAvatarLink}}" data-content="{{.Name}}" data-position="top center" data-variation="tiny inverted"></a>
|
|
{{end}}
|
|
</li>
|
|
{{end}}
|
|
{{if and .IsSigned (ne .SignedUserName .Owner.Name)}}
|
|
<li class="follow">
|
|
{{if .SignedUser.IsFollowing .Owner.ID}}
|
|
<a class="ui basic red button" href="{{.Link}}/action/unfollow?redirect_to={{$.Link}}"><i class="octicon octicon-person"></i> {{.i18n.Tr "user.unfollow"}}</a>
|
|
{{else}}
|
|
<a class="ui basic green button" href="{{.Link}}/action/follow?redirect_to={{$.Link}}"><i class="octicon octicon-person"></i> {{.i18n.Tr "user.follow"}}</a>
|
|
{{end}}
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="ui eleven wide column">
|
|
<div class="ui secondary stackable pointing menu">
|
|
<a class='{{if and (ne .TabName "activity") (ne .TabName "stars")}}active{{end}} item' href="{{.Owner.HomeLink}}">
|
|
<i class="octicon octicon-repo"></i> {{.i18n.Tr "user.repositories"}}
|
|
</a>
|
|
<a class='{{if eq .TabName "activity"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=activity">
|
|
<i class="octicon octicon-rss"></i> {{.i18n.Tr "user.activity"}}
|
|
</a>
|
|
<a class='{{if eq .TabName "stars"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=stars">
|
|
<i class="octicon octicon-star"></i> {{.i18n.Tr "user.starred"}}
|
|
</a>
|
|
</div>
|
|
|
|
{{if eq .TabName "activity"}}
|
|
{{if .EnableHeatmap}}
|
|
<div class="ui active centered inline indeterminate text loader" id="loading-heatmap">{{.i18n.Tr "user.heatmap.loading"}}</div>
|
|
<div id="user-heatmap"></div>
|
|
<div class="ui divider"></div>
|
|
{{end}}
|
|
<div class="feeds">
|
|
{{template "user/dashboard/feeds" .}}
|
|
</div>
|
|
{{else if eq .TabName "stars"}}
|
|
<div class="stars">
|
|
{{template "explore/repo_search" .}}
|
|
{{template "explore/repo_list" .}}
|
|
{{template "base/paginate" .}}
|
|
</div>
|
|
{{else}}
|
|
{{template "explore/repo_search" .}}
|
|
{{template "explore/repo_list" .}}
|
|
{{template "base/paginate" .}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|