mirror of
https://github.com/Andre-Bzk/rin-mobile-userscript.git
synced 2026-11-15 09:33:08 +01:00
feat: add breadcrumb navigation to both views
Replacing the page hides the forum's own trail along with everything else, so a thread became a dead end: the only ways back to the parent forum were the browser's back button or editing the URL by hand. Deep in a long thread neither is workable. The bar has to be fixed rather than sticky. The view root carries overflow:hidden to contain phantom horizontal overflow, which would make it the scrollport a sticky bar sticks to — one that never scrolls. Its top clearance hangs off a body class so pages without a trail keep their full height instead of an empty strip. Board index still leads to a page the script does not rebuild; that would need a forum overview of its own. Debug flag off for daily use.
This commit is contained in:
@@ -26,7 +26,8 @@ Ein IIFE, streng der Reihe nach:
|
||||
4. `replaceBody(root)` blendet alle bisherigen `body`-Kinder aus und haengt die
|
||||
neue Ansicht an
|
||||
5. `buildList()` beziehungsweise `buildThread()` lesen das Original-DOM und
|
||||
bauen ein `div.rm-root`
|
||||
bauen ein `div.rm-root`; beide haengen zum Schluss ueber `addCrumbs()` die
|
||||
fixierte Brotkrumenleiste an
|
||||
6. `run()` waehlt die Ansicht und haengt bei `DEBUG` das gruene Overlay an
|
||||
7. Start ueber `DOMContentLoaded`, falls `readyState === 'loading'`
|
||||
|
||||
@@ -55,6 +56,13 @@ Die Funktion markiert *alle* vorhandenen `body`-Kinder mit `.rm-hidden`. Das
|
||||
Sheet wird deshalb erst beim ersten Antippen gebaut — das loest das Problem
|
||||
nebenbei mit.
|
||||
|
||||
**Die Brotkrumenleiste ist fixiert, nicht sticky.** `.rm-root` traegt
|
||||
`overflow:hidden` und wuerde damit zum Scrollport einer `position:sticky`
|
||||
-Leiste, in dem nie gescrollt wird — sie klebte nie. Fixierte Nachfahren
|
||||
klammert das `overflow` dagegen nicht, weil der Root keinen Containing Block
|
||||
aufspannt. Die Freihaltung oben haengt an `body.rm-crumbed`, damit ohne
|
||||
Brotkrumen im Markup kein leerer Streifen bleibt.
|
||||
|
||||
**`Page X of Y` steht als `Page <strong>1</strong> of <strong>1114</strong>`
|
||||
im Markup.** Ein Grep im Roh-HTML nach `Page 1 of` findet nichts, die Regex auf
|
||||
`txt(document.body)` greift trotzdem. Nicht vorschnell fuer kaputt halten.
|
||||
|
||||
Reference in New Issue
Block a user