Consolidate clone button templates (#14023)
	
		
	
				
					
				
			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>tokarchuk/v1.17
							parent
							
								
									366ce66cad
								
							
						
					
					
						commit
						9a4050f1e8
					
				@ -0,0 +1,35 @@ | 
				
			|||||||
 | 
					{{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}} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue