Weiter gebaut
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled
This commit is contained in:
@@ -16,9 +16,9 @@
|
||||
margin-right: 0.5rem;
|
||||
line-height: 1;
|
||||
}
|
||||
.nav-burger:hover { border-color: var(--color-primary); color: var(--color-primary); }
|
||||
.nav-burger:hover { border-color: var(--color-primary); color: #fff; }
|
||||
.nav-burger-icon {
|
||||
font-size: 1.05rem; line-height: 1;
|
||||
font-size: 1.575rem; line-height: 1;
|
||||
position: relative;
|
||||
display: inline-flex; align-items: center; justify-content: center;
|
||||
width: 1.2em; height: 1.2em;
|
||||
@@ -91,16 +91,16 @@
|
||||
}
|
||||
.nav-col:last-child { border-right: none; }
|
||||
|
||||
/* Überschrift: auf Desktop ausgeblendet, auf Mobile als Accordion-Toggle */
|
||||
.nav-col-header {
|
||||
display: none;
|
||||
display: flex;
|
||||
align-items: center; justify-content: space-between;
|
||||
padding: 0.75rem 1.1rem;
|
||||
font-size: 0.85rem; font-weight: 600;
|
||||
padding: 0.75rem 1.1rem 0.5rem;
|
||||
font-size: 1.275rem; font-weight: 700;
|
||||
color: var(--color-text);
|
||||
cursor: pointer;
|
||||
cursor: default;
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
.nav-col-arrow { font-size: 0.65rem; transition: transform 0.2s; }
|
||||
.nav-col-arrow { display: none; font-size: 0.65rem; transition: transform 0.2s; }
|
||||
|
||||
.nav-col-body { padding: 0.35rem 0; }
|
||||
|
||||
@@ -158,7 +158,8 @@
|
||||
.nav-col { border-right: none; border-bottom: 1px solid var(--color-secondary); }
|
||||
.nav-col:last-child { border-bottom: none; }
|
||||
|
||||
.nav-col-header { display: flex; }
|
||||
.nav-col-header { font-size: 0.85rem; font-weight: 600; cursor: pointer; padding: 0.75rem 1.1rem; border-bottom: none; }
|
||||
.nav-col-arrow { display: block; }
|
||||
.nav-col.col-open .nav-col-arrow { transform: rotate(90deg); }
|
||||
|
||||
.nav-col-body { display: none; padding: 0; }
|
||||
@@ -256,23 +257,18 @@
|
||||
${link('/dating/matches.html', '', 'Matches' )}
|
||||
`;
|
||||
|
||||
const bdsmActive = ['/games/bdsm/neubdsm.html', '/games/bdsm/bdsmingame.html', '/games/bdsm/bdsmplayers.html'].some(p => path.startsWith(p)) ? ' active' : '';
|
||||
const vanillaActive = ['/games/vanilla/neuvanilla.html', '/games/vanilla/vanillaingame.html', '/games/vanilla/vanillawarten.html'].some(p => path.startsWith(p)) ? ' active' : '';
|
||||
|
||||
const col4Html = `
|
||||
${gameGroup('VANILLA', 'Vanilla Game', [
|
||||
{ href: '/games/vanilla/neuvanilla.html', icon: 'PLAY_NEW', label: 'Neue Session', id: 'navVanillaNeu' },
|
||||
{ href: '#', icon: 'WAITING', label: 'Aktive Session', id: 'navVanillaAktiv' },
|
||||
{ href: '/games/vanilla/vanillaingame.html', icon: 'PLAY_ACTIVE', label: 'Im Spiel', id: 'navVanillaImSpiel' },
|
||||
{ href: '/games/vanilla/aufgaben.html', icon: 'CHECK', label: 'Aufgaben' },
|
||||
{ href: '/games/vanilla/toys.html', icon: 'TOYS', label: 'Toys' },
|
||||
{ href: '/games/vanilla/entdecken.html', icon: 'DISCOVER', label: 'Entdecken' },
|
||||
])}
|
||||
${gameGroup('BDSM', 'BDSM Game', [
|
||||
{ href: '/games/bdsm/neubdsm.html', icon: 'PLAY_NEW', label: 'Neue Session', id: 'navBdsmNeu' },
|
||||
{ href: '#', icon: 'WAITING', label: 'Aktive Session', id: 'navBdsmAktiv' },
|
||||
{ href: '/games/bdsm/bdsmingame.html', icon: 'PLAY_ACTIVE', label: 'Im Spiel', id: 'navBdsmImSpiel' },
|
||||
{ href: '/games/bdsm/aufgaben.html', icon: 'CHECK', label: 'Aufgaben' },
|
||||
{ href: '/games/bdsm/toys.html', icon: 'TOYS', label: 'Toys' },
|
||||
{ href: '/games/bdsm/entdecken.html', icon: 'DISCOVER', label: 'Entdecken' },
|
||||
])}
|
||||
<a href="/games/vanilla/neuvanilla.html" class="nav-link${vanillaActive}" id="navVanillaGame">
|
||||
<span class="nav-icon">${I('VANILLA') || ''}</span>
|
||||
<span>Vanilla Game</span>
|
||||
</a>
|
||||
<a href="/games/bdsm/neubdsm.html" class="nav-link${bdsmActive}" id="navBdsmGame">
|
||||
<span class="nav-icon">${I('BDSM') || ''}</span>
|
||||
<span>BDSM Game</span>
|
||||
</a>
|
||||
${gameGroup('CHASTITY', 'Chastity Game', [
|
||||
{ href: '/games/chastity/neulock.html', icon: 'NEW_LOCK', label: 'Neues Lock', id: 'navChastityNeu' },
|
||||
{ href: '#', icon: 'ACTIVE_LOCK', label: 'Aktives Lock', id: 'navChastityAktiv' },
|
||||
@@ -283,6 +279,11 @@
|
||||
{ href: '/games/chastity/keyholder.html', icon: 'KEY', label: 'Keyholder' },
|
||||
{ href: '/games/chastity/unlock-history.html', icon: 'HISTORY', label: 'Code-Historie' },
|
||||
])}
|
||||
${gameGroup('CHECK', 'Aufgabenverwaltung', [
|
||||
{ href: '/games/aufgaben/aufgaben.html', icon: 'CHECK', label: 'Aufgaben' },
|
||||
{ href: '/games/aufgaben/toys.html', icon: 'TOYS', label: 'Toys' },
|
||||
{ href: '/games/aufgaben/entdecken.html',icon: 'DISCOVER', label: 'Entdecken' },
|
||||
])}
|
||||
`;
|
||||
|
||||
// ── Dropdown-HTML ────────────────────────────────────────────────────────
|
||||
@@ -306,7 +307,7 @@
|
||||
])}
|
||||
${column('colDating', 'Dating', col3Html, ['/dating/'])}
|
||||
${column('colGames', 'Games', col4Html, [
|
||||
'/games/vanilla/', '/games/bdsm/', '/games/chastity/',
|
||||
'/games/vanilla/', '/games/bdsm/', '/games/chastity/', '/games/aufgaben/',
|
||||
])}
|
||||
</div>
|
||||
<div class="nav-dropdown-footer">
|
||||
@@ -417,21 +418,16 @@
|
||||
const hide = id => { const el = document.getElementById(id); if (el) el.style.display = 'none'; };
|
||||
const show = id => { const el = document.getElementById(id); if (el) el.style.display = ''; };
|
||||
const href = (id, h) => { const el = document.getElementById(id); if (el) el.href = h; };
|
||||
hide('navVanillaAktiv'); hide('navVanillaImSpiel');
|
||||
hide('navBdsmAktiv'); hide('navBdsmImSpiel');
|
||||
hide('navChastityAktiv');
|
||||
|
||||
try {
|
||||
const r = await fetch('/bdsm/einladung/meine-aktive');
|
||||
if (r.ok) {
|
||||
const aktiv = await r.json();
|
||||
hide('navBdsmNeu'); hide('navBdsmImSpiel');
|
||||
show('navBdsmAktiv');
|
||||
href('navBdsmAktiv', aktiv.sessionId ? '/games/bdsm/bdsmingame.html' : '/games/bdsm/neubdsm.html');
|
||||
href('navBdsmGame', aktiv.sessionId ? '/games/bdsm/bdsmingame.html' : '/games/bdsm/neubdsm.html');
|
||||
} else {
|
||||
const sr = await fetch(`/bdsm?userId=${user.userId}`);
|
||||
if (sr.status === 200) { hide('navBdsmNeu'); show('navBdsmImSpiel'); }
|
||||
else show('navBdsmNeu');
|
||||
if (sr.status === 200) href('navBdsmGame', '/games/bdsm/bdsmingame.html');
|
||||
}
|
||||
} catch (_) {}
|
||||
|
||||
@@ -439,13 +435,10 @@
|
||||
const r = await fetch('/vanilla/einladung/meine-aktive');
|
||||
if (r.ok) {
|
||||
const aktiv = await r.json();
|
||||
hide('navVanillaNeu'); hide('navVanillaImSpiel');
|
||||
show('navVanillaAktiv');
|
||||
href('navVanillaAktiv', aktiv.sessionId ? '/games/vanilla/vanillaingame.html' : '/games/vanilla/neuvanilla.html');
|
||||
href('navVanillaGame', aktiv.sessionId ? '/games/vanilla/vanillaingame.html' : '/games/vanilla/neuvanilla.html');
|
||||
} else {
|
||||
const sr = await fetch(`/vanilla?userId=${user.userId}`);
|
||||
if (sr.status === 200) { hide('navVanillaNeu'); show('navVanillaImSpiel'); }
|
||||
else show('navVanillaNeu');
|
||||
if (sr.status === 200) href('navVanillaGame', '/games/vanilla/vanillaingame.html');
|
||||
}
|
||||
} catch (_) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user