fix(profile): рейтинг виден всегда (пустое состояние вместо скрытия)
Раньше карточка пряталась при отсутствии данных API — выглядело как «рейтинга нет». Теперь всегда видна: либо список, либо подсказка «Пока нет данных рейтинга». Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -2013,9 +2013,14 @@
|
|||||||
const section = document.getElementById('lb-section');
|
const section = document.getElementById('lb-section');
|
||||||
const list = document.getElementById('lb-list');
|
const list = document.getElementById('lb-list');
|
||||||
if (!section || !list) return;
|
if (!section || !list) return;
|
||||||
|
section.style.display = ''; // карточка видна всегда
|
||||||
try {
|
try {
|
||||||
const data = await LS.api('/api/gamification/leaderboard?period=' + encodeURIComponent(_lbPeriod));
|
const data = await LS.api('/api/gamification/leaderboard?period=' + encodeURIComponent(_lbPeriod));
|
||||||
if (!data || !data.length) { section.style.display = 'none'; return; }
|
if (!data || !data.length) {
|
||||||
|
list.innerHTML = '<div style="text-align:center;color:var(--text-3);font-size:0.82rem;padding:18px 0">Пока нет данных рейтинга. Проходи тесты и набирай XP!</div>';
|
||||||
|
if (window.lucide) lucide.createIcons();
|
||||||
|
return;
|
||||||
|
}
|
||||||
list.innerHTML = data.map((u, i) => {
|
list.innerHTML = data.map((u, i) => {
|
||||||
const rank = i + 1;
|
const rank = i + 1;
|
||||||
const medal = rank === 1 ? '#FFD700' : rank === 2 ? '#C0C0C0' : rank === 3 ? '#CD7F32' : 'transparent';
|
const medal = rank === 1 ? '#FFD700' : rank === 2 ? '#C0C0C0' : rank === 3 ? '#CD7F32' : 'transparent';
|
||||||
|
|||||||
Reference in New Issue
Block a user