Changes for page Tidy-Lab Cloud Platform
Last modified by Humphrey AI on 2026/03/22 10:27
From version 35.1
edited by Humphrey AI
on 2026/03/19 16:19
on 2026/03/19 16:19
Change comment:
There is no comment for this version
To 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
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (2 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -33,3 +33,7 @@ 33 33 ((( 34 34 35 35 ))) 36 + 37 +{{html clean="false"}} 38 +<!-- mail test 2026-03-22 --> 39 +{{/html}}
- XWiki.JavaScriptExtension[0]
-
- code
-
... ... @@ -4,68 +4,20 @@ 4 4 var hero = document.querySelector('.tl-hero'); 5 5 if (!hero) return; 6 6 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 - 7 + // Simple scroll check: toggle tl-scrolled when past the hero 21 21 function onScroll() { 22 22 var heroHeight = hero.offsetHeight; 23 23 var scrollY = window.pageYOffset || document.documentElement.scrollTop; 24 24 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'); 12 + if (scrollY >= heroHeight * 0.7) { 51 51 document.body.classList.add('tl-scrolled'); 52 - chromeElements.forEach(function(el) { 53 - el.style.opacity = ''; 54 - }); 55 - wasFading = false; 56 56 } else { 57 - // At top: hide everything 58 - document.body.classList.remove('tl-fading'); 59 59 document.body.classList.remove('tl-scrolled'); 60 - chromeElements.forEach(function(el) { 61 - el.style.opacity = ''; 62 - }); 63 - wasFading = false; 64 64 } 65 65 } 66 66 67 67 window.addEventListener('scroll', onScroll, { passive: true }); 68 - onScroll(); // run once on load20 + onScroll(); 69 69 70 70 // Smooth scroll for the arrow 71 71 var scrollLink = document.querySelector('.tl-hero-scroll');
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -21,40 +21,21 @@ 21 21 } 22 22 23 23 /* ========================================================================== 24 - Phase 1: HEROVISIBLE—hidechrome,full-bleedlayout24 + NAV — always visible, fixed, blends with hero 25 25 ========================================================================== */ 26 26 27 - /* Chrome elements: hidden initially with display:none (no space taken) */ 28 - .tl-hero-page:not(.tl-scrolled) #menuview, 29 - .tl-hero-page:not(.tl-scrolled) #headerglobal, 30 - .tl-hero-page:not(.tl-scrolled) #hierarchy_breadcrumb, 31 - .tl-hero-page:not(.tl-scrolled) .document-header, 32 - .tl-hero-page:not(.tl-scrolled) #xdocFooter, 33 - .tl-hero-page:not(.tl-scrolled) #xwikidata, 34 - .tl-hero-page:not(.tl-scrolled) #footerglobal, 35 - .tl-hero-page:not(.tl-scrolled) .skip-nav { 27 + /* Hide hamburger drawer button — empty menu, not needed */ 28 + .tl-hero-page #tmDrawerActivator { 36 36 display: none !important; 37 37 } 38 38 39 - /* When fading in (JS adds tl-fading), switch to opacity-based visibility */ 40 - .tl-hero-page.tl-fading #menuview, 41 - .tl-hero-page.tl-fading #headerglobal, 42 - .tl-hero-page.tl-fading #hierarchy_breadcrumb, 43 - .tl-hero-page.tl-fading .document-header, 44 - .tl-hero-page.tl-fading #xdocFooter, 45 - .tl-hero-page.tl-fading #xwikidata, 46 - .tl-hero-page.tl-fading #footerglobal, 47 - .tl-hero-page.tl-fading .skip-nav { 48 - display: block !important; 32 + /* Nav bar logo margin */ 33 + .tl-hero-page #menuview .navbar-brand img { 34 + margin: 2px !important; 49 49 } 50 50 51 - .tl-hero-page.tl-fading .document-header { 52 - display: flex !important; 53 - } 54 - 55 - /* Sticky navbar once visible */ 56 - .tl-hero-page.tl-fading #menuview, 57 - .tl-hero-page.tl-scrolled #menuview { 37 + /* Nav is always fixed at top */ 38 + .tl-hero-page #menuview { 58 58 position: fixed !important; 59 59 top: 0; 60 60 left: 0; ... ... @@ -61,8 +61,45 @@ 61 61 width: 100%; 62 62 z-index: 1030; 63 63 overflow: hidden; 45 + transition: background-color 0.3s ease, box-shadow 0.3s ease; 64 64 } 65 65 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; 54 + box-shadow: none !important; 55 + } 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; 63 + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15) !important; 64 + } 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.) */ 74 + .tl-hero-page:not(.tl-scrolled) #headerglobal, 75 + .tl-hero-page:not(.tl-scrolled) #hierarchy_breadcrumb, 76 + .tl-hero-page:not(.tl-scrolled) .document-header, 77 + .tl-hero-page:not(.tl-scrolled) #xdocFooter, 78 + .tl-hero-page:not(.tl-scrolled) #xwikidata, 79 + .tl-hero-page:not(.tl-scrolled) #footerglobal, 80 + .tl-hero-page:not(.tl-scrolled) .skip-nav { 81 + display: none !important; 82 + } 83 + 66 66 /* Prevent any horizontal overflow */ 67 67 html, body.tl-hero-page, 68 68 .tl-hero-page #xwikimaincontainer, ... ... @@ -208,7 +208,6 @@ 208 208 color: rgba(123, 120, 255, 0.6); 209 209 font-size: 24px; 210 210 text-decoration: none; 211 - animation: tl-bounce 2s ease infinite; 212 212 z-index: 2; 213 213 } 214 214 ... ... @@ -217,12 +217,6 @@ 217 217 text-decoration: none; 218 218 } 219 219 220 - @keyframes tl-bounce { 221 - 0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); } 222 - 40% { transform: translateX(-50%) translateY(-12px); } 223 - 60% { transform: translateX(-50%) translateY(-6px); } 224 - } 225 - 226 226 /* ========================================================================== 227 227 Content area below hero — restore normal layout 228 228 ========================================================================== */ ... ... @@ -245,7 +245,7 @@ 245 245 } 246 246 247 247 /* ========================================================================== 248 - Scroll-RevealAnimations (from concept-b)259 + Animations (from concept-b) 249 249 ========================================================================== */ 250 250 @keyframes tl-fadeIn { 251 251 from { opacity: 0; } ... ... @@ -257,6 +257,13 @@ 257 257 to { opacity: 1; transform: translateY(0); } 258 258 } 259 259 271 + @keyframes tl-bounce { 272 + 0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); } 273 + 40% { transform: translateX(-50%) translateY(-12px); } 274 + 60% { transform: translateX(-50%) translateY(-6px); } 275 + } 276 + 277 + /* Scroll-reveal for below-the-fold content */ 260 260 .tl-reveal { 261 261 opacity: 0; 262 262 transform: translateY(28px); ... ... @@ -316,12 +316,6 @@ 316 316 /* --- Print: skip hero --- */ 317 317 @media print { 318 318 .tl-hero { display: none; } 319 - .tl-hero-page #tmHeader, 320 - .tl-hero-page .navbar, 321 - .tl-hero-page #hierarchy { 322 - opacity: 1; 323 - pointer-events: auto; 324 - } 325 325 } 326 326 327 327 /* ==========================================================================
- XWiki.XWikiRights[1]
-
- allow
-
... ... @@ -1,0 +1,1 @@ 1 +Allow - groups
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiAllGroup - levels
-
... ... @@ -1,0 +1,1 @@ 1 +view