mirror of
https://github.com/go-gitea/gitea.git
synced 2024-09-05 23:34:19 -04:00
- 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>
84 lines
5.0 KiB
Handlebars
84 lines
5.0 KiB
Handlebars
{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin dashboard")}}
|
|
<div class="admin-setting-content">
|
|
{{if .NeedUpdate}}
|
|
<div class="ui negative message flash-error">
|
|
<p>{{(ctx.Locale.Tr "admin.dashboard.new_version_hint" .RemoteVersion AppVer) | Str2html}}</p>
|
|
</div>
|
|
{{end}}
|
|
<h4 class="ui top attached header">
|
|
{{ctx.Locale.Tr "admin.dashboard.operations"}}
|
|
</h4>
|
|
<div class="ui attached table segment">
|
|
<form method="post" action="{{AppSubUrl}}/admin">
|
|
{{.CsrfTokenHtml}}
|
|
<table class="ui very basic table gt-mt-0 gt-px-4">
|
|
<tbody>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.delete_inactive_accounts"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_inactive_accounts">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.delete_repo_archives"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_repo_archives">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.delete_missing_repos"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_missing_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.git_gc_repos"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="git_gc_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
{{if and (not .SSH.Disabled) (not .SSH.StartBuiltinServer)}}
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshkeys"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshkeys">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshprincipals"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshprincipals">{{svg "octicon-play" 16}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
{{end}}
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.resync_all_hooks"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_hooks">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.reinit_missing_repos"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="reinit_missing_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.sync_external_users"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="sync_external_users">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.repo_health_check"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="repo_health_check">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.delete_generated_repository_avatars"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_generated_repository_avatars">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.sync_repo_branches"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="sync_repo_branches">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ctx.Locale.Tr "admin.dashboard.sync_repo_tags"}}</td>
|
|
<td class="text right"><button type="submit" class="ui primary button" name="op" value="sync_repo_tags">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</form>
|
|
</div>
|
|
|
|
<h4 class="ui top attached header">
|
|
{{ctx.Locale.Tr "admin.dashboard.system_status"}}
|
|
</h4>
|
|
{{/* TODO: make these stats work in multi-server deployments, likely needs per-server stats in DB */}}
|
|
<div hx-get="{{$.Link}}/system_status" hx-swap="morph:innerHTML" hx-trigger="every 5s" hx-indicator=".divider" class="ui attached table segment">
|
|
{{template "admin/system_status" .}}
|
|
</div>
|
|
</div>
|
|
{{template "admin/layout_footer" .}}
|