Hashtags eingeführt
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled

This commit is contained in:
2026-04-11 01:14:33 +02:00
parent ec1409820b
commit e2a71ab096
57 changed files with 2365 additions and 740 deletions

View File

@@ -243,6 +243,33 @@
.lb-comment-compose button { width:auto; margin:0; padding:0.35rem 0.75rem; font-size:0.8rem; }
@media (max-width:650px) { .lb-layout { flex-direction:column; height:95vh; } .lb-post-side { border-right:none; border-bottom:1px solid var(--color-secondary); max-height:55vh; } .lb-comments-panel { width:100%; } }
/* ── Spiel starten ── */
.start-game-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 0.75rem;
}
.start-game-card {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.6rem;
background: var(--color-card);
border: 1px solid var(--color-secondary);
border-radius: 12px;
padding: 1.25rem 1rem;
text-decoration: none;
color: var(--color-text);
transition: border-color 0.15s, background 0.15s;
text-align: center;
}
.start-game-card:hover {
border-color: var(--color-primary);
background: rgba(var(--color-primary-rgb,233,69,96),0.06);
}
.start-game-icon { font-size: 2rem; line-height: 1; }
.start-game-title { font-size: 0.9rem; font-weight: 600; }
/* ── Neue Mitglieder ── */
.new-members-strip {
display: flex;
@@ -306,6 +333,25 @@
<div class="active-game-list" id="activeLockList"></div>
</div>
<!-- Kein Spiel aktiv Starten -->
<div id="startGameSection" style="display:none;">
<div class="section-label">Spiel starten 🎮</div>
<div class="start-game-grid">
<a href="/games/vanilla/neuvanilla.html" class="start-game-card">
<div class="start-game-icon">🎭</div>
<div class="start-game-title">Vanilla Game starten</div>
</a>
<a href="/games/bdsm/neubdsm.html" class="start-game-card">
<div class="start-game-icon"></div>
<div class="start-game-title">BDSM-Game starten</div>
</a>
<a href="/games/chastity/neulock.html" class="start-game-card">
<div class="start-game-icon">🔒</div>
<div class="start-game-title">Chastity-Lock starten</div>
</a>
</div>
</div>
<!-- Einladungen -->
<div id="invitesSection" style="display:none;">
<div class="section-label">Einladungen 📨</div>
@@ -423,6 +469,7 @@
<script src="/js/shared.js"></script>
<script src="/js/icons.js"></script>
<script src="/js/hashtag.js"></script>
<script src="/js/nav.js"></script>
<script>
let myUserId = null;
@@ -436,14 +483,20 @@
if (user) {
myUserId = user.userId;
document.getElementById('greeting').textContent = 'Willkommen zurück, ' + user.name + '!';
loadActiveGames(user.userId);
loadActiveLock();
Promise.all([loadActiveGames(user.userId), loadActiveLock()]).then(() => {
const hasGames = document.getElementById('activeGamesSection').style.display !== 'none';
const hasLock = document.getElementById('activeLockSection').style.display !== 'none';
if (!hasGames && !hasLock) {
document.getElementById('startGameSection').style.display = '';
}
});
loadInvites();
loadFriendRequests();
loadVisitors();
loadMyEvents();
loadLocEvents();
loadFeed();
attachHashtagAutocomplete(document.getElementById('homeComposeText'));
if (user.datingAktiv) {
loadWhoLikesMe();
loadMatches();
@@ -931,7 +984,7 @@
<div class="post-meta">${fmtDate(p.createdAt)}${groupBadge}</div>
</div>
</div>
<div class="post-text">${esc(p.text || '')}</div>
<div class="post-text">${renderTextWithHashtags(p.text || '')}</div>
${bildHtml}
${umfrageHtml}
<div class="post-actions">