aboutsummaryrefslogtreecommitdiffstats
path: root/templates/repo/clone_buttons.tmpl
blob: 37a88af945fc581e54f32c4b25f162babf545427 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{{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 poping up" 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 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}}