{{/*
Template Attributes:
* CommitStatus: summary of all commit status state
* CommitStatuses: all commit status elements
* MissingRequiredChecks: commit check contexts that are required by branch protection but not present
* ShowHideChecks: whether use a button to show/hide the checks
* is_context_required: Used in pull request commit status check table
*/}}

{{if .CommitStatus}}
<div class="commit-status-panel">
	<div class="ui top attached header commit-status-header">
		{{if or (eq .CommitStatus.State "pending") (.MissingRequiredChecks)}}
			{{ctx.Locale.Tr "repo.pulls.status_checking"}}
		{{else if eq .CommitStatus.State "success"}}
			{{ctx.Locale.Tr "repo.pulls.status_checks_success"}}
		{{else if eq .CommitStatus.State "warning"}}
			{{ctx.Locale.Tr "repo.pulls.status_checks_warning"}}
		{{else if eq .CommitStatus.State "failure"}}
			{{ctx.Locale.Tr "repo.pulls.status_checks_failure"}}
		{{else if eq .CommitStatus.State "error"}}
			{{ctx.Locale.Tr "repo.pulls.status_checks_error"}}
		{{else}}
			{{ctx.Locale.Tr "repo.pulls.status_checking"}}
		{{end}}

		{{if .ShowHideChecks}}
		<div class="ui right">
			<button class="commit-status-hide-checks btn interact-fg"
			data-show-all="{{ctx.Locale.Tr "repo.pulls.status_checks_show_all"}}"
			data-hide-all="{{ctx.Locale.Tr "repo.pulls.status_checks_hide_all"}}">
			{{ctx.Locale.Tr "repo.pulls.status_checks_hide_all"}}</button>
		</div>
		{{end}}
	</div>

	<div class="commit-status-list">
		{{range .CommitStatuses}}
			<div class="commit-status-item">
				{{template "repo/commit_status" .}}
				<div class="status-context gt-ellipsis">{{.Context}} <span class="text light-2">{{.Description}}</span></div>
				<div class="ui status-details">
					{{if $.is_context_required}}
						{{if (call $.is_context_required .Context)}}<div class="ui label">{{ctx.Locale.Tr "repo.pulls.status_checks_requested"}}</div>{{end}}
					{{end}}
					<span>{{if .TargetURL}}<a href="{{.TargetURL}}">{{ctx.Locale.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
				</div>
			</div>
		{{end}}
		{{range .MissingRequiredChecks}}
			<div class="commit-status-item">
				{{svg "octicon-dot-fill" 18 "commit-status icon text yellow"}}
				<div class="status-context gt-ellipsis">{{.}}</div>
				<div class="ui label">{{ctx.Locale.Tr "repo.pulls.status_checks_requested"}}</div>
			</div>
		{{end}}
	</div>
</div>
{{end}}
