fix(wtp-udock w324): pages publiques sans pills + dock centre sur internes
CAUSE RACINE (capture Yacine 18:05 sur /solution-finder.html): 1. Pills WTP/IA Hub/Master/Orch/WevCode/Arena/Droid/Admin/WEVIA Engine visibles top-right sur /solution-finder.html = page PUBLIQUE = leak info interne aux visiteurs 2. AMBRE-V1-PUBLIC-GUARD existait deja MAIS whitelist incomplete (manquait solution-finder, products, proofs, trust-center, etc.) 3. Sur pages internes, dock top-right chevauche autres widgets BR/TR FIX wave 324: 1. _AMBRE_PUBLIC_PATHS etendu +13 pages publiques: solution-finder, about, contact, products, pricing, legal, privacy, terms, trust-center, case-studies, proofs/index, blog, landing 2. _AMBRE_PUBLIC_PREFIXES NEW: protection par prefixe URL /products/* /docs/* /help/* /blog/* /proofs/* /landing/* /case/* /legal/* /static/* /public/* = toutes les sous-pages publiques auto-exclues du dock 3. W324 CSS dock-centering injecte par script: - #opus-xlinks/#wtp-udock/#v130-xnav: position fixed top:8px left:50% - transform translateX(-50%) = CENTRE haut au lieu top-right - z-index 9998 (sous notifications) - rgba bg + backdrop-blur premium - border indigo WTP - flex-wrap nowrap + overflow-x scroll si trop de pills - mobile: top->bottom (passe en barre du bas) Resultat: - Pages publiques (solution-finder, products, etc) = ZERO pills - Pages internes (master, cockpit, etc) = pills CENTREES haut + plus aucun chevauchement avec widgets BR/TR Zero regression (str_replace surgical, CSS additive) chattr +i toggle, GOLD backup CF purge wtp-unified-dock.js + solution-finder Doctrine zero overlap UX + zero leak info interne sur pages publiques
This commit is contained in:
@@ -17,9 +17,11 @@
|
||||
// === AMBRE-V1-PUBLIC-GUARD 2026-04-21 · suppression dock sur pages publiques sans auth ===
|
||||
// Doctrine confidentialité: WTP/IA Hub/Master/Orch/Arena/Droid/Admin/WevCode sont des pages privées
|
||||
// Seules les pages authentifiées doivent afficher le dock de navigation inter-modules
|
||||
var _AMBRE_PUBLIC_PATHS = ['/wevia.html', '/wevia', '/', '/index.html', '/consent.html', '/mirofish.html', '/wevia-widget.html', '/wevia-widget', '/register.html', '/register', '/login', '/login.html'];
|
||||
var _AMBRE_PUBLIC_PATHS = ['/wevia.html', '/wevia', '/', '/index.html', '/consent.html', '/mirofish.html', '/wevia-widget.html', '/wevia-widget', '/register.html', '/register', '/login', '/login.html', '/solution-finder.html', '/solution-finder', '/about.html', '/about', '/contact.html', '/contact', '/products.html', '/products', '/pricing.html', '/pricing', '/legal.html', '/legal', '/privacy.html', '/privacy', '/terms.html', '/terms', '/trust-center.html', '/trust-center', '/case-studies.html', '/case-studies', '/proofs/', '/proofs/index.html', '/blog.html', '/blog', '/landing.html', '/landing'];
|
||||
var _AMBRE_path = (location.pathname || '').toLowerCase();
|
||||
if (_AMBRE_PUBLIC_PATHS.indexOf(_AMBRE_path) !== -1) {
|
||||
var _AMBRE_PUBLIC_PREFIXES = ['/products/', '/docs/', '/help/', '/blog/', '/proofs/', '/landing/', '/case/', '/legal/', '/static/', '/public/'];
|
||||
var _AMBRE_is_public_prefix = _AMBRE_PUBLIC_PREFIXES.some(function(pfx){ return _AMBRE_path.indexOf(pfx) === 0; });
|
||||
if (_AMBRE_PUBLIC_PATHS.indexOf(_AMBRE_path) !== -1 || _AMBRE_is_public_prefix) {
|
||||
// Public page → do NOT render dock (no module nav, no providers badge)
|
||||
return;
|
||||
}
|
||||
@@ -38,6 +40,35 @@
|
||||
// === END AMBRE-V2-IFRAME-GUARD ===
|
||||
// WTP a sa propre sidebar
|
||||
|
||||
// === W324 DOCK CENTERING (top center vs top-right pour eviter overlap BR widgets) ===
|
||||
try {
|
||||
var _w324_style = document.createElement('style');
|
||||
_w324_style.id = 'w324-dock-center';
|
||||
_w324_style.textContent = '#opus-xlinks,#wtp-udock,#v130-xnav{' +
|
||||
'position:fixed!important;' +
|
||||
'top:8px!important;' +
|
||||
'left:50%!important;' +
|
||||
'right:auto!important;' +
|
||||
'transform:translateX(-50%)!important;' +
|
||||
'z-index:9998!important;' +
|
||||
'max-width:calc(100vw - 280px)!important;' +
|
||||
'overflow-x:auto!important;' +
|
||||
'display:flex!important;' +
|
||||
'flex-wrap:nowrap!important;' +
|
||||
'gap:6px!important;' +
|
||||
'background:rgba(14,17,28,0.85)!important;' +
|
||||
'backdrop-filter:blur(12px)!important;' +
|
||||
'padding:6px 10px!important;' +
|
||||
'border-radius:24px!important;' +
|
||||
'border:1px solid rgba(99,102,241,0.25)!important;' +
|
||||
'box-shadow:0 4px 24px rgba(0,0,0,0.5)' +
|
||||
'}' +
|
||||
'#opus-xlinks a,#wtp-udock a,#v130-xnav a{white-space:nowrap}' +
|
||||
'@media(max-width:900px){#opus-xlinks,#wtp-udock,#v130-xnav{top:auto!important;bottom:8px!important;left:8px!important;right:8px!important;transform:none!important;max-width:calc(100vw - 16px)!important}}';
|
||||
document.head.appendChild(_w324_style);
|
||||
} catch(e){}
|
||||
// === END W324 DOCK CENTERING ===
|
||||
|
||||
var LINKS = [
|
||||
{href:'/weval-technology-platform.html', label:'WTP', t:'WEVAL Technology Platform — ERP Global', c:'#22c55e'},
|
||||
{href:'/all-ia-hub.html', label:'IA Hub', t:'All-IA Hub — 906 agents · 20126 skills', c:'#06b6d4'},
|
||||
@@ -53,9 +84,14 @@
|
||||
var d = document.createElement('div');
|
||||
d.id = 'wtp-udock';
|
||||
d.setAttribute('data-version','v1-opus-21avr');
|
||||
// DOCTRINE-210-CENTER: aligned center top, no wrap, all on 1 line
|
||||
d.style.cssText = [
|
||||
'position:fixed','top:12px','right:130px','display:flex','gap:6px',
|
||||
'z-index:9998','flex-wrap:wrap','max-width:420px',
|
||||
'position:fixed','top:12px','left:50%','transform:translateX(-50%)',
|
||||
'right:auto','display:flex','gap:6px','align-items:center',
|
||||
'z-index:9998','flex-wrap:nowrap','max-width:none','white-space:nowrap',
|
||||
'background:rgba(10,10,30,0.4)','backdrop-filter:blur(10px)',
|
||||
'padding:4px 10px','border-radius:24px',
|
||||
'border:1px solid rgba(0,224,199,0.15)',
|
||||
'font-family:system-ui,-apple-system,sans-serif'
|
||||
].join(';');
|
||||
LINKS.forEach(function(L){
|
||||
|
||||
Reference in New Issue
Block a user