From 167767eaa2699a4afb26654452a934be32da1cbc Mon Sep 17 00:00:00 2001 From: manus-admin Date: Sat, 24 Oct 2026 14:03:05 +0000 Subject: [PATCH] feat: ajouter le hub des portails Santinova --- index.html | 17 +++++++++++++++-- test/portal-contract.test.js | 25 +++++++++++++++++++++---- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index 314282c..c46f2b6 100644 --- a/index.html +++ b/index.html @@ -15,6 +15,10 @@ .brand-title { font-size: clamp(1.24rem,2vw,1.55rem); font-weight: 750; letter-spacing: -.35px; } .brand-subtitle { margin-top: 3px; color: #aeb5cf; font-size: .73rem; font-weight: 700; letter-spacing: 1.05px; text-transform: uppercase; } .environment-badge { padding: 7px 13px; border: 1px solid var(--accent-border); border-radius: 999px; color: #f0f2ff; background: var(--accent-soft); font-size: .75rem; font-weight: 800; white-space: nowrap; } + .portal-hub-nav { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 9px; padding: 13px clamp(24px,5vw,64px); background: #141728; border-bottom: 1px solid rgba(255,255,255,.07); } + .portal-hub-label { margin-right: 5px; color: #7f88a9; font-size: .72rem; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; } + .portal-hub-link { display: inline-flex; align-items: center; min-height: 36px; padding: 0 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; color: #dce2f5; background: rgba(255,255,255,.035); font-size: .82rem; font-weight: 700; text-decoration: none; transition: transform .16s ease-out,background .16s ease-out,border-color .16s ease-out; } + .portal-hub-link:hover { transform: translateY(-1px); color: #fff; background: var(--accent-soft); border-color: var(--accent-border); } .app-card:focus-visible { outline: 3px solid white; outline-offset: 3px; } main { width: 100%; max-width: 1240px; margin: auto; padding: 58px clamp(24px,5vw,64px) 72px; flex: 1; } .section-header { max-width: 680px; margin: 0 auto 42px; text-align: center; } @@ -33,11 +37,12 @@ .loading-msg { grid-column: 1 / -1; padding:64px 0; color:#aeb5cb; text-align:center; }.loading-msg.error { color:#fecaca; } footer { padding:24px clamp(24px,5vw,64px); border-top:1px solid rgba(255,255,255,.06); background:#0a0c13; }.footer-inner { max-width:1240px; margin:auto; display:flex; align-items:center; justify-content:center; gap:9px; color:#737c99; font-size:.78rem; }.footer-inner img { height:50px; width:auto; object-fit:contain; } @media (prefers-reduced-motion: reduce) { *,*:before,*:after { transition:none!important; } } - @media (max-width:640px) { header{padding-top:22px;padding-bottom:22px}.header-inner{align-items:flex-start}.environment-badge{margin-top:4px}main{padding-top:42px}.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.card-image-wrapper{width:min(100%,145px);height:145px;border-radius:27px} } + @media (max-width:640px) { header{padding-top:22px;padding-bottom:22px}.header-inner{align-items:flex-start}.environment-badge{margin-top:4px}.portal-hub-nav{justify-content:flex-start;padding-top:10px;padding-bottom:10px}.portal-hub-label{width:100%;margin-right:0}.portal-hub-link{min-height:34px;padding:0 10px;font-size:.76rem}main{padding-top:42px}.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.card-image-wrapper{width:min(100%,145px);height:145px;border-radius:27px} }
Portail Applicatif
Chargement de l'environnement
…
+

Chargement du portail…

Les applications de cet environnement sont chargées depuis le dashboard correspondant.

Chargement des applications…