aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--custom/templates/base/head.tmpl139
-rw-r--r--custom/templates/base/head_navbar.tmpl162
2 files changed, 301 insertions, 0 deletions
diff --git a/custom/templates/base/head.tmpl b/custom/templates/base/head.tmpl
new file mode 100644
index 0000000..5f27779
--- /dev/null
+++ b/custom/templates/base/head.tmpl
@@ -0,0 +1,139 @@
+<!DOCTYPE html>
+<html lang="{{.Language}}" class="theme-{{.SignedUser.Theme}}">
+<head data-suburl="{{AppSubUrl}}">
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <title>{{if .Title}}{{.Title | RenderEmojiPlain}} - {{end}} {{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}} </title>
+ <link rel="manifest" href="{{AppSubUrl}}/manifest.json" crossorigin="use-credentials">
+ <meta name="theme-color" content="{{ThemeColorMetaTag}}">
+ <meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}{{MetaAuthor}}{{end}}" />
+ <meta name="description" content="{{if .Repository}}{{.Repository.Name}}{{if .Repository.Description}} - {{.Repository.Description}}{{end}}{{else}}{{MetaDescription}}{{end}}" />
+ <meta name="keywords" content="{{MetaKeywords}}">
+ <meta name="referrer" content="no-referrer" />
+ <meta name="_csrf" content="{{.CsrfToken}}" />
+ {{if .IsSigned}}
+ <meta name="_uid" content="{{.SignedUser.ID}}" />
+ {{end}}
+ {{if .ContextUser}}
+ <meta name="_context_uid" content="{{.ContextUser.ID}}" />
+ {{end}}
+ {{if .SearchLimit}}
+ <meta name="_search_limit" content="{{.SearchLimit}}" />
+ {{end}}
+{{if .GoGetImport}}
+ <meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">
+ <meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}">
+{{end}}
+ <script>
+ window.config = {
+ AppVer: '{{AppVer}}',
+ AppSubUrl: '{{AppSubUrl}}',
+ StaticUrlPrefix: '{{StaticUrlPrefix}}',
+ UseServiceWorker: {{UseServiceWorker}},
+ csrf: '{{.CsrfToken}}',
+ HighlightJS: {{if .RequireHighlightJS}}true{{else}}false{{end}},
+ SimpleMDE: {{if .RequireSimpleMDE}}true{{else}}false{{end}},
+ Tribute: {{if .RequireTribute}}true{{else}}false{{end}},
+ U2F: {{if .RequireU2F}}true{{else}}false{{end}},
+ Heatmap: {{if .EnableHeatmap}}true{{else}}false{{end}},
+ heatmapUser: {{if .HeatmapUser}}'{{.HeatmapUser}}'{{else}}null{{end}},
+ NotificationSettings: {
+ MinTimeout: {{NotificationSettings.MinTimeout}},
+ TimeoutStep: {{NotificationSettings.TimeoutStep}},
+ MaxTimeout: {{NotificationSettings.MaxTimeout}},
+ EventSourceUpdateTime: {{NotificationSettings.EventSourceUpdateTime}},
+ },
+ PageIsProjects: {{if .PageIsProjects }}true{{else}}false{{end}},
+ {{if .RequireTribute}}
+ tributeValues: Array.from(new Map([
+ {{ range .Participants }}
+ ['{{.Name}}', {key: '{{.Name}} {{.FullName}}', value: '{{.Name}}',
+ name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'}],
+ {{ end }}
+ {{ range .Assignees }}
+ ['{{.Name}}', {key: '{{.Name}} {{.FullName}}', value: '{{.Name}}',
+ name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'}],
+ {{ end }}
+ ]).values()),
+ {{end}}
+ };
+ </script>
+ <link rel="icon" href="{{StaticUrlPrefix}}/img/favicon.svg" type="image/svg+xml">
+ <link rel="alternate icon" href="{{StaticUrlPrefix}}/img/favicon.png" type="image/png">
+ <link rel="mask-icon" href="{{StaticUrlPrefix}}/img/gitea-safari.svg" color="#609926">
+ <link rel="fluid-icon" href="{{StaticUrlPrefix}}/img/gitea-lg.png" title="{{AppName}}">
+{{if .RequireSimpleMDE}}
+ <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/simplemde/simplemde.min.css">
+{{end}}
+ <link rel="stylesheet" href="{{StaticUrlPrefix}}/css/index.css?v={{MD5 AppVer}}">
+ <noscript>
+ <style>
+ .dropdown:hover > .menu { display: block; }
+ .ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
+ </style>
+ </noscript>
+ <style class="list-search-style"></style>
+{{if .PageIsUserProfile}}
+ <meta property="og:title" content="{{.Owner.Name}}" />
+ <meta property="og:type" content="profile" />
+ <meta property="og:image" content="{{.Owner.AvatarLink}}" />
+ <meta property="og:url" content="{{.Owner.HTMLURL}}" />
+ {{if .Owner.Description}}
+ <meta property="og:description" content="{{.Owner.Description}}">
+ {{end}}
+{{else if .Repository}}
+ {{if .Issue}}
+ <meta property="og:title" content="{{.Issue.Title}}" />
+ <meta property="og:url" content="{{.Issue.HTMLURL}}" />
+ {{if .Issue.Content}}
+ <meta property="og:description" content="{{.Issue.Content}}" />
+ {{end}}
+ {{else}}
+ <meta property="og:title" content="{{.Repository.Name}}" />
+ <meta property="og:url" content="{{.Repository.HTMLURL}}" />
+ {{if .Repository.Description}}
+ <meta property="og:description" content="{{.Repository.Description}}" />
+ {{end}}
+ {{end}}
+ <meta property="og:type" content="object" />
+ {{if .Repository.AvatarLink}}
+ <meta property="og:image" content="{{.Repository.AvatarLink}}" />
+ {{else}}
+ <meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" />
+ {{end}}
+{{else}}
+ <meta property="og:title" content="{{AppName}}">
+ <meta property="og:type" content="website" />
+ <meta property="og:image" content="{{StaticUrlPrefix}}/img/gitea-lg.png" />
+ <meta property="og:url" content="{{AppUrl}}" />
+ <meta property="og:description" content="{{MetaDescription}}">
+{{end}}
+<meta property="og:site_name" content="{{AppName}}" />
+{{if .IsSigned }}
+ {{ if ne .SignedUser.Theme "gitea" }}
+ <link rel="stylesheet" href="{{StaticUrlPrefix}}/css/theme-{{.SignedUser.Theme}}.css?v={{MD5 AppVer}}">
+ {{end}}
+{{else if ne DefaultTheme "gitea"}}
+ <link rel="stylesheet" href="{{StaticUrlPrefix}}/css/theme-{{DefaultTheme}}.css?v={{MD5 AppVer}}">
+{{end}}
+{{template "custom/header" .}}
+</head>
+<body>
+ {{template "custom/body_outer_pre" .}}
+
+ <div class="full height">
+ <noscript>{{.i18n.Tr "enable_javascript"}}</noscript>
+
+ {{template "custom/body_inner_pre" .}}
+
+ {{if not .PageIsInstall}}
+ <div class="ui top secondary stackable main menu following bar light">
+ {{template "base/head_navbar" .}}
+ </div><!-- end bar -->
+ {{end}}
+{{/*
+ </div>
+</body>
+</html>
+*/}}
diff --git a/custom/templates/base/head_navbar.tmpl b/custom/templates/base/head_navbar.tmpl
new file mode 100644
index 0000000..e960f7f
--- /dev/null
+++ b/custom/templates/base/head_navbar.tmpl
@@ -0,0 +1,162 @@
+<div class="ui container" id="navbar">
+ <div class="item brand" style="justify-content: space-between;">
+ <a href="{{AppSubUrl}}/">
+ <img class="ui mini image" src="{{StaticUrlPrefix}}/img/gitea-sm.png">
+ </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="search icon"></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">
+ <img class="ui tiny avatar image" width="24" height="24" src="{{.SignedUser.RelAvatarLink}}">
+ <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 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>
+ <a class="item" href="{{AppSubUrl}}/repo/migrate">
+ <span class="fitted">{{svg "octicon-repo-push"}}</span> {{.i18n.Tr "new_migrate"}}
+ </a>
+ {{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">
+ <img class="ui tiny avatar image" width="24" height="24" src="{{.SignedUser.RelAvatarLink}}">
+ <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.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">
+ <i class="icon settings"></i>
+ {{.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?redirect_to={{.CurrentURL}}">
+ {{svg "octicon-sign-in"}} {{.i18n.Tr "sign_in"}}
+ </a>
+ </div><!-- end anonymous right menu -->
+ {{end}}
+</div>