Feature+Fix: Referral-Admin, Pro-Gates, Karten-Layer, onDogChange, Staging-Media (SW by-v855)
Features: - Admin: Referral-Tab (Virality Factor, Top-Werber, letzte Einladungen) - Karte: Regenradar (RainViewer, zoom→7, color=4), Temperatur-Layer (OWM) mit Zahlen-Grid + Legende - Wetter-Chip: Umschwung-Warnung bei ≥40%-Sprung in Niederschlagswahrscheinlichkeit - Freundschaftsanfragen: Accept/Decline direkt in Notifications (kein Pro nötig) - Freunde-Seite für Standard-User freigeschaltet Pro-Gates: - KI-Trainer, Routenvorschläge, Regenradar, Temperatur-Layer jetzt Pro-Feature - Pro-Badge (P) auf Chips für Admins/Mods in allen Welten + Welten-einrichten - Oranger Banner auf Pro-Seiten für Admin/Mod/Manager Bugfixes: - onDogChange: uebungen.js (Cache leeren + _render), trainingsplaene.js (war leer) - robots.txt vereinfacht (nur Disallow, kein Allow-Durcheinander) - Hintergrund-Foto: Querformat-Filter korrigiert (kein Fallback auf Hochformat) - Staging Media: FileResponse mit korrektem MIME-Type, no-cache statt immutable - Staging Docker: MEDIA_DIR=/data/media + /prod-media:ro Fallback-Handler - Staging-Fix: Bild-Upload auf zweitem Hund (war Read-only file system)
This commit is contained in:
parent
2f021f54c2
commit
79fa5684b9
22 changed files with 570 additions and 58 deletions
|
|
@ -553,8 +553,11 @@ window.Page_uebungen = (() => {
|
|||
_renderContent();
|
||||
}
|
||||
function onDogChange() {
|
||||
_statsData = null;
|
||||
_badgesData = null;
|
||||
_statsData = null;
|
||||
_badgesData = null;
|
||||
_progressCache = {};
|
||||
_exerciseStats = {};
|
||||
_render();
|
||||
_loadStatsAndBadges();
|
||||
_loadVirtualTrainer();
|
||||
}
|
||||
|
|
@ -1004,7 +1007,17 @@ window.Page_uebungen = (() => {
|
|||
break;
|
||||
}
|
||||
case 'grundlagen': el.innerHTML = _renderGrundlagen(); break;
|
||||
case 'ki-trainer': el.innerHTML = _renderKiTrainer(); break;
|
||||
case 'ki-trainer':
|
||||
if (!App.hasPro(_appState?.user)) {
|
||||
el.innerHTML = `<div style="padding:var(--space-6);text-align:center;color:var(--c-text-muted)">
|
||||
<svg class="ph-icon" style="width:36px;height:36px;color:var(--c-primary);margin-bottom:var(--space-3)" aria-hidden="true"><use href="/icons/phosphor.svg#star"></use></svg>
|
||||
<div style="font-weight:600;color:var(--c-text);margin-bottom:var(--space-2)">Ban Yaro Pro</div>
|
||||
<div style="font-size:var(--text-sm)">Der KI-Trainer ist ein Pro-Feature.</div>
|
||||
</div>`;
|
||||
} else {
|
||||
el.innerHTML = _renderKiTrainer();
|
||||
}
|
||||
break;
|
||||
}
|
||||
_bindAccordions();
|
||||
_bindStatusButtons();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue