{{template "admin/layout_head" (dict "pageClass" "admin dashboard")}}
	<div class="admin-setting-content">
		{{if .NeedUpdate}}
		<div class="ui positive message">
			<div class="header">{{svg "octicon-info"}} {{AppName}} Update Available</div>
			<p>A new version <strong>{{.LatestVersion}}</strong> is available{{if .UpdateChannel}} ({{.UpdateChannel}} channel){{end}}.
			{{if .ReleaseURL}}<a href="{{.ReleaseURL}}" target="_blank" rel="noopener noreferrer">View release notes</a>{{end}}</p>
			{{if .DockerImage}}<p><code>docker pull {{.DockerImage}}</code></p>{{end}}
		</div>
		{{end}}
		<div class="ui segment">
			<h4 class="ui header">{{svg "octicon-broadcast" 16}} Update Channel</h4>
			<form method="post" action="{{AppSubUrl}}/-/admin" class="tw-flex tw-items-end tw-gap-4">
				{{.CsrfTokenHtml}}
				<div class="field tw-flex-1">
					<select name="update_channel" class="ui dropdown">
						{{range .UpdateChannels}}
						<option value="{{.value}}" {{if eq $.CurrentUpdateChannel .value}}selected{{end}}>{{.label}} — {{.desc}}</option>
						{{end}}
					</select>
				</div>
				<button type="submit" class="ui primary button">{{svg "octicon-sync" 14}} Apply</button>
			</form>
		</div>
		<h4 class="ui top attached header">
			{{ctx.Locale.Tr "admin.dashboard.maintenance_operations"}}
		</h4>
		<div class="ui attached table segment">
			<form method="post" action="{{AppSubUrl}}/-/admin">
				<table class="ui very basic table tw-mt-0 tw-px-4">
					<tbody>
						<tr>
							<td>{{ctx.Locale.Tr "admin.dashboard.delete_inactive_accounts"}}</td>
							<td class="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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="tw-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 class="ui attached table segment">
			{{template "admin/system_status" .}}
		</div>
	</div>
{{template "admin/layout_footer" .}}
