* Remove fetch request from heatmap Render heatmap data directly to HTML, eliminating one HTTP request on frontpage and user profile. Also added min-height to the container so the page content will no longer move after loading. * rename and error display * also log the js error * add error handler * remove useless inline style and hide divider on small screens * Update routers/user/home.go * Update routers/user/profile.go
		
			
				
	
	
		
			137 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
<!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}},
 | 
						|
			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}}/css/easymde.css?v={{MD5 AppVer}}">
 | 
						|
{{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>
 | 
						|
*/}}
 |