diff options
author | silverwind <me@silverwind.io> | 2020-12-28 19:30:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-28 13:30:06 -0500 |
commit | 9a4050f1e839af1bd072aff9ac5fc69e650747c8 (patch) | |
tree | beffd72b4be84a3465eb02969c1988667c3468d9 /templates/repo/clone_buttons.tmpl | |
parent | 366ce66cadcaeb45cc1434f3446561329708bb5b (diff) | |
download | gitea-9a4050f1e839af1bd072aff9ac5fc69e650747c8.tar.gz gitea-9a4050f1e839af1bd072aff9ac5fc69e650747c8.zip |
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>
Diffstat (limited to 'templates/repo/clone_buttons.tmpl')
-rw-r--r-- | templates/repo/clone_buttons.tmpl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/templates/repo/clone_buttons.tmpl b/templates/repo/clone_buttons.tmpl new file mode 100644 index 0000000000..92195283ca --- /dev/null +++ b/templates/repo/clone_buttons.tmpl @@ -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}} |