Merge pull request #1489 from PR0M3TH3AN/explore-link-visibility-8183721342174679131

Enable 'Explore' sidebar link for logged-in users
This commit is contained in:
thePR0M3TH3AN authored and GitHub committed 2026-01-22 00:14:55 -05:00
commit 870df0482a
3 files changed
+37

No files matched your search

+29
View File
@@ -4061,6 +4061,11 @@ class Application {
if (forYouLink) {
forYouLink.classList.remove("hidden");
}
const exploreLink = this.resolveExploreLink();
if (exploreLink) {
exploreLink.classList.remove("hidden");
}
}
applyLoggedOutUiState() {
@@ -4100,6 +4105,11 @@ class Application {
if (forYouLink) {
forYouLink.classList.add("hidden");
}
const exploreLink = this.resolveExploreLink();
if (exploreLink) {
exploreLink.classList.add("hidden");
}
}
syncAuthUiState() {
@@ -4171,10 +4181,29 @@ class Application {
return null;
}
resolveExploreLink() {
if (
this.exploreLink instanceof HTMLElement &&
this.exploreLink.isConnected
) {
return this.exploreLink;
}
const linkCandidate = document.getElementById("exploreLink");
if (linkCandidate instanceof HTMLElement) {
this.exploreLink = linkCandidate;
return this.exploreLink;
}
this.exploreLink = null;
return null;
}
hydrateSidebarNavigation() {
const chromeElements = this.refreshChromeElements();
this.resolveSubscriptionsLink();
this.resolveForYouLink();
this.resolveExploreLink();
if (this.appChromeController) {
if (typeof this.appChromeController.setElements === "function") {
+1
View File
@@ -657,6 +657,7 @@ export default class ApplicationBootstrap {
app.subscriptionsLink = null;
app.forYouLink = null;
app.exploreLink = null;
app.notificationPortal = doc?.getElementById("notificationPortal") || null;
app.errorContainer = doc?.getElementById("errorContainer") || null;
@@ -18,6 +18,7 @@ const VIEW_HTML = `<!DOCTYPE html>
</div>
<a id="subscriptionsLink" class="hidden"></a>
<a id="forYouLink" class="hidden"></a>
<a id="exploreLink" class="hidden"></a>
</body>
</html>`;
@@ -46,6 +47,7 @@ test("hydrateSidebarNavigation reveals chrome controls for authenticated viewers
app.userStatus = window.document.getElementById("userStatus");
app.userPubKey = window.document.getElementById("userPubKey");
app.subscriptionsLink = null;
app.exploreLink = null;
app.isUserLoggedIn = () => true;
app.log = () => {};
app.showError = () => {};
@@ -60,6 +62,7 @@ test("hydrateSidebarNavigation reveals chrome controls for authenticated viewers
const logoutButton = window.document.getElementById("logoutButton");
const subscriptionsLink = window.document.getElementById("subscriptionsLink");
const forYouLink = window.document.getElementById("forYouLink");
const exploreLink = window.document.getElementById("exploreLink");
const closeLoginButton = window.document.getElementById("closeLoginModal");
assert.equal(app.uploadButton, uploadButton);
@@ -77,6 +80,7 @@ test("hydrateSidebarNavigation reveals chrome controls for authenticated viewers
assert.equal(logoutButton.classList.contains("hidden"), false);
assert.equal(subscriptionsLink.classList.contains("hidden"), false);
assert.equal(forYouLink.classList.contains("hidden"), false);
assert.equal(exploreLink.classList.contains("hidden"), false);
assert.ok(app.appChromeController.receivedElements);
assert.equal(
@@ -123,6 +127,7 @@ test("hydrateSidebarNavigation hides chrome controls for logged-out viewers", ()
app.userStatus = window.document.getElementById("userStatus");
app.userPubKey = window.document.getElementById("userPubKey");
app.subscriptionsLink = null;
app.exploreLink = null;
app.isUserLoggedIn = () => false;
app.log = () => {};
app.showError = () => {};
@@ -137,6 +142,7 @@ test("hydrateSidebarNavigation hides chrome controls for logged-out viewers", ()
const logoutButton = window.document.getElementById("logoutButton");
const subscriptionsLink = window.document.getElementById("subscriptionsLink");
const forYouLink = window.document.getElementById("forYouLink");
const exploreLink = window.document.getElementById("exploreLink");
const closeLoginButton = window.document.getElementById("closeLoginModal");
assert.equal(app.uploadButton, uploadButton);
@@ -154,6 +160,7 @@ test("hydrateSidebarNavigation hides chrome controls for logged-out viewers", ()
assert.equal(logoutButton.classList.contains("hidden"), true);
assert.equal(subscriptionsLink.classList.contains("hidden"), true);
assert.equal(forYouLink.classList.contains("hidden"), true);
assert.equal(exploreLink.classList.contains("hidden"), true);
assert.ok(app.appChromeController.receivedElements);
assert.equal(