The four clone button templates are pretty much identical except the one in a non-empty repo had a few features which the others lacked. Consolidate them in a single shared template which also makes the JS that remembers protocol work on them all. Co-authored-by: techknowlogick <techknowlogick@gitea.io>
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
| {{if not $.DisableHTTP}}
 | |
| 	<button class="ui basic clone button no-transition" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}">
 | |
| 		{{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="{{.CloneLink.SSH}}">
 | |
| 		SSH
 | |
| 	</button>
 | |
| {{end}}
 | |
| {{if not $.DisableHTTP}}
 | |
| 	<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly>
 | |
| {{else if and (not .DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
 | |
| 	<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly>
 | |
| {{end}}
 | |
| {{if or (not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH))}}
 | |
| 	<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
 | |
| 		{{svg "octicon-clippy"}}
 | |
| 	</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}}
 |