{{if not $.DisableHTTP}}
	<button class="ui basic clone button no-transition" id="repo-clone-https" data-link="{{if $.PageIsWiki}}{{$.WikiCloneLink.HTTPS}}{{else}}{{$.CloneLink.HTTPS}}{{end}}">
		{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}}
	</button>
{{end}}
{{if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
	<button class="ui basic clone button no-transition" id="repo-clone-ssh" data-link="{{if $.PageIsWiki}}{{$.WikiCloneLink.SSH}}{{else}}{{$.CloneLink.SSH}}{{end}}">
		SSH
	</button>
{{end}}
{{if not $.DisableHTTP}}
	<input id="repo-clone-url" value="{{if $.PageIsWiki}}{{$.WikiCloneLink.HTTPS}}{{else}}{{$.CloneLink.HTTPS}}{{end}}" readonly>
{{else if and (not .DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
	<input id="repo-clone-url" value="{{if $.PageIsWiki}}{{$.WikiCloneLink.SSH}}{{else}}{{$.CloneLink.SSH}}{{end}}" readonly>
{{end}}
{{if or (not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH))}}
	<button class="ui basic icon button tooltip" id="clipboard-btn" data-content="{{.i18n.Tr "copy_url"}}" data-clipboard-target="#repo-clone-url">
		{{svg "octicon-paste"}}
	</button>
{{end}}
{{if not (and $.DisableHTTP $.DisableSSH)}}
	<script>
		<!-- /* eslint-disable */ -->
		window.config.pageData['repoCloneButtons']= {httpsDisabled: {{$.DisableHTTP}}};
	</script>
	<script>
		(() => {
			const tmplData = window.config.pageData.repoCloneButtons;
			const isSSH = tmplData.httpsDisabled || 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).getAttribute('data-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}}
