Skip to content

Commit 2b86257

Browse files
committed
Fix repo name presence on Issues tab
1 parent ba5a65f commit 2b86257

File tree

1 file changed

+41
-30
lines changed

1 file changed

+41
-30
lines changed

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

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
const TRACE = 5;
3232

3333
// Change to SILENT, QUIET, INFO, DEBUG, VERBOSE, or TRACE
34-
const LOG_LEVEL_OVERRIDE = DEBUG;
34+
const LOG_LEVEL_OVERRIDE = null;
3535

3636
const LOG_LEVELS = {
3737
default: QUIET,
@@ -1606,10 +1606,10 @@
16061606
const configKey = 'repositoryHeader';
16071607
const repositoryHeader = document.querySelector(SELECTORS[configKey].id);
16081608

1609-
if (!repositoryHeader) {
1610-
// This is expected on pages that aren't repositories
1611-
log(DEBUG, `Selector '${SELECTORS[configKey].id}' not found`);
1612-
return;
1609+
if (repositoryHeader) {
1610+
log(INFO, `Selector '${SELECTORS[configKey].id}' found`);
1611+
} else {
1612+
log(INFO, `Selector '${SELECTORS[configKey].id}' not found; this is expected on the Issues tab or pages that aren't repositories`);
16131613
}
16141614

16151615
const topRepositoryHeaderElement = document.createElement('div');
@@ -1623,16 +1623,24 @@
16231623
topRepositoryHeaderElement.style.setProperty('background-color', elementConfig.backgroundColor);
16241624
}
16251625

1626-
if (repositoryHeader.hidden) {
1627-
log(DEBUG, `Selector '${SELECTORS[configKey].id}' is hidden`);
1626+
const tempHeaderPresent = HEADER.querySelector(createId(TEMP_REPOSITORY_HEADER_FLAG));
1627+
1628+
if (!repositoryHeader || repositoryHeader.hidden) {
1629+
log(INFO, 'A repo tab other than Code is being loaded for the first time');
1630+
1631+
if (tempHeaderPresent) {
1632+
log(DEBUG, `Selector '${createId(TEMP_REPOSITORY_HEADER_FLAG)}' found; skipping header creation`);
1633+
return;
1634+
}
1635+
1636+
log(DEBUG, `Selector '${SELECTORS[configKey].id}' is not present or hidden`);
16281637

16291638
if (!HEADER.querySelector(SELECTORS.pageTitle.separator)) {
16301639
log(DEBUG, `Selector '${SELECTORS.pageTitle.separator}' not found, not creating a repository header`);
16311640

16321641
return;
16331642
}
16341643

1635-
// A repo tab other than Code is being loaded for the first time
16361644
const pageTitle = HEADER.querySelector(SELECTORS.pageTitle.topDiv);
16371645

16381646
if (!pageTitle) {
@@ -1649,10 +1657,10 @@
16491657

16501658
topRepositoryHeaderElement.appendChild(repositoryHeaderElement);
16511659
insertNewGlobalBar(topRepositoryHeaderElement);
1652-
} else if (HEADER.querySelector(createId(TEMP_REPOSITORY_HEADER_FLAG))) {
1660+
} else if (tempHeaderPresent) {
16531661
log(DEBUG, `Selector '${createId(TEMP_REPOSITORY_HEADER_FLAG)}' found`);
1662+
log(INFO, 'The Code tab is being loaded from another tab which has a temporary header');
16541663

1655-
// The Code tab is being loaded from another tab which has a temporary header
16561664
const tempRepositoryHeader = HEADER.querySelector(createId(TEMP_REPOSITORY_HEADER_FLAG));
16571665

16581666
NEW_ELEMENTS = NEW_ELEMENTS.filter(element => element !== tempRepositoryHeader);
@@ -1664,11 +1672,29 @@
16641672
DEBUG,
16651673
`'${SELECTORS[configKey].id}' is hidden and selector '${createId(TEMP_REPOSITORY_HEADER_FLAG)}' not found`,
16661674
);
1675+
log(INFO, 'The Code tab being loaded for the first time');
16671676

1668-
// The Code tab being loaded for the first time
16691677
insertPermanentRepositoryHeader(topRepositoryHeaderElement, repositoryHeader);
16701678
}
16711679

1680+
HEADER_STYLE.textContent += `
1681+
${SELECTORS.repositoryHeader.nav} context-region
1682+
{
1683+
display: flex !important;
1684+
}
1685+
1686+
${SELECTORS.repositoryHeader.nav} context-region context-region-crumb
1687+
{
1688+
display: flex !important;
1689+
align-items: center !important;
1690+
}
1691+
1692+
${SELECTORS.repositoryHeader.nav} context-region-crumb:last-child context-region-divider
1693+
{
1694+
display: none !important;
1695+
}
1696+
`;
1697+
16721698
updateRepositoryHeaderName();
16731699

16741700
if (elementConfig.backgroundColor !== '') {
@@ -1908,22 +1934,6 @@
19081934
{
19091935
display: initial !important;
19101936
}
1911-
1912-
${SELECTORS.repositoryHeader.nav} context-region
1913-
{
1914-
display: flex !important;
1915-
}
1916-
1917-
${SELECTORS.repositoryHeader.nav} context-region context-region-crumb
1918-
{
1919-
display: flex !important;
1920-
align-items: center !important;
1921-
}
1922-
1923-
${SELECTORS.repositoryHeader.nav} context-region-crumb:last-child context-region-divider
1924-
{
1925-
display: none !important;
1926-
}
19271937
`;
19281938

19291939
clonedPageTitle.querySelectorAll('svg.octicon-lock').forEach(svg => svg.remove());
@@ -1994,9 +2004,10 @@
19942004
function insertNewGlobalBar(element) {
19952005
log(DEBUG, 'insertNewGlobalBar()');
19962006

1997-
const elementToInsertAfter = HEADER.querySelector(SELECTORS.header.globalBar);
1998-
1999-
elementToInsertAfter.parentNode.insertBefore(element, elementToInsertAfter.nextSibling);
2007+
modifyThenObserve(() => {
2008+
const elementToInsertAfter = HEADER.querySelector(SELECTORS.header.globalBar);
2009+
elementToInsertAfter.parentNode.insertBefore(element, elementToInsertAfter.nextSibling);
2010+
});
20002011
}
20012012

20022013
function createId(string) {

0 commit comments

Comments
 (0)