4f050f358a
- Refactor the system status list into its own template - Change the backend to return only the system status if htmx initiated the request - `hx-get="{{$.Link}}/system_status`: reuse the backend handler - `hx-swap="innerHTML"`: replace the `<div>`'s innerHTML (essentially the new template) - `hx-trigger="every 5s"`: call every 5 seconds - `hx-indicator=".divider"`: the `is-loading` class shouldn't be added to the div during the request, so set it on an element it has no effect on - Render "Since Last GC Time" with `<relative-time>`, so we send a timestamp # Auto-update in action GIF ![action](https://github.com/go-gitea/gitea/assets/20454870/c6e1f220-f0fb-4460-ac3b-59f315e30e29) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: silverwind <me@silverwind.io> (cherry picked from commit c70f65e83bc1876fb368fd117d342573ff18a9e8)
52 lines
2.3 KiB
Go HTML Template
52 lines
2.3 KiB
Go HTML Template
<!DOCTYPE html>
|
|
<html lang="{{ctx.Locale.Lang}}" data-theme="{{ThemeName .SignedUser}}">
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
{{/* Display `- .Repsository.FullName` only if `.Title` does not already start with that. */}}
|
|
<title>{{if .Title}}{{.Title | RenderEmojiPlain}} - {{end}}{{if and (.Repository.Name) (not (StringUtils.HasPrefix .Title .Repository.FullName))}}{{.Repository.FullName}} - {{end}}{{AppName}}</title>
|
|
{{if .ManifestData}}<link rel="manifest" href="data:{{.ManifestData}}">{{end}}
|
|
<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">
|
|
{{if .GoGetImport}}
|
|
<meta name="go-import" content="{{.GoGetImport}} git {{.RepoCloneLink.HTTPS}}">
|
|
<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}">
|
|
{{end}}
|
|
{{if and .EnableFeed .FeedURL}}
|
|
<link rel="alternate" type="application/atom+xml" title="" href="{{.FeedURL}}.atom">
|
|
<link rel="alternate" type="application/rss+xml" title="" href="{{.FeedURL}}.rss">
|
|
{{end}}
|
|
<link rel="icon" href="{{AssetUrlPrefix}}/img/favicon.svg" type="image/svg+xml">
|
|
<link rel="alternate icon" href="{{AssetUrlPrefix}}/img/favicon.png" type="image/png">
|
|
{{template "base/head_script" .}}
|
|
<noscript>
|
|
<style>
|
|
.dropdown:hover > .menu { display: block; }
|
|
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
|
|
</style>
|
|
</noscript>
|
|
{{template "base/head_opengraph" .}}
|
|
{{template "base/head_style" .}}
|
|
{{template "custom/header" .}}
|
|
</head>
|
|
<body hx-headers='{"x-csrf-token": "{{.CsrfToken}}"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false">
|
|
{{ctx.DataRaceCheck $.Context}}
|
|
{{template "custom/body_outer_pre" .}}
|
|
|
|
<div class="full height">
|
|
<noscript>{{ctx.Locale.Tr "enable_javascript"}}</noscript>
|
|
|
|
{{template "custom/body_inner_pre" .}}
|
|
|
|
{{if not .PageIsInstall}}
|
|
{{template "base/head_navbar" .}}
|
|
{{end}}
|
|
|
|
{{if false}}
|
|
{{/* to make html structure "likely" complete to prevent IDE warnings */}}
|
|
</div>
|
|
</body>
|
|
</html>
|
|
{{end}}
|