bcc6e77440
This makes a number of changes and in depth testing is probably warranted. * Bump the golang version to 1.16 to match upstream's dockerfile golang version. * Bump the nodejs version to latest stable which is v16.x and consume it from the buster repo since our image is based on buster. * Bump the gitea version to 1.14.4. * Rename all of the opendev-.*.png logo files to logo-.*.png as the names of these files are no longer customizable. The reason for this is the user settable json manifest has been removed. * We keep opendev-sm.png because Gerrit apparently loads this? * Update html templates to be in line with 1.14.4's templates. * Use the gitea `admin user create` command instead of `admin create-user`. While I can't find removal or deprecation notices for the previous command the current docs note you should use the new version and the old one is failing in CI. Change-Id: I0a05ebb963cca5be88aeb2f859bfbeefa0f9c8e0
205 lines
9.0 KiB
Cheetah
205 lines
9.0 KiB
Cheetah
<div class="ui container" id="navbar">
|
|
<div class="item brand" style="justify-content: space-between;">
|
|
<a href="{{AppSubUrl}}/">
|
|
<img class="ui mini image" with="30" height="30" src="{{StaticUrlPrefix}}/img/logo.svg">
|
|
</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}}
|
|
<a class="item {{if .PageIsDashboard}}active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "dashboard"}}</a>
|
|
{{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 .IsLandingPageHome}}
|
|
<a class="item {{if .PageIsHome}}active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a>
|
|
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a>
|
|
{{else if .IsLandingPageExplore}}
|
|
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "home"}}</a>
|
|
{{else if .IsLandingPageOrganizations}}
|
|
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/organizations">{{.i18n.Tr "home"}}</a>
|
|
{{end}}
|
|
|
|
{{template "custom/extra_links" .}}
|
|
|
|
{{/*
|
|
<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 poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted">
|
|
<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">
|
|
{{$issueURL := Printf "%s/%s/issues/%d" AppSubUrl .ActiveStopwatch.RepoSlug .ActiveStopwatch.IssueIndex}}
|
|
<a class="active-stopwatch-trigger item ui label {{if not .ActiveStopwatch}}hidden{{end}}" href="{{$issueURL}}">
|
|
<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="{{$issueURL}}">
|
|
{{svg "octicon-issue-opened"}}
|
|
<span class="stopwatch-issue">{{.ActiveStopwatch.RepoSlug}}#{{.ActiveStopwatch.IssueIndex}}</span>
|
|
<span class="ui label blue 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="{{$issueURL}}/times/stopwatch/toggle">
|
|
{{.CsrfTokenHtml}}
|
|
<button
|
|
class="ui button mini compact basic icon fitted poping up"
|
|
data-content="{{.i18n.Tr "repo.issues.stop_tracking"}}"
|
|
data-position="top right" data-variation="small inverted"
|
|
>{{svg "octicon-square-fill"}}</button>
|
|
</form>
|
|
<form class="stopwatch-cancel" method="POST" action="{{$issueURL}}/times/stopwatch/cancel">
|
|
{{.CsrfTokenHtml}}
|
|
<button
|
|
class="ui button mini compact basic icon fitted poping up"
|
|
data-content="{{.i18n.Tr "repo.issues.cancel_tracking"}}"
|
|
data-position="top right" data-variation="small inverted"
|
|
>{{svg "octicon-trashcan"}}</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<a href="{{AppSubUrl}}/notifications" class="item poping up" data-content='{{.i18n.Tr "notifications"}}' data-variation="tiny inverted">
|
|
<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 poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted">
|
|
<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 poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted">
|
|
<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="{{AppSubUrl}}/{{.SignedUser.Name}}">
|
|
{{svg "octicon-person"}}
|
|
{{.i18n.Tr "your_profile"}}<!-- Your profile -->
|
|
</a>
|
|
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=stars">
|
|
{{svg "octicon-star"}}
|
|
{{.i18n.Tr "your_starred"}}
|
|
</a>
|
|
<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.opendev.org/opendev/infra-manual/latest/gettingstarted.html">
|
|
{{svg "octicon-repo-push"}}
|
|
Get Started<!-- Get Started -->
|
|
</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.opendev.org/opendev/infra-manual/latest/gettingstarted.html">Get Started</a>
|
|
<div class="right stackable menu">
|
|
<!-- Intentionally removed as this is a read only gitea
|
|
{{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?redirect_to={{.CurrentURL}}">
|
|
{{svg "octicon-sign-in"}} {{.i18n.Tr "sign_in"}}
|
|
</a>
|
|
-->
|
|
</div><!-- end anonymous right menu -->
|
|
{{end}}
|
|
</div>
|