Prevent clone protocol button flash on page load (#13626)

* Prevent clone protocol button flash on page load

Previously, the saved active buttons would flash on page load because if
delay involved in JS execution. Prevent these flashes bydisabling
transitions on page load and run the script right after. It's not an
ideal solution (which would require server-side storage of user
settings like this) but I'd say better than before.

* add defer

Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
silverwind 2020-11-26 21:31:09 +01:00 committed by GitHub
parent b2de034278
commit 7bc0c8cff6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 22 deletions

View file

@ -1138,16 +1138,16 @@ async function initRepository() {
$('#repo-clone-ssh').on('click', function () {
$('.clone-url').text($(this).data('link'));
$('#repo-clone-url').val($(this).data('link'));
$(this).addClass('blue');
$('#repo-clone-https').removeClass('blue');
$(this).addClass('primary');
$('#repo-clone-https').removeClass('primary');
localStorage.setItem('repo-clone-protocol', 'ssh');
});
$('#repo-clone-https').on('click', function () {
$('.clone-url').text($(this).data('link'));
$('#repo-clone-url').val($(this).data('link'));
$(this).addClass('blue');
$(this).addClass('primary');
if ($('#repo-clone-ssh').length > 0) {
$('#repo-clone-ssh').removeClass('blue');
$('#repo-clone-ssh').removeClass('primary');
localStorage.setItem('repo-clone-protocol', 'https');
}
});
@ -2520,22 +2520,6 @@ $(document).ready(async () => {
initTableSort();
initNotificationsTable();
// Repo clone url.
if ($('#repo-clone-url').length > 0) {
switch (localStorage.getItem('repo-clone-protocol')) {
case 'ssh':
if ($('#repo-clone-ssh').length > 0) {
$('#repo-clone-ssh').trigger('click');
} else {
$('#repo-clone-https').trigger('click');
}
break;
default:
$('#repo-clone-https').trigger('click');
break;
}
}
const routes = {
'div.user.settings': initUserSettings,
'div.repository.settings.collaboration': initRepositoryCollaboration