Changes for page Tidy-Lab Cloud Platform
Last modified by Humphrey AI on 2026/03/22 10:27
From version 40.1
edited by Humphrey AI
on 2026/03/19 20:25
on 2026/03/19 20:25
Change comment:
There is no comment for this version
To version 36.1
edited by Humphrey AI
on 2026/03/19 16:26
on 2026/03/19 16:26
Change comment:
There is no comment for this version
Summary
-
Objects (2 modified, 0 added, 0 removed)
Details
- XWiki.JavaScriptExtension[0]
-
- code
-
... ... @@ -4,20 +4,68 @@ 4 4 var hero = document.querySelector('.tl-hero'); 5 5 if (!hero) return; 6 6 7 - // Simple scroll check: toggle tl-scrolled when past the hero 7 + // Collect all chrome elements to fade 8 + var chromeSelectors = [ 9 + '#menuview', '#headerglobal', '#hierarchy_breadcrumb', 10 + '.document-header', '#xdocFooter', '#xwikidata', 11 + '#footerglobal', '.skip-nav' 12 + ]; 13 + var chromeElements = []; 14 + chromeSelectors.forEach(function(sel) { 15 + var el = document.querySelector(sel); 16 + if (el) chromeElements.push(el); 17 + }); 18 + 19 + var wasFading = false; 20 + 8 8 function onScroll() { 9 9 var heroHeight = hero.offsetHeight; 10 10 var scrollY = window.pageYOffset || document.documentElement.scrollTop; 11 11 12 - if (scrollY >= heroHeight * 0.7) { 25 + // Start fading at 30% scroll, fully visible at 70% 26 + var fadeStart = heroHeight * 0.3; 27 + var fadeEnd = heroHeight * 0.7; 28 + var progress = 0; 29 + 30 + if (scrollY <= fadeStart) { 31 + progress = 0; 32 + } else if (scrollY >= fadeEnd) { 33 + progress = 1; 34 + } else { 35 + progress = (scrollY - fadeStart) / (fadeEnd - fadeStart); 36 + } 37 + 38 + if (progress > 0 && progress < 1) { 39 + // Fading: switch from display:none to opacity-based 40 + if (!wasFading) { 41 + document.body.classList.add('tl-fading'); 42 + document.body.classList.remove('tl-scrolled'); 43 + wasFading = true; 44 + } 45 + chromeElements.forEach(function(el) { 46 + el.style.opacity = progress; 47 + }); 48 + } else if (progress >= 1) { 49 + // Fully scrolled: restore normal layout 50 + document.body.classList.remove('tl-fading'); 13 13 document.body.classList.add('tl-scrolled'); 52 + chromeElements.forEach(function(el) { 53 + el.style.opacity = ''; 54 + }); 55 + wasFading = false; 14 14 } else { 57 + // At top: hide everything 58 + document.body.classList.remove('tl-fading'); 15 15 document.body.classList.remove('tl-scrolled'); 60 + chromeElements.forEach(function(el) { 61 + el.style.opacity = ''; 62 + }); 63 + wasFading = false; 16 16 } 17 17 } 18 18 19 19 window.addEventListener('scroll', onScroll, { passive: true }); 20 - onScroll(); 68 + onScroll(); // run once on load 21 21 22 22 // Smooth scroll for the arrow 23 23 var scrollLink = document.querySelector('.tl-hero-scroll');
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -24,11 +24,6 @@ 24 24 NAV — always visible, fixed, blends with hero 25 25 ========================================================================== */ 26 26 27 - /* Hide hamburger drawer button — empty menu, not needed */ 28 - .tl-hero-page #tmDrawerActivator { 29 - display: none !important; 30 - } 31 - 32 32 /* Nav is always fixed at top */ 33 33 .tl-hero-page #menuview { 34 34 position: fixed !important; ... ... @@ -40,32 +40,19 @@ 40 40 transition: background-color 0.3s ease, box-shadow 0.3s ease; 41 41 } 42 42 43 - /* On the hero: match hero purple exactly (#2D2B55, not theme default #1e1b4b) */ 44 - .tl-hero-page:not(.tl-scrolled) #menuview, 45 - .tl-hero-page:not(.tl-scrolled) #menuview .navbar-default { 46 - background-color: #2D2B55 !important; 47 - background-image: none !important; 48 - border-color: transparent !important; 38 + /* On the hero: transparent, blends with purple */ 39 + .tl-hero-page:not(.tl-scrolled) #menuview { 40 + background-color: transparent !important; 49 49 box-shadow: none !important; 50 50 } 51 51 52 - /* After scrolling past hero: same purple with shadow */ 53 - .tl-hero-page.tl-scrolled #menuview, 54 - .tl-hero-page.tl-scrolled #menuview .navbar-default { 55 - background-color: #2D2B55 !important; 56 - background-image: none !important; 57 - border-color: transparent !important; 44 + /* After scrolling past hero: solid background with shadow */ 45 + .tl-hero-page.tl-scrolled #menuview { 46 + background-color: var(--hero-purple) !important; 58 58 box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15) !important; 59 59 } 60 60 61 - /* Search button: match hero purple instead of theme default #1e1b4b */ 62 -.tl-hero-page #menuview .btn[aria-controls="headerglobalsearchinput"], 63 -.tl-hero-page #menuview .navbar-default .btn[title="Search"] { 64 - background-color: var(--hero-purple) !important; 65 - border-color: rgba(255, 255, 255, 0.15) !important; 66 -} 67 - 68 -/* Hide non-nav chrome on the hero (breadcrumbs, footer, etc.) */ 50 + /* Hide non-nav chrome on the hero (breadcrumbs, footer, etc.) */ 69 69 .tl-hero-page:not(.tl-scrolled) #headerglobal, 70 70 .tl-hero-page:not(.tl-scrolled) #hierarchy_breadcrumb, 71 71 .tl-hero-page:not(.tl-scrolled) .document-header,