Settings drawer hide v2: target a.btnSettings + data-itemid

Drawer Settings href is literally '#' (route via JS click handler keyed
off data-itemid='settings'). Old href*=mypreferencesmenu rules matched
zero elements in live DOM. Fix verified on dev with headless A/B (doc
17 commit 4772ddf).
This commit is contained in:
s8n 2026-05-08 16:05:30 +01:00
parent 937589c7a2
commit db101769fc
2 changed files with 23 additions and 1 deletions

View file

@ -22,6 +22,9 @@ Last revised: 2026-05-08
- [x] Imported: The Incredible Hulk (2008)
- [x] Imported: Idiocracy (2006)
- [x] Imported: American Dad! (2005) S01-S04 (58 eps)
- [x] Imported: Star Wars - Maul - Shadow Lord (2026) S01 (10 eps)
- [x] Imported: Rick and Morty (2013) S01 (11 eps, 4K HDR upscale)
- [x] Imported: Obi-Wan Kenobi (2022) S01
---

View file

@ -13,6 +13,14 @@ html, body, .preload, .skinBody, .skinHeader, #reactRoot, .mainAnimatedPages {
color: #ffffff !important;
}
/* Hide pre-bundle Jellyfin logo + replace with .splashLogo (already swapped to ARRFLIX in this index.html) */
/* ARRFLIX dev V2 (2026-05-08) — hide drawer Settings entry from non-admins.
Drawer Settings link is .btnSettings / [data-itemid="settings"] with href="#".
Old href*="mypreferencesmenu" rules in CustomCss never matched. */
a.btnSettings,
.navMenuOption.btnSettings,
[data-itemid="settings"] {
display: none !important;
}
</style><script>/* ARRFLIX-SHIM-BEGIN */
(function(){
var TITLE = 'ARRFLIX';
@ -43,7 +51,18 @@ html, body, .preload, .skinBody, .skinHeader, #reactRoot, .mainAnimatedPages {
}
function nukeSettings(){
try {
var nodes = document.querySelectorAll('a[href*="mypreferencesmenu"], [to*="mypreferencesmenu"]');
// V2 (2026-05-08): Jellyfin web-bundle renders the drawer Settings link as
// <a is="emby-linkbutton" class="navMenuOption ... btnSettings ..."
// data-itemid="settings" href="#"> ... </a>
// The href is literally "#"; the route is wired by JS click handler
// keyed off data-itemid. The previous selector
// a[href*="mypreferencesmenu"], [to*="mypreferencesmenu"]
// matched ZERO elements in the live drawer (verified via headless probe).
// Match by the stable class + data-itemid instead, and keep the legacy
// href selector as a fallback for older bundles / future variants.
var nodes = document.querySelectorAll(
'a.btnSettings, [data-itemid="settings"], a[href*="mypreferencesmenu"], [to*="mypreferencesmenu"]'
);
for (var i=0;i<nodes.length;i++){
var el = nodes[i];
var p = el.closest && (el.closest('li, .MuiListItem-root, [role="menuitem"]')) || el;