mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-28 04:36:11 +01:00
d4c789dfc1
The last PR about clone buttons introduced an JS error when visiting an empty repo page: * https://github.com/go-gitea/gitea/pull/19028 * `Uncaught ReferenceError: isSSH is not defined`, because the variables are scoped and doesn't share between sub templates. This: 1. Simplify `templates/repo/clone_buttons.tmpl` and make code clear 2. Move most JS code into `initRepoCloneLink` 3. Remove unused `CloneLink.Git` 4. Remove `ctx.Data["DisableSSH"] / ctx.Data["ExposeAnonSSH"] / ctx.Data["DisableHTTP"]`, and only set them when is is needed (eg: deploy keys / ssh keys) 5. Introduce `Data["CloneButton*"]` to provide data for clone buttons and links 6. Introduce `Data["RepoCloneLink"]` for the repo clone link (not the wiki) 7. Remove most `ctx.Data["PageIsWiki"]` because it has been set in the `/wiki` middleware 8. Remove incorrect `quickstart` class in `migrating.tmpl`
25 lines
1.1 KiB
Handlebars
25 lines
1.1 KiB
Handlebars
<!-- there is always at least one button (by context/repo.go) -->
|
|
{{if $.CloneButtonShowHTTPS}}
|
|
<button class="ui basic clone button no-transition" id="repo-clone-https" data-link="{{$.CloneButtonOriginLink.HTTPS}}">
|
|
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}}
|
|
</button>
|
|
{{end}}
|
|
{{if $.CloneButtonShowSSH}}
|
|
<button class="ui basic clone button no-transition" id="repo-clone-ssh" data-link="{{$.CloneButtonOriginLink.SSH}}">
|
|
SSH
|
|
</button>
|
|
{{end}}
|
|
<!-- the value will be updated by initRepoCloneLink, the code below is used to avoid UI flicking -->
|
|
<input id="repo-clone-url" value="" readonly>
|
|
<script>
|
|
(() => {
|
|
const proto = localStorage.getItem('repo-clone-protocol') || 'https';
|
|
const btn = document.getElementById(`repo-clone-${proto}`);
|
|
// it's ok if we don't find the btn here, initRepoCloneLink will take care of it
|
|
document.getElementById('repo-clone-url').value = btn ? btn.getAttribute('data-link') : '';
|
|
})();
|
|
</script>
|
|
<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>
|