Files
xxx-sphere-web/bin/main/static/help/abonnements.html
Mario 4f2048bdc8
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled
Weiter gebaut
2026-04-25 16:56:35 +02:00

182 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/img/icon.png" type="image/png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hilfe Abonnements xXx Sphere</title>
<link rel="stylesheet" href="/css/variables.css">
<link rel="stylesheet" href="/css/style.css">
<style>
.hilfe-header { margin-bottom: 2rem; }
.hilfe-header h1 { font-size: 1.6rem; margin: 0 0 0.4rem 0; }
.hilfe-header p { color: var(--color-muted); font-size: 0.92rem; margin: 0; line-height: 1.6; }
.hilfe-section { background: var(--color-card); border: 1px solid var(--color-secondary); border-radius: 10px; margin-bottom: 0.75rem; overflow: hidden; }
.hilfe-section-header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 1rem 1.25rem; cursor: pointer; user-select: none; transition: background 0.15s; }
.hilfe-section-header:hover { background: rgba(255,255,255,0.03); }
.hilfe-section-title { display: flex; align-items: center; gap: 0.6rem; font-size: 1rem; font-weight: 600; }
.hilfe-section-arrow { font-size: 0.75rem; color: var(--color-muted); transition: transform 0.2s; }
.hilfe-section.open .hilfe-section-arrow { transform: rotate(90deg); }
.hilfe-section-body { display: none; padding: 0 1.25rem 1.25rem; border-top: 1px solid var(--color-secondary); }
.hilfe-section.open .hilfe-section-body { display: block; }
.hilfe-section-body p { font-size: 0.9rem; color: var(--color-muted); line-height: 1.7; margin: 0.9rem 0 0; }
.hilfe-section-body p:first-child { margin-top: 1rem; }
.hilfe-hint { background: rgba(var(--color-primary-rgb, 120,80,200), 0.08); border-left: 3px solid var(--color-primary); border-radius: 0 8px 8px 0; padding: 0.75rem 1rem; font-size: 0.88rem; color: var(--color-muted); line-height: 1.6; margin-top: 1rem; }
.hilfe-hint strong { color: var(--color-text); }
.hilfe-warn { background: rgba(231,76,60,0.08); border-left: 3px solid #e74c3c; border-radius: 0 8px 8px 0; padding: 0.75rem 1rem; font-size: 0.88rem; color: var(--color-muted); line-height: 1.6; margin-top: 1rem; }
.hilfe-warn strong { color: #e74c3c; }
.hilfe-info { background: var(--color-secondary); border-radius: 8px; padding: 0.75rem 1rem; font-size: 0.88rem; color: var(--color-muted); line-height: 1.6; margin-top: 1rem; }
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 1rem; }
@media (max-width: 520px) { .feature-grid { grid-template-columns: 1fr; } }
.feature-col { background: var(--color-secondary); border-radius: 8px; padding: 0.85rem 1rem; }
.feature-col-title { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.6rem; }
.feature-col-title.free { color: var(--color-muted); }
.feature-col-title.premium { color: var(--color-primary); }
.feature-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.feature-list li { font-size: 0.85rem; color: var(--color-muted); display: flex; align-items: flex-start; gap: 0.5rem; }
.feature-list li::before { content: '•'; color: var(--color-primary); flex-shrink: 0; }
.hilfe-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; margin-top: 1rem; }
.hilfe-table th { text-align: left; color: var(--color-text); font-weight: 600; padding: 0.4rem 0.75rem 0.4rem 0; border-bottom: 1px solid var(--color-secondary); }
.hilfe-table td { color: var(--color-muted); padding: 0.5rem 0.75rem 0.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: top; line-height: 1.5; }
.hilfe-table tr:last-child td { border-bottom: none; }
.hilfe-badge { display: inline-block; background: var(--color-secondary); border-radius: 4px; padding: 0.1rem 0.45rem; font-size: 0.78rem; font-weight: 600; color: var(--color-muted); vertical-align: middle; }
.back-link { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.85rem; color: var(--color-muted); text-decoration: none; margin-bottom: 1.25rem; transition: color 0.15s; }
.back-link:hover { color: var(--color-text); }
</style>
</head>
<body class="app">
<div class="main">
<div class="content">
<a href="/help/overview.html" class="back-link"> Zurück zur Hilfe-Übersicht</a>
<div class="hilfe-header">
<h1>💳 Abonnements</h1>
<p>Informationen zu Premium-Funktionen und wie du dein Abonnement verwaltest.</p>
</div>
<div class="hilfe-section open" id="sec-philosophy">
<div class="hilfe-section-header" onclick="toggleSection('sec-philosophy')">
<span class="hilfe-section-title">💡 Unser Ansatz</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
xXx Sphere soll niemanden reich machen. Die Abonnements dienen ausschließlich dazu, laufende Kosten wie Server, Datenbanken und externe API-Dienste zu decken.
</p>
<p>
Die wesentlichen Funktionen der Plattform Community, Spiele, Feed und Profile sind kostenlos nutzbar. Premium-Funktionen betreffen vor allem Hardware-Integrationen und erweiterte Automatisierungen.
</p>
</div>
</div>
<div class="hilfe-section" id="sec-vergleich">
<div class="hilfe-section-header" onclick="toggleSection('sec-vergleich')">
<span class="hilfe-section-title">📋 Free vs. Premium</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<div class="feature-grid">
<div class="feature-col">
<div class="feature-col-title free">Kostenlos</div>
<ul class="feature-list">
<li>Chastity, BDSM und Vanilla Game</li>
<li>Unbegrenzte Aufgaben und Karten</li>
<li>Community, Gruppen, Feed</li>
<li>Direktnachrichten</li>
<li>Dating-Funktionen</li>
<li>Profil und Freunde</li>
<li>Community Votes</li>
</ul>
</div>
<div class="feature-col">
<div class="feature-col-title premium">Premium</div>
<ul class="feature-list">
<li>TTLock-Integration (automatische Code-Verwaltung)</li>
<li>Automatische Lock-Öffnung via API</li>
<li>Erweiterte Spielstatistiken</li>
<li>Priorität beim Community-Support</li>
</ul>
</div>
</div>
<div class="hilfe-hint">
<strong>Hinweis:</strong> Der Funktionsumfang der Abonnements befindet sich noch im Aufbau und wird laufend erweitert.
</div>
</div>
</div>
<div class="hilfe-section" id="sec-verwalten">
<div class="hilfe-section-header" onclick="toggleSection('sec-verwalten')">
<span class="hilfe-section-title">⚙️ Abonnement verwalten</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Dein aktives Abonnement findest und verwaltest du unter <strong>Community → Abonnements</strong>.
</p>
<table class="hilfe-table">
<thead><tr><th>Aktion</th><th>Beschreibung</th></tr></thead>
<tbody>
<tr><td><span class="hilfe-badge">Abschließen</span></td><td>Neues Abonnement aktivieren.</td></tr>
<tr><td><span class="hilfe-badge">Verlängern</span></td><td>Laufzeit manuell verlängern.</td></tr>
<tr><td><span class="hilfe-badge">Kündigen</span></td><td>Abonnement zum Ende der aktuellen Laufzeit kündigen.</td></tr>
</tbody>
</table>
</div>
</div>
<div class="hilfe-section" id="sec-faq1">
<div class="hilfe-section-header" onclick="toggleSection('sec-faq1')">
<span class="hilfe-section-title">❓ Was passiert nach einer Kündigung?</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Nach einer Kündigung bleibt dein Premium-Zugang bis zum Ende der bezahlten Laufzeit aktiv. Danach fallen die Premium-Funktionen weg deine Daten und dein Account bleiben erhalten.
</p>
<div class="hilfe-warn">
<strong>Achtung:</strong> Aktive TTLock-Verbindungen werden nach Ablauf des Abonnements deaktiviert. Laufende Locks werden davon nicht sofort beeinflusst, können aber nach dem Ablauf nicht mehr automatisch geöffnet werden.
</div>
</div>
</div>
<div class="hilfe-section" id="sec-faq2">
<div class="hilfe-section-header" onclick="toggleSection('sec-faq2')">
<span class="hilfe-section-title">❓ Gibt es eine Testphase?</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Derzeit gibt es keine automatische Testphase. Wende dich über <a href="/help/kontakt.html">Kontakt &amp; Feedback</a> an uns, wenn du Premium-Funktionen testen möchtest wir helfen gerne weiter.
</p>
</div>
</div>
</div>
</div>
<script src="/js/icons.js"></script>
<script src="/js/nav.js"></script>
<script>
function toggleSection(id) {
document.getElementById(id).classList.toggle('open');
}
function openFromHash() {
const hash = window.location.hash.slice(1);
if (!hash) return;
const el = document.getElementById(hash);
if (el && el.classList.contains('hilfe-section')) {
el.classList.add('open');
setTimeout(() => el.scrollIntoView({ behavior: 'smooth', block: 'start' }), 50);
}
}
document.addEventListener('DOMContentLoaded', openFromHash);
window.addEventListener('hashchange', openFromHash);
</script>
</body>
</html>