mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-12-02 06:46:10 +01:00
73382d2132
The recommended way is to use the name of the organisation followed by "logo". however, since this is my first contribution, I am not entirely sure, whether this is the best approach here. The organisation is different from the organisation you can create as part of the application. Instead, it is more related to the site hosting the instance. Plus, I don't know how to best handle it when the logo image is swapped out. Therefore, I use plain "Logo" and hope that the person visiting the site has enough context. Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
200 lines
8.4 KiB
Handlebars
200 lines
8.4 KiB
Handlebars
<div class="ui container" id="navbar">
|
|
<div class="item brand" style="justify-content: space-between;">
|
|
<a href="{{AppSubUrl}}/" data-content="{{if .IsSigned}}{{.i18n.Tr "dashboard"}}{{else}}{{.i18n.Tr "home"}}{{end}}">
|
|
<img class="ui mini image" width="30" height="30" src="{{AssetUrlPrefix}}/img/logo.svg" alt="{{.i18n.Tr "logo"}}">
|
|
</a>
|
|
<div class="ui basic icon button mobile-only" id="navbar-expand-toggle">
|
|
<i class="sidebar icon"></i>
|
|
</div>
|
|
</div>
|
|
|
|
{{if and .IsSigned .MustChangePassword}}
|
|
{{/* No links */}}
|
|
{{else if .IsSigned}}
|
|
{{if not .UnitIssuesGlobalDisabled}}
|
|
<a class="item {{if .PageIsIssues}}active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a>
|
|
{{end}}
|
|
{{if not .UnitPullsGlobalDisabled}}
|
|
<a class="item {{if .PageIsPulls}}active{{end}}" href="{{AppSubUrl}}/pulls">{{.i18n.Tr "pull_requests"}}</a>
|
|
{{end}}
|
|
{{if not (and .UnitIssuesGlobalDisabled .UnitPullsGlobalDisabled)}}
|
|
{{if .ShowMilestonesDashboardPage}}<a class="item {{if .PageIsMilestonesDashboard}}active{{end}}" href="{{AppSubUrl}}/milestones">{{.i18n.Tr "milestones"}}</a>{{end}}
|
|
{{end}}
|
|
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a>
|
|
{{else if .IsLandingPageOrganizations}}
|
|
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/organizations">{{.i18n.Tr "explore"}}</a>
|
|
{{else}}
|
|
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a>
|
|
{{end}}
|
|
|
|
{{template "custom/extra_links" .}}
|
|
|
|
{{/* TODO
|
|
<div class="item">
|
|
<div class="ui icon input">
|
|
<input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}">
|
|
<i class="icon df ac jc">{{svg "octicon-search" 16}}</i>
|
|
</div>
|
|
</div>
|
|
*/}}
|
|
|
|
|
|
{{if and .IsSigned .MustChangePassword}}
|
|
<div class="right stackable menu">
|
|
<div class="ui dropdown jump item tooltip" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}">
|
|
<span class="text">
|
|
{{avatar .SignedUser 24 "tiny"}}
|
|
<span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span>
|
|
<span class="mobile-only">{{.SignedUser.Name}}</span>
|
|
<span class="fitted not-mobile" tabindex="-1">{{svg "octicon-triangle-down"}}</span>
|
|
</span>
|
|
<div class="menu user-menu" tabindex="-1">
|
|
<div class="ui header">
|
|
{{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong>
|
|
</div>
|
|
|
|
<div class="divider"></div>
|
|
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout" data-redirect="{{AppSubUrl}}/">
|
|
{{svg "octicon-sign-out"}}
|
|
{{.i18n.Tr "sign_out"}}<!-- Sign Out -->
|
|
</a>
|
|
</div><!-- end content avatar menu -->
|
|
</div><!-- end dropdown avatar menu -->
|
|
</div>
|
|
{{else if .IsSigned}}
|
|
<div class="right stackable menu">
|
|
<a class="active-stopwatch-trigger item ui label {{if not .ActiveStopwatch}}hidden{{end}}" href="{{.ActiveStopwatch.IssueLink}}">
|
|
<span class="text">
|
|
<span class="fitted item">
|
|
{{svg "octicon-stopwatch"}}
|
|
<span class="red" style="position:absolute; right:-0.6em; top:-0.6em;">{{svg "octicon-dot-fill"}}</span>
|
|
</span>
|
|
<span class="sr-mobile-only">{{.i18n.Tr "active_stopwatch"}}</span>
|
|
</span>
|
|
</a>
|
|
<div class="ui popup very wide">
|
|
<div class="df ac">
|
|
<a class="stopwatch-link df ac" href="{{.ActiveStopwatch.IssueLink}}">
|
|
{{svg "octicon-issue-opened"}}
|
|
<span class="stopwatch-issue">{{.ActiveStopwatch.RepoSlug}}#{{.ActiveStopwatch.IssueIndex}}</span>
|
|
<span class="ui primary label stopwatch-time my-0 mx-4" data-seconds="{{.ActiveStopwatch.Seconds}}">
|
|
{{if .ActiveStopwatch}}{{Sec2Time .ActiveStopwatch.Seconds}}{{end}}
|
|
</span>
|
|
</a>
|
|
<form class="stopwatch-commit" method="POST" action="{{.ActiveStopwatch.IssueLink}}/times/stopwatch/toggle">
|
|
{{.CsrfTokenHtml}}
|
|
<button
|
|
class="ui button mini compact basic icon fitted tooltip"
|
|
data-content="{{.i18n.Tr "repo.issues.stop_tracking"}}"
|
|
data-position="top right"
|
|
>{{svg "octicon-square-fill"}}</button>
|
|
</form>
|
|
<form class="stopwatch-cancel" method="POST" action="{{.ActiveStopwatch.IssueLink}}/times/stopwatch/cancel">
|
|
{{.CsrfTokenHtml}}
|
|
<button
|
|
class="ui button mini compact basic icon fitted tooltip"
|
|
data-content="{{.i18n.Tr "repo.issues.cancel_tracking"}}"
|
|
data-position="top right"
|
|
>{{svg "octicon-trash"}}</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<a href="{{AppSubUrl}}/notifications" class="item tooltip" data-content='{{.i18n.Tr "notifications"}}'>
|
|
<span class="text">
|
|
<span class="fitted">{{svg "octicon-bell"}}</span>
|
|
<span class="sr-mobile-only">{{.i18n.Tr "notifications"}}</span>
|
|
{{$notificationUnreadCount := 0}}
|
|
{{if .NotificationUnreadCount}}{{$notificationUnreadCount = call .NotificationUnreadCount}}{{end}}
|
|
<span class="ui red label {{if not $notificationUnreadCount}}hidden{{end}} notification_count">
|
|
{{$notificationUnreadCount}}
|
|
</span>
|
|
</span>
|
|
</a>
|
|
|
|
<div class="ui dropdown jump item tooltip" data-content="{{.i18n.Tr "create_new"}}">
|
|
<span class="text">
|
|
<span class="fitted">{{svg "octicon-plus"}}</span>
|
|
<span class="sr-mobile-only">{{.i18n.Tr "create_new"}}</span>
|
|
<span class="fitted not-mobile">{{svg "octicon-triangle-down"}}</span>
|
|
</span>
|
|
<div class="menu">
|
|
<a class="item" href="{{AppSubUrl}}/repo/create">
|
|
<span class="fitted">{{svg "octicon-plus"}}</span> {{.i18n.Tr "new_repo"}}
|
|
</a>
|
|
{{if not .DisableMigrations}}
|
|
<a class="item" href="{{AppSubUrl}}/repo/migrate">
|
|
<span class="fitted">{{svg "octicon-repo-push"}}</span> {{.i18n.Tr "new_migrate"}}
|
|
</a>
|
|
{{end}}
|
|
{{if .SignedUser.CanCreateOrganization}}
|
|
<a class="item" href="{{AppSubUrl}}/org/create">
|
|
<span class="fitted">{{svg "octicon-organization"}}</span> {{.i18n.Tr "new_org"}}
|
|
</a>
|
|
{{end}}
|
|
</div><!-- end content create new menu -->
|
|
</div><!-- end dropdown menu create new -->
|
|
|
|
<div class="ui dropdown jump item tooltip" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}">
|
|
<span class="text">
|
|
{{avatar .SignedUser 24 "tiny"}}
|
|
<span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span>
|
|
<span class="mobile-only">{{.SignedUser.Name}}</span>
|
|
<span class="fitted not-mobile" tabindex="-1">{{svg "octicon-triangle-down"}}</span>
|
|
</span>
|
|
<div class="menu user-menu" tabindex="-1">
|
|
<div class="ui header">
|
|
{{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong>
|
|
</div>
|
|
|
|
<div class="divider"></div>
|
|
<a class="item" href="{{.SignedUser.HomeLink}}">
|
|
{{svg "octicon-person"}}
|
|
{{.i18n.Tr "your_profile"}}<!-- Your profile -->
|
|
</a>
|
|
{{if not .DisableStars}}
|
|
<a class="item" href="{{.SignedUser.HomeLink}}?tab=stars">
|
|
{{svg "octicon-star"}}
|
|
{{.i18n.Tr "your_starred"}}
|
|
</a>
|
|
{{end}}
|
|
<a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings">
|
|
{{svg "octicon-tools"}}
|
|
{{.i18n.Tr "your_settings"}}<!-- Your settings -->
|
|
</a>
|
|
<a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">
|
|
{{svg "octicon-question"}}
|
|
{{.i18n.Tr "help"}}<!-- Help -->
|
|
</a>
|
|
{{if .IsAdmin}}
|
|
<div class="divider"></div>
|
|
|
|
<a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubUrl}}/admin">
|
|
{{svg "octicon-server"}}
|
|
{{.i18n.Tr "admin_panel"}}<!-- Admin Panel -->
|
|
</a>
|
|
{{end}}
|
|
|
|
<div class="divider"></div>
|
|
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout" data-redirect="{{AppSubUrl}}/">
|
|
{{svg "octicon-sign-out"}}
|
|
{{.i18n.Tr "sign_out"}}<!-- Sign Out -->
|
|
</a>
|
|
</div><!-- end content avatar menu -->
|
|
</div><!-- end dropdown avatar menu -->
|
|
</div><!-- end signed user right menu -->
|
|
{{else}}
|
|
<a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">{{.i18n.Tr "help"}}</a>
|
|
<div class="right stackable menu">
|
|
{{if .ShowRegistrationButton}}
|
|
<a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up">
|
|
{{svg "octicon-person"}} {{.i18n.Tr "register"}}
|
|
</a>
|
|
{{end}}
|
|
<a class="item{{if .PageIsSignIn}} active{{end}}" rel="nofollow" href="{{AppSubUrl}}/user/login{{if not .PageIsSignIn}}?redirect_to={{.CurrentURL}}{{end}}">
|
|
{{svg "octicon-sign-in"}} {{.i18n.Tr "sign_in"}}
|
|
</a>
|
|
</div><!-- end anonymous right menu -->
|
|
{{end}}
|
|
</div>
|