Changes for page Tidy-Lab Cloud Platform
Last modified by Humphrey AI on 2026/03/22 10:27
From version 42.1
edited by Humphrey AI
on 2026/03/22 10:25
on 2026/03/22 10: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
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -33,7 +33,3 @@ 33 33 ((( 34 34 35 35 ))) 36 - 37 -{{html clean="false"}} 38 -<!-- mail test 2026-03-22 --> 39 -{{/html}}
- 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,16 +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 - /* Nav bar logo margin */ 33 - .tl-hero-page #menuview .navbar-brand img { 34 - margin: 2px !important; 35 - } 36 - 37 37 /* Nav is always fixed at top */ 38 38 .tl-hero-page #menuview { 39 39 position: fixed !important; ... ... @@ -45,32 +45,19 @@ 45 45 transition: background-color 0.3s ease, box-shadow 0.3s ease; 46 46 } 47 47 48 - /* On the hero: match hero purple exactly (#2D2B55, not theme default #1e1b4b) */ 49 - .tl-hero-page:not(.tl-scrolled) #menuview, 50 - .tl-hero-page:not(.tl-scrolled) #menuview .navbar-default { 51 - background-color: #2D2B55 !important; 52 - background-image: none !important; 53 - 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; 54 54 box-shadow: none !important; 55 55 } 56 56 57 - /* After scrolling past hero: same purple with shadow */ 58 - .tl-hero-page.tl-scrolled #menuview, 59 - .tl-hero-page.tl-scrolled #menuview .navbar-default { 60 - background-color: #2D2B55 !important; 61 - background-image: none !important; 62 - 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; 63 63 box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15) !important; 64 64 } 65 65 66 - /* Search button: match hero purple instead of theme default #1e1b4b */ 67 -.tl-hero-page #menuview .btn[aria-controls="headerglobalsearchinput"], 68 -.tl-hero-page #menuview .navbar-default .btn[title="Search"] { 69 - background-color: var(--hero-purple) !important; 70 - border-color: rgba(255, 255, 255, 0.15) !important; 71 -} 72 - 73 -/* Hide non-nav chrome on the hero (breadcrumbs, footer, etc.) */ 50 + /* Hide non-nav chrome on the hero (breadcrumbs, footer, etc.) */ 74 74 .tl-hero-page:not(.tl-scrolled) #headerglobal, 75 75 .tl-hero-page:not(.tl-scrolled) #hierarchy_breadcrumb, 76 76 .tl-hero-page:not(.tl-scrolled) .document-header,