修复bug

This commit is contained in:
zhx 2026-06-26 18:33:36 +08:00
parent 3dc9fd0c22
commit aea5472fd7
8 changed files with 27 additions and 93 deletions

View File

@ -281,38 +281,7 @@
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.empty-state {
display: none;
width: 375px;
padding-top: 60px;
text-align: center;
}
.empty-state.active {
display: block;
}
.empty-state img {
display: block;
width: 146px;
height: 143px;
margin: 0 auto 24px;
object-fit: contain;
}
.empty-text,
.footer-text {
color: rgba(255, 255, 255, 0.6);
font-size: 10px;
line-height: 10px;
text-align: center;
}
.footer-text {
margin-top: 24px;
}
.achievement-loading { .achievement-loading {
position: absolute;
left: 0;
top: 320px;
z-index: 7;
width: 375px;
color: rgba(255, 255, 255, 0.72); color: rgba(255, 255, 255, 0.72);
} }
.achievement-loading .hy-loading__mascot { .achievement-loading .hy-loading__mascot {
@ -543,28 +512,17 @@
</div> </div>
<section class="content" aria-live="polite"> <section class="content" aria-live="polite">
<div id="badgeGrid" class="badge-grid"></div> <div id="badgeGrid" class="badge-grid"></div>
<div id="emptyState" class="empty-state">
<img src="assets/figma/empty-cat.png" alt="" />
</div>
</section> </section>
<div
id="loading"
class="hy-loading achievement-loading"
aria-hidden="true"
>
<div class="hy-loading__mascot" aria-hidden="true"></div>
<div class="hy-loading__spinner" aria-hidden="true"></div>
<div
class="hy-loading__text"
data-i18n="achievement.loading"
>
Loading...
</div>
</div>
</main> </main>
</div> </div>
<div
id="loading"
class="hy-loading achievement-loading"
aria-hidden="true"
>
<div class="hy-loading__mascot" aria-hidden="true"></div>
<div class="hy-loading__spinner" aria-hidden="true"></div>
</div>
<div id="toast" class="toast"></div> <div id="toast" class="toast"></div>
<div id="achievementModal" class="achievement-modal" aria-hidden="true"> <div id="achievementModal" class="achievement-modal" aria-hidden="true">
<img id="modalBadge" class="modal-badge" alt="" /> <img id="modalBadge" class="modal-badge" alt="" />
@ -852,10 +810,7 @@
config.unlock_method || config.unlock_method ||
config.how_to_get || config.how_to_get ||
def.description || def.description ||
t( ''
'achievement.defaultHowTo',
'Complete the required achievement goal to collect this badge.'
)
); );
} }
function ownerCountOf(item) { function ownerCountOf(item) {
@ -934,7 +889,10 @@
byId('userName').textContent = profileName(profile); byId('userName').textContent = profileName(profile);
setImage(byId('profileAvatar'), profileAvatar(profile), ''); setImage(byId('profileAvatar'), profileAvatar(profile), '');
renderProfileFrame(profile); renderProfileFrame(profile);
byId('earnedText').innerHTML = earnedText(unlockedCount()); byId('earnedText').innerHTML =
state.loaded.honors || state.loaded.event
? earnedText(unlockedCount())
: '';
} }
function cardHTML(item, index) { function cardHTML(item, index) {
var unlocked = isUnlocked(item); var unlocked = isUnlocked(item);
@ -969,9 +927,6 @@
); );
}); });
byId('badgeGrid').innerHTML = list.map(cardHTML).join(''); byId('badgeGrid').innerHTML = list.map(cardHTML).join('');
var empty = !state.loading && list.length === 0;
byId('emptyState').classList.toggle('active', empty);
byId('footerText').style.display = empty ? 'none' : 'block';
byId('loading').classList.toggle('active', state.loading); byId('loading').classList.toggle('active', state.loading);
byId('loading').setAttribute( byId('loading').setAttribute(
'aria-hidden', 'aria-hidden',
@ -1187,10 +1142,7 @@
'count', 'count',
owners owners
) )
: t( : '';
'achievement.ownerUpdating',
'Collection records are updating'
);
renderCollectors(item); renderCollectors(item);
byId('achievementModal').classList.add('active'); byId('achievementModal').classList.add('active');
byId('achievementModal').setAttribute( byId('achievementModal').setAttribute(

View File

@ -625,15 +625,11 @@
"achievement.back": "رجوع", "achievement.back": "رجوع",
"achievement.honors": "الأوسمة", "achievement.honors": "الأوسمة",
"achievement.event": "الفعاليات", "achievement.event": "الفعاليات",
"achievement.stayTuned": "ترقب المزيد من الإنجازات!",
"achievement.loading": "جار التحميل...",
"achievement.earned": "حصلت على {count} إنجازات", "achievement.earned": "حصلت على {count} إنجازات",
"achievement.defaultHowTo": "أكمل هدف الإنجاز المطلوب لجمع هذه الشارة.",
"achievement.loadFailed": "فشل التحميل", "achievement.loadFailed": "فشل التحميل",
"achievement.collection": "مجموعة الإنجازات", "achievement.collection": "مجموعة الإنجازات",
"achievement.notCollected": "لم يتم جمعها", "achievement.notCollected": "لم يتم جمعها",
"achievement.collected": "تم جمعها", "achievement.collected": "تم جمعها",
"achievement.collectedWithDate": "تم جمعها في {date}", "achievement.collectedWithDate": "تم جمعها في {date}",
"achievement.ownerCount": "يمتلكها {count} أشخاص فقط", "achievement.ownerCount": "يمتلكها {count} أشخاص فقط"
"achievement.ownerUpdating": "يتم تحديث سجلات المجموعة"
} }

View File

@ -631,15 +631,11 @@
"achievement.back": "Back", "achievement.back": "Back",
"achievement.honors": "Honors", "achievement.honors": "Honors",
"achievement.event": "Event", "achievement.event": "Event",
"achievement.stayTuned": "Stay Tuned For More Achievements!",
"achievement.loading": "Loading...",
"achievement.earned": "Earn {count} achievements", "achievement.earned": "Earn {count} achievements",
"achievement.defaultHowTo": "Complete the required achievement goal to collect this badge.",
"achievement.loadFailed": "Load failed", "achievement.loadFailed": "Load failed",
"achievement.collection": "Achievement Collection", "achievement.collection": "Achievement Collection",
"achievement.notCollected": "Not Collected", "achievement.notCollected": "Not Collected",
"achievement.collected": "Collected", "achievement.collected": "Collected",
"achievement.collectedWithDate": "Collected on {date}", "achievement.collectedWithDate": "Collected on {date}",
"achievement.ownerCount": "Only {count} people own it", "achievement.ownerCount": "Only {count} people own it"
"achievement.ownerUpdating": "Collection records are updating"
} }

View File

@ -625,15 +625,11 @@
"achievement.back": "Volver", "achievement.back": "Volver",
"achievement.honors": "Honores", "achievement.honors": "Honores",
"achievement.event": "Evento", "achievement.event": "Evento",
"achievement.stayTuned": "¡Pronto habrá más logros!",
"achievement.loading": "Cargando...",
"achievement.earned": "Has conseguido {count} logros", "achievement.earned": "Has conseguido {count} logros",
"achievement.defaultHowTo": "Completa el objetivo requerido para coleccionar esta insignia.",
"achievement.loadFailed": "Error al cargar", "achievement.loadFailed": "Error al cargar",
"achievement.collection": "Colección de logros", "achievement.collection": "Colección de logros",
"achievement.notCollected": "No coleccionado", "achievement.notCollected": "No coleccionado",
"achievement.collected": "Coleccionado", "achievement.collected": "Coleccionado",
"achievement.collectedWithDate": "Coleccionado el {date}", "achievement.collectedWithDate": "Coleccionado el {date}",
"achievement.ownerCount": "Solo {count} personas lo tienen", "achievement.ownerCount": "Solo {count} personas lo tienen"
"achievement.ownerUpdating": "Los registros de colección se están actualizando"
} }

View File

@ -592,15 +592,11 @@
"achievement.back": "Kembali", "achievement.back": "Kembali",
"achievement.honors": "Honor", "achievement.honors": "Honor",
"achievement.event": "Event", "achievement.event": "Event",
"achievement.stayTuned": "Nantikan pencapaian lainnya!",
"achievement.loading": "Memuat...",
"achievement.earned": "Mendapat {count} pencapaian", "achievement.earned": "Mendapat {count} pencapaian",
"achievement.defaultHowTo": "Selesaikan target pencapaian untuk mengoleksi lencana ini.",
"achievement.loadFailed": "Gagal memuat", "achievement.loadFailed": "Gagal memuat",
"achievement.collection": "Koleksi Pencapaian", "achievement.collection": "Koleksi Pencapaian",
"achievement.notCollected": "Belum dikoleksi", "achievement.notCollected": "Belum dikoleksi",
"achievement.collected": "Dikoleksi", "achievement.collected": "Dikoleksi",
"achievement.collectedWithDate": "Dikoleksi pada {date}", "achievement.collectedWithDate": "Dikoleksi pada {date}",
"achievement.ownerCount": "Hanya {count} orang yang memilikinya", "achievement.ownerCount": "Hanya {count} orang yang memilikinya"
"achievement.ownerUpdating": "Catatan koleksi sedang diperbarui"
} }

View File

@ -592,15 +592,11 @@
"achievement.back": "Geri", "achievement.back": "Geri",
"achievement.honors": "Onurlar", "achievement.honors": "Onurlar",
"achievement.event": "Etkinlik", "achievement.event": "Etkinlik",
"achievement.stayTuned": "Daha fazla başarı yakında!",
"achievement.loading": "Yükleniyor...",
"achievement.earned": "{count} başarı kazandın", "achievement.earned": "{count} başarı kazandın",
"achievement.defaultHowTo": "Bu rozeti toplamak için gerekli başarı hedefini tamamla.",
"achievement.loadFailed": "Yüklenemedi", "achievement.loadFailed": "Yüklenemedi",
"achievement.collection": "Başarı Koleksiyonu", "achievement.collection": "Başarı Koleksiyonu",
"achievement.notCollected": "Toplanmadı", "achievement.notCollected": "Toplanmadı",
"achievement.collected": "Toplandı", "achievement.collected": "Toplandı",
"achievement.collectedWithDate": "{date} tarihinde toplandı", "achievement.collectedWithDate": "{date} tarihinde toplandı",
"achievement.ownerCount": "Sadece {count} kişi sahip", "achievement.ownerCount": "Sadece {count} kişi sahip"
"achievement.ownerUpdating": "Koleksiyon kayıtları güncelleniyor"
} }

View File

@ -598,15 +598,11 @@
"achievement.back": "返回", "achievement.back": "返回",
"achievement.honors": "荣誉", "achievement.honors": "荣誉",
"achievement.event": "活动", "achievement.event": "活动",
"achievement.stayTuned": "更多成就敬请期待!",
"achievement.loading": "加载中...",
"achievement.earned": "已获得 {count} 个成就", "achievement.earned": "已获得 {count} 个成就",
"achievement.defaultHowTo": "完成对应成就目标后可收集该徽章。",
"achievement.loadFailed": "加载失败", "achievement.loadFailed": "加载失败",
"achievement.collection": "成就收藏", "achievement.collection": "成就收藏",
"achievement.notCollected": "未收集", "achievement.notCollected": "未收集",
"achievement.collected": "已收集", "achievement.collected": "已收集",
"achievement.collectedWithDate": "{date} 已收集", "achievement.collectedWithDate": "{date} 已收集",
"achievement.ownerCount": "仅 {count} 人拥有", "achievement.ownerCount": "仅 {count} 人拥有"
"achievement.ownerUpdating": "收藏记录更新中"
} }

View File

@ -105,14 +105,20 @@
} }
.hy-loading { .hy-loading {
position: fixed;
inset: 0;
z-index: 90;
display: none; display: none;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 10px; gap: 10px;
width: 100vw;
min-height: 100vh;
background: rgba(10, 7, 18, 0.48);
color: var(--hy-theme-muted); color: var(--hy-theme-muted);
text-align: center; text-align: center;
pointer-events: none; pointer-events: auto;
} }
.hy-loading.active, .hy-loading.active,