2020-12-29 02:30:06 +08:00
|
|
|
{{if not $.DisableHTTP}}
|
2021-04-13 05:52:48 +08:00
|
|
|
<button class="ui basic clone button no-transition" id="repo-clone-https" data-link="{{if $.PageIsWiki}}{{$.WikiCloneLink.HTTPS}}{{else}}{{$.CloneLink.HTTPS}}{{end}}">
|
2020-12-29 02:30:06 +08:00
|
|
|
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}}
|
|
|
|
</button>
|
|
|
|
{{end}}
|
|
|
|
{{if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
|
2021-04-13 05:52:48 +08:00
|
|
|
<button class="ui basic clone button no-transition" id="repo-clone-ssh" data-link="{{if $.PageIsWiki}}{{$.WikiCloneLink.SSH}}{{else}}{{$.CloneLink.SSH}}{{end}}">
|
2020-12-29 02:30:06 +08:00
|
|
|
SSH
|
|
|
|
</button>
|
|
|
|
{{end}}
|
|
|
|
{{if not $.DisableHTTP}}
|
2021-04-13 05:52:48 +08:00
|
|
|
<input id="repo-clone-url" value="{{if $.PageIsWiki}}{{$.WikiCloneLink.HTTPS}}{{else}}{{$.CloneLink.HTTPS}}{{end}}" readonly>
|
2020-12-29 02:30:06 +08:00
|
|
|
{{else if and (not .DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
|
2021-04-13 05:52:48 +08:00
|
|
|
<input id="repo-clone-url" value="{{if $.PageIsWiki}}{{$.WikiCloneLink.SSH}}{{else}}{{$.CloneLink.SSH}}{{end}}" readonly>
|
2020-12-29 02:30:06 +08:00
|
|
|
{{end}}
|
|
|
|
{{if or (not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH))}}
|
2021-11-18 11:26:50 +08:00
|
|
|
<button class="ui basic icon button tooltip" id="clipboard-btn" data-content="{{.i18n.Tr "copy_url"}}" data-clipboard-target="#repo-clone-url">
|
2021-08-17 13:32:48 +08:00
|
|
|
{{svg "octicon-paste"}}
|
2020-12-29 02:30:06 +08:00
|
|
|
</button>
|
|
|
|
{{end}}
|
|
|
|
{{if not (and $.DisableHTTP $.DisableSSH)}}
|
|
|
|
<script defer>
|
|
|
|
const isSSH = localStorage.getItem('repo-clone-protocol') === 'ssh';
|
|
|
|
const sshButton = document.getElementById('repo-clone-ssh');
|
|
|
|
const httpsButton = document.getElementById('repo-clone-https');
|
|
|
|
const input = document.getElementById('repo-clone-url');
|
|
|
|
if (input) input.value = (isSSH ? sshButton : httpsButton).dataset.link;
|
|
|
|
if (sshButton) sshButton.classList[isSSH ? 'add' : 'remove']('primary');
|
|
|
|
if (httpsButton) httpsButton.classList[isSSH ? 'remove' : 'add']('primary');
|
|
|
|
setTimeout(() => {
|
|
|
|
if (sshButton) sshButton.classList.remove('no-transition');
|
|
|
|
if (httpsButton) httpsButton.classList.remove('no-transition');
|
|
|
|
}, 100);
|
|
|
|
</script>
|
|
|
|
{{end}}
|