Skip to content

Commit 1378ebf

Browse files
committed
Fix sidebars.right.floatUnderneath, deprecate sidebars.right.preload and avatar.canCloseSidebar
1 parent b8c9566 commit 1378ebf

File tree

1 file changed

+38
-103
lines changed

1 file changed

+38
-103
lines changed

src/github-custom-global-navigation.user.js

Lines changed: 38 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
(function () {
2121
'use strict';
2222

23+
const VERSION = '1.6.8';
24+
2325
const SILENT = 0;
2426
const QUIET = 1;
2527
const INFO = 2;
@@ -29,13 +31,31 @@
2931

3032
let CURRENT_LOG_LEVEL = QUIET;
3133

34+
// Change to SILENT, QUIET, INFO, DEBUG, VERBOSE, or TRACE
35+
const LOG_LEVEL_OVERRIDE = DEBUG;
36+
3237
const USERSCRIPT_NAME = 'GitHub Custom Global Navigation';
3338

34-
function log(level, message, variable = -1) {
39+
function log (level, message, variable = undefined) {
3540
if (CURRENT_LOG_LEVEL < level) return;
3641

37-
console.log(`${USERSCRIPT_NAME}: ${message}`);
38-
if (variable !== -1) console.log(variable);
42+
const levelName = {
43+
0: 'silent',
44+
1: 'quiet',
45+
2: 'info',
46+
3: 'debug',
47+
4: 'verbose',
48+
5: 'trace',
49+
}[level];
50+
51+
const log = `[${VERSION}] [${levelName}] ${USERSCRIPT_NAME}: ${message}`;
52+
53+
console.groupCollapsed(log);
54+
55+
if (variable !== undefined) console.dir(variable, { depth: null });
56+
57+
console.trace();
58+
console.groupEnd();
3959
}
4060

4161
function logError(message, variable = null) {
@@ -1293,43 +1313,6 @@
12931313
button.appendChild(divElement);
12941314
}
12951315

1296-
function updateAvatarButton() {
1297-
log(DEBUG, 'updateAvatarButton()');
1298-
1299-
const elementSelector = SELECTORS.sidebars.right;
1300-
const backdropSelector = elementSelector.backdrop;
1301-
1302-
const backdrop = HEADER.querySelector(backdropSelector);
1303-
1304-
if (!backdrop) {
1305-
log(DEBUG, `Selector ${backdropSelector} not found`);
1306-
return;
1307-
}
1308-
1309-
const avatarButton = HEADER.querySelector(SELECTORS.avatar.button);
1310-
1311-
if (!avatarButton) {
1312-
log(DEBUG, `Selector ${SELECTORS.avatar.button} not found`);
1313-
return;
1314-
}
1315-
1316-
if (backdrop.classList.contains('Overlay--hidden')) {
1317-
if (avatarButton.hasAttribute('data-close-dialog-id')) {
1318-
const dialogId = avatarButton.getAttribute('data-close-dialog-id');
1319-
avatarButton.setAttribute('data-show-dialog-id', dialogId);
1320-
1321-
avatarButton.removeAttribute('data-close-dialog-id');
1322-
}
1323-
} else {
1324-
if (avatarButton.hasAttribute('data-show-dialog-id')) {
1325-
const dialogId = avatarButton.getAttribute('data-show-dialog-id');
1326-
avatarButton.setAttribute('data-close-dialog-id', dialogId);
1327-
1328-
avatarButton.removeAttribute('data-show-dialog-id');
1329-
}
1330-
}
1331-
}
1332-
13331316
function updateAvatar() {
13341317
log(DEBUG, 'updateAvatar()');
13351318

@@ -1527,45 +1510,6 @@
15271510
LEFT_SIDEBAR_PRELOADED = true;
15281511
}
15291512

1530-
function preloadRightSidebar() {
1531-
log(DEBUG, 'preloadRightSidebar()');
1532-
1533-
if (RIGHT_SIDEBAR_PRELOADED) return;
1534-
1535-
const temporaryStyleId = 'temporaryStyle';
1536-
1537-
const avatarButton = HEADER.querySelector(SELECTORS.avatar.button);
1538-
if (!avatarButton) {
1539-
setTimeout(preloadRightSidebar, 100);
1540-
} else {
1541-
avatarButton.click();
1542-
const closeButton = document.querySelector(SELECTORS.sidebars.right.closeButton);
1543-
1544-
if (!document.querySelector(createId(temporaryStyleId))) {
1545-
// Hide the sidebar
1546-
let temporaryStyle = document.createElement('style');
1547-
temporaryStyle.setAttribute('id', temporaryStyleId);
1548-
temporaryStyle.textContent += `
1549-
#__primerPortalRoot__
1550-
{
1551-
display: none;
1552-
}
1553-
`;
1554-
document.body.appendChild(temporaryStyle);
1555-
}
1556-
1557-
if (!closeButton) {
1558-
setTimeout(preloadRightSidebar, 100);
1559-
} else {
1560-
closeButton.click();
1561-
1562-
log(INFO, 'Right sidebar preloaded');
1563-
document.querySelector(createId(temporaryStyleId)).remove();
1564-
RIGHT_SIDEBAR_PRELOADED = true;
1565-
}
1566-
}
1567-
}
1568-
15691513
function updateSidebars() {
15701514
log(DEBUG, 'updateSidebars()');
15711515

@@ -1576,7 +1520,8 @@
15761520

15771521
if (elementConfig.backdrop.color !== '') {
15781522
HEADER_STYLE.textContent += `
1579-
${elementSelector.backdrop}
1523+
${elementSelector.left.backdrop},
1524+
${elementSelector.right.backdrop}
15801525
{
15811526
background: ${CONFIG.sidebars.backdrop.color} !important;
15821527
}
@@ -1587,19 +1532,21 @@
15871532

15881533
if (elementConfig.right.floatUnderneath) {
15891534
HEADER_STYLE.textContent += `
1590-
${elementSelector.right.modalDialog}
1535+
${elementSelector.right.backdrop}
15911536
{
1592-
border-top-right-radius: 0.75rem !important;
1593-
border-bottom-right-radius: 0.75rem !important;
15941537
bottom: initial !important;
15951538
margin-top: 55px;
15961539
margin-right: 20px;
15971540
}
1541+
1542+
${elementSelector.right.modalDialog}
1543+
{
1544+
border-top-right-radius: 0.75rem !important;
1545+
border-bottom-right-radius: 0.75rem !important;
1546+
}
15981547
`;
15991548
}
16001549

1601-
if (elementConfig.right.preload) preloadRightSidebar();
1602-
16031550
if (elementConfig.right.maxHeight) {
16041551
HEADER_STYLE.textContent += `
16051552
${elementSelector.right.modalDialog}
@@ -2392,6 +2339,8 @@
23922339
verbose: VERBOSE,
23932340
trace: TRACE,
23942341
}[GMC.get('log_level')];
2342+
2343+
if (LOG_LEVEL_OVERRIDE) CURRENT_LOG_LEVEL = LOG_LEVEL_OVERRIDE;
23952344
}
23962345

23972346
function gmcSaved() {
@@ -3327,7 +3276,6 @@
33273276
return 'break';
33283277
} else {
33293278
if (CONFIG.avatar.dropdownIcon) insertAvatarDropdown();
3330-
if (CONFIG.avatar.canCloseSidebar) updateAvatarButton();
33313279

33323280
if (CONFIG.repositoryHeader.import) {
33333281
// When starting in a repository tab like Issues, the proper repository header
@@ -3522,14 +3470,15 @@
35223470
bottomBorder: `.${REPOSITORY_HEADER_CLASS} .border-bottom.mx-xl-5`,
35233471
},
35243472
sidebars: {
3525-
backdrop: 'dialog.Overlay.SidePanel::backdrop',
35263473
left: {
3474+
backdrop: 'dialog[data-target="deferred-side-panel.panel"]::backdrop',
35273475
modalDialog: '.Overlay--placement-left',
35283476
},
35293477
right: {
35303478
topDiv: '#__primerPortalRoot__',
35313479
wrapper: '#__primerPortalRoot__ > div',
35323480
backdrop: '#__primerPortalRoot__ > div > [data-position-regular="right"]',
3481+
modalDialog: '#__primerPortalRoot__ > div > [data-position-regular="right"] > div',
35333482
closeButton: '#__primerPortalRoot__ button[aria-label="Close"]',
35343483
divider: 'li[data-component="ActionList.Divider"]',
35353484
},
@@ -3738,7 +3687,6 @@
37383687
remove: false,
37393688
size: '',
37403689
dropdownIcon: false,
3741-
canCloseSidebar: true,
37423690
},
37433691
globalBar: {
37443692
boxShadowColor: '',
@@ -3985,7 +3933,6 @@
39853933
remove: false,
39863934
size: '',
39873935
dropdownIcon: false,
3988-
canCloseSidebar: true,
39893936
},
39903937
globalBar: {
39913938
boxShadowColor: '',
@@ -4236,7 +4183,6 @@
42364183
remove: false,
42374184
size: '24px',
42384185
dropdownIcon: true,
4239-
canCloseSidebar: true,
42404186
},
42414187
globalBar: {
42424188
boxShadowColor: '#21262D',
@@ -4268,7 +4214,7 @@
42684214
preload: true,
42694215
floatUnderneath: true,
42704216
width: '',
4271-
maxHeight: '50vh',
4217+
maxHeight: '60vh',
42724218
},
42734219
},
42744220
repositoryHeader: {
@@ -4483,7 +4429,6 @@
44834429
remove: false,
44844430
size: '24px',
44854431
dropdownIcon: true,
4486-
canCloseSidebar: true,
44874432
},
44884433
globalBar: {
44894434
boxShadowColor: '#21262D',
@@ -4515,7 +4460,7 @@
45154460
preload: true,
45164461
floatUnderneath: true,
45174462
width: '',
4518-
maxHeight: '50vh',
4463+
maxHeight: '60vh',
45194464
},
45204465
},
45214466
repositoryHeader: {
@@ -5092,11 +5037,6 @@
50925037
type: 'checkbox',
50935038
default: false,
50945039
},
5095-
light_avatar_canCloseSidebar: {
5096-
label: 'Can close sidebar',
5097-
type: 'checkbox',
5098-
default: false,
5099-
},
51005040
light_globalBar_boxShadowColor: {
51015041
label: '<h3>Global bar</h3><div class="gmc-label">Box shadow color</div>',
51025042
type: 'text',
@@ -5715,11 +5655,6 @@
57155655
type: 'checkbox',
57165656
default: false,
57175657
},
5718-
dark_avatar_canCloseSidebar: {
5719-
label: 'Can close sidebar',
5720-
type: 'checkbox',
5721-
default: false,
5722-
},
57235658
dark_globalBar_boxShadowColor: {
57245659
label: '<h3>Global bar</h3><div class="gmc-label">Box shadow color</div>',
57255660
type: 'text',

0 commit comments

Comments
 (0)