<h4 class="ui top attached header">
{{ .locale .Tr "settings.manage_ssh_keys" }}
<div class="ui right">
{{ if not .DisableSSH }}
<button id="add-ssh-button" class="ui primary tiny show-panel button" data-panel="#add-ssh-key-panel">
{{ .locale .Tr "settings.add_key" }}
</button>
{{ else }}
<button class="ui primary tiny button disabled"> {{ .locale .Tr "settings.ssh_disabled" }} </button>
{{ end }}
</div>
</h4>
<div class="ui attached segment">
<div class=" {{ if not .HasSSHError }} gt-hidden {{ end }} gt-mb-4" id="add-ssh-key-panel">
<form class="ui form" action=" {{ .Link }} " method="post">
{{ .CsrfTokenHtml }}
<div class="field {{ if .Err_Title }} error {{ end }} ">
<label for="title"> {{ .locale .Tr "settings.key_name" }} </label>
<input id="ssh-key-title" name="title" value=" {{ .title }} " autofocus required>
</div>
<div class="field {{ if .Err_Content }} error {{ end }} ">
<label for="content"> {{ .locale .Tr "settings.key_content" }} </label>
<textarea id="ssh-key-content" name="content" class="js-quick-submit" placeholder=" {{ .locale .Tr "settings.key_content_ssh_placeholder" }} " required> {{ .content }} </textarea>
</div>
<input name="type" type="hidden" value="ssh">
<button class="ui green button">
{{ .locale .Tr "settings.add_key" }}
</button>
<button id="cancel-ssh-button" class="ui hide-panel button" data-panel="#add-ssh-key-panel">
{{ .locale .Tr "cancel" }}
</button>
</form>
</div>
<div class="ui key list gt-mt-0">
<div class="item">
{{ .locale .Tr "settings.ssh_desc" }}
</div>
{{ range $ in dex , $ key : = .Keys }}
<div class="item">
<div class="right floated content">
<button class="ui red tiny button delete-button {{ if in dex $ .ExternalKeys $ in dex }} disabled {{ end }} " data-modal-id="delete-ssh" data-url=" {{ $ .Link }} /delete?type=ssh" data-id=" {{ .ID }} " {{ if in dex $ .ExternalKeys $ in dex }} title=" {{ $ .locale .Tr "settings.ssh_externally_managed" }} " {{ end }} >
{{ $ .locale .Tr "settings.delete_key" }}
</button>
{{ if and ( not .Verified ) ( ne $ .VerifyingFingerprint .Fingerprint ) }}
<a class="ui primary tiny button" href=" {{ $ .Link }} ?verify_ssh= {{ .Fingerprint }} "> {{ $ .locale .Tr "settings.ssh_key_verify" }} </a>
{{ end }}
</div>
<div class="left floated content">
<span class="tooltip text {{ if .HasRecentActivity }} green {{ end }} " {{ if .HasRecentActivity }} data-content=" {{ $ .locale .Tr "settings.key_state_desc" }} " {{ end }} > {{ svg "octicon-key" 3 2 }} </span>
</div>
<div class="content">
{{ if .Verified }}
<span class="tooltip" data-content=" {{ $ .locale .Tr "settings.ssh_key_verified_long" }} "> {{ svg "octicon-verified" }} <strong> {{ $ .locale .Tr "settings.ssh_key_verified" }} </strong></span>
{{ end }}
<strong> {{ .Name }} </strong>
<div class="print meta">
{{ .Fingerprint }}
</div>
<div class="activity meta">
<i> {{ $ .locale .Tr "settings.add_on" }} <span><time data-format="short-date" datetime=" {{ .CreatedUnix .FormatLong }} "> {{ .CreatedUnix .FormatShort }} </time></span> — {{ svg "octicon-info" }} {{ if .HasUsed }} {{ $ .locale .Tr "settings.last_used" }} <span {{ if .HasRecentActivity }} class="green" {{ end }} ><time data-format="short-date" datetime=" {{ .UpdatedUnix .FormatLong }} "> {{ .UpdatedUnix .FormatShort }} </time></span> {{ else }} {{ $ .locale .Tr "settings.no_activity" }} {{ end }} </i>
</div>
</div>
</div>
{{ if and ( not .Verified ) ( eq $ .VerifyingFingerprint .Fingerprint ) }}
<div class="ui segment">
<h4> {{ $ .locale .Tr "settings.ssh_token_required" }} </h4>
<form class="ui form {{ if $ .HasSSHVerifyError }} error {{ end }} " action=" {{ $ .Link }} " method="post">
{{ $ .CsrfTokenHtml }}
<input type="hidden" name="title" value="none">
<input type="hidden" name="content" value=" {{ .Content }} ">
<input type="hidden" name="fingerprint" value=" {{ .Fingerprint }} ">
<div class="field">
<label for="token"> {{ $ .locale .Tr "settings.ssh_token" }} </label>
<input readonly="" value=" {{ $ .TokenToSign }} ">
<div class="help">
<p> {{ $ .locale .Tr "settings.ssh_token_help" }} </p>
<p><code> {{ printf "echo -n '%s' | ssh-keygen -Y sign -n gitea -f /path_to_your_privkey" $ .TokenToSign }} </code></p>
</div>
<br>
</div>
<div class="field">
<label for="signature"> {{ $ .locale .Tr "settings.ssh_token_signature" }} </label>
<textarea id="ssh-key-signature" name="signature" class="js-quick-submit" placeholder=" {{ $ .locale .Tr "settings.key_signature_ssh_placeholder" }} " required> {{ $ .signature }} </textarea>
</div>
<input name="type" type="hidden" value="verify_ssh">
<button class="ui green button">
{{ $ .locale .Tr "settings.ssh_key_verify" }}
</button>
<a class="ui red button" href=" {{ $ .Link }} ">
{{ $ .locale .Tr "settings.cancel" }}
</a>
</form>
</div>
{{ end }}
{{ end }}
</div>
</div>
<br>
<p> {{ .locale .Tr "settings.ssh_helper" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/connecting-to-github-with-ssh" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/troubleshooting-ssh" | Str2html }} </p>
<div class="ui small basic delete modal" id="delete-ssh">
<div class="ui icon header">
{{ svg "octicon-trash" }}
{{ .locale .Tr "settings.ssh_key_deletion" }}
</div>
<div class="content">
<p> {{ .locale .Tr "settings.ssh_key_deletion_desc" }} </p>
</div>
{{ template "base/delete_modal_actions" . }}
</div>