Marina: neuer Zusatz-Button "Zur Manager-Seite" auf ihrer Team-Modi-Karte + neues kleines Avatarfoto
- team-modis.html: Kartenraster generiert jetzt optional einen zweiten Button pro Person (m.extraCta in data-modis.js), aktuell nur bei Marina gesetzt (führt zu manager.html). Card-Markup dafür von <a> auf <div> mit innerem display:contents-Link umgestellt, damit kein Link im Link verschachtelt wird (ungültiges HTML). Alle anderen Karten unverändert. - Neue CSS-Klasse .btn-spicy-mini: kompakter Polarlicht-Button in den Spicy-Media-Markenfarben (Rot/Orange), gleicher Mechanismus wie .btn-tiktok/.btn-silver. - assets/img/avatar-marina.jpg (das KLEINE Foto, z.B. Pyramide-Karte) durch neues Foto ersetzt und quadratisch zugeschnitten. Das große Foto (card-marina.jpg) bleibt unverändert, wie gewünscht.
This commit is contained in:
@@ -705,6 +705,68 @@ header.site-header {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Kompakter Polarlicht-Button für Karten (z.B. Marinas Team-Modi-Karte →
|
||||||
|
direkter Link zur Manager-Seite): exakt derselbe Mechanismus wie
|
||||||
|
.btn-tiktok, nur kleiner und in den Spicy-Media-Markenfarben
|
||||||
|
(Rot #d94a5c + Orange #e8935a) statt Cyan/Pink. */
|
||||||
|
.btn-spicy-mini {
|
||||||
|
position: relative;
|
||||||
|
isolation: isolate;
|
||||||
|
overflow: hidden;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: .3rem;
|
||||||
|
margin-top: .6rem;
|
||||||
|
padding: .5rem 1rem;
|
||||||
|
border-radius: 999px;
|
||||||
|
color: #fff;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: .8rem;
|
||||||
|
background: #0b0e14;
|
||||||
|
border: 1px solid rgba(255, 255, 255, .16);
|
||||||
|
text-decoration: none;
|
||||||
|
transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
|
||||||
|
box-shadow: 0 5px 14px rgba(0, 0, 0, .35);
|
||||||
|
}
|
||||||
|
.btn-spicy-mini span {
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
text-shadow: 0 1px 3px rgba(0, 0, 0, .6), 0 0 12px rgba(0, 0, 0, .35);
|
||||||
|
}
|
||||||
|
.btn-spicy-mini::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: -60%;
|
||||||
|
z-index: 0;
|
||||||
|
background:
|
||||||
|
radial-gradient(circle at 22% 30%, rgba(217, 74, 92, .95), transparent 55%),
|
||||||
|
radial-gradient(circle at 78% 68%, rgba(232, 147, 90, .95), transparent 58%);
|
||||||
|
filter: blur(8px) saturate(1.35);
|
||||||
|
animation: nav-cta-aurora 9s ease-in-out infinite alternate;
|
||||||
|
}
|
||||||
|
.btn-spicy-mini::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
z-index: 1;
|
||||||
|
background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .4) 49%, transparent 63%);
|
||||||
|
background-size: 240% 100%;
|
||||||
|
mix-blend-mode: overlay;
|
||||||
|
animation: nav-cta-shimmer 4.5s linear infinite;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
.btn-spicy-mini:hover {
|
||||||
|
transform: translateY(-1px);
|
||||||
|
border-color: rgba(255, 255, 255, .32);
|
||||||
|
box-shadow: 0 8px 20px rgba(0, 0, 0, .4),
|
||||||
|
0 0 16px rgba(217, 74, 92, .35),
|
||||||
|
0 0 16px rgba(232, 147, 90, .35);
|
||||||
|
}
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
.btn-spicy-mini::before, .btn-spicy-mini::after { animation: none; }
|
||||||
|
}
|
||||||
|
|
||||||
/* Plattform-Karten mit echten Markenfarben (z.B. links.html-Übersicht):
|
/* Plattform-Karten mit echten Markenfarben (z.B. links.html-Übersicht):
|
||||||
gleicher Polarlicht-Mechanismus wie .btn-tiktok, aber generisch über
|
gleicher Polarlicht-Mechanismus wie .btn-tiktok, aber generisch über
|
||||||
--brand-1/--brand-2 (+ optional --brand-3) einstellbar, damit jede
|
--brand-1/--brand-2 (+ optional --brand-3) einstellbar, damit jede
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 157 KiB |
@@ -402,6 +402,15 @@ const MODIS = [
|
|||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
quote: "",
|
quote: "",
|
||||||
|
// Zusätzlicher Button auf ihrer Team-Modi-Karte (siehe team-modis.html),
|
||||||
|
// führt direkt zur Manager-Seite — auf Wunsch von Dogi (03.08.2026).
|
||||||
|
extraCta: {
|
||||||
|
href: "manager.html",
|
||||||
|
label: {
|
||||||
|
de: "🌶️ Zur Manager-Seite", "de-CH": "🌶️ Zur Manager-Site",
|
||||||
|
en: "🌶️ To the Manager Page", fr: "🌶️ Vers la page Manager", pt: "🌶️ Para a página do Manager",
|
||||||
|
},
|
||||||
|
},
|
||||||
social: {},
|
social: {},
|
||||||
page: "",
|
page: "",
|
||||||
status: "aktiv",
|
status: "aktiv",
|
||||||
|
|||||||
+19
-6
@@ -87,16 +87,29 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
const stufe = Math.min(i + 1, MAX_STUFEN);
|
const stufe = Math.min(i + 1, MAX_STUFEN);
|
||||||
const personen = rest.filter((m) => m.rank === rang);
|
const personen = rest.filter((m) => m.rank === rang);
|
||||||
const karten = personen
|
const karten = personen
|
||||||
.map(
|
.map((m) => {
|
||||||
(m) => `
|
const profilLink = m.page || `profil.html?p=${m.slug}`;
|
||||||
<a class="profile-card" href="${m.page || `profil.html?p=${m.slug}`}">
|
const kartenInhalt = `
|
||||||
<div class="avatar">${(m.avatar || m.photo) ? `<img src="${m.avatar || m.photo}" alt="${m.name}" loading="lazy">` : `<span class="avatar-initial">${m.name.charAt(0).toUpperCase()}</span>`}</div>
|
<div class="avatar">${(m.avatar || m.photo) ? `<img src="${m.avatar || m.photo}" alt="${m.name}" loading="lazy">` : `<span class="avatar-initial">${m.name.charAt(0).toUpperCase()}</span>`}</div>
|
||||||
<span class="badge" style="margin-bottom:.5rem;">${t("tm_stufe_prefix")} ${feld(m.rankLabel) || m.rank}</span>
|
<span class="badge" style="margin-bottom:.5rem;">${t("tm_stufe_prefix")} ${feld(m.rankLabel) || m.rank}</span>
|
||||||
<h3>${m.name}</h3>
|
<h3>${m.name}</h3>
|
||||||
<div class="role">${feld(m.role)}</div>
|
<div class="role">${feld(m.role)}</div>
|
||||||
<span class="btn btn-outline" style="pointer-events:none;">${t("tm_profil_ansehen")}</span>
|
<span class="btn btn-outline" style="pointer-events:none;">${t("tm_profil_ansehen")}</span>`;
|
||||||
</a>`
|
// Optionaler zweiter Button pro Person (aktuell nur Marina →
|
||||||
)
|
// manager.html, siehe extraCta in data-modis.js). Eigene
|
||||||
|
// <div>-Karte statt <a>, weil ein zweiter echter Link NICHT in
|
||||||
|
// einen anderen Link verschachtelt werden darf (ungültiges HTML).
|
||||||
|
if (m.extraCta) {
|
||||||
|
return `
|
||||||
|
<div class="profile-card">
|
||||||
|
<a href="${profilLink}" style="display:contents;">${kartenInhalt}</a>
|
||||||
|
<a class="btn-spicy-mini" href="${m.extraCta.href}"><span>${feld(m.extraCta.label)}</span></a>
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
|
return `
|
||||||
|
<a class="profile-card" href="${profilLink}">${kartenInhalt}
|
||||||
|
</a>`;
|
||||||
|
})
|
||||||
.join("");
|
.join("");
|
||||||
return `<div class="pyramid-tier" data-tier="${stufe}">${karten}</div>`;
|
return `<div class="pyramid-tier" data-tier="${stufe}">${karten}</div>`;
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user