addBadge(badge));
}
if (triggers.academyXpUpdate) {
const data = triggers.academyXpUpdate;
// Update UI if elements exist
const rankLabel = document.getElementById('academy-rank-label');
const expLabel = document.getElementById('academy-exp-label');
const expBar = document.querySelector('#academy-exp-bar .bg-gradient-to-t');
if (rankLabel) rankLabel.innerText = data.rank;
if (expLabel) expLabel.innerHTML = `
${data.total_exp} / ${data.next_threshold} EXP`;
if (expBar) expBar.style.height = `${data.progress_percent}%`;
if (data.rank_changed) {
// CELEBRATION!
confetti({
particleCount: 150,
spread: 70,
origin: { y: 0.6 },
colors: ['#a855f7', '#22d3ee', '#f911e2']
});
Swal.fire({
title: 'TEBRİKLER!',
html: `Yeni Rütbe Kazandın:
${data.rank}`,
icon: 'success',
background: '#16161E',
color: '#fff',
confirmButtonColor: '#a855f7',
confirmButtonText: 'Harika!',
backdrop: `rgba(0,0,123,0.4)`
});
}
}
if (triggers.showToast) {
const toastData = triggers.showToast;
let bgColor = `linear-gradient(to right, rgba(147, 51, 234, 0.9), rgba(168, 85, 247, 0.9))`; // default purple
if (toastData.type === 'levelup') {
bgColor = `linear-gradient(to right, rgba(234, 179, 8, 0.9), rgba(249, 115, 22, 0.9))`; // gold/orange
} else if (toastData.type === 'error') {
bgColor = `linear-gradient(to right, rgba(239, 68, 68, 0.9), rgba(248, 113, 113, 0.9))`; // red
}
Toastify({
text: toastData.message,
duration: 4000,
close: true,
gravity: 'bottom', // top or bottom
position: 'right', // left, center or right
stopOnFocus: true, // Prevents dismissing of toast on hover
style: {
background: bgColor,
borderRadius: '12px',
boxShadow: '0 10px 30px rgba(0,0,0,0.5)',
backdropFilter: 'blur(10px)',
border: '1px solid rgba(255,255,255,0.1)',
color: '#fff',
fontFamily: 'Inter, sans-serif',
fontWeight: '600',
padding: '16px 24px'
},
}).showToast();
}
if (triggers.academyGraduation) {
document.getElementById('graduation-modal').style.display = 'flex';
}
} catch (e) {}
}
"
class="fixed bottom-6 right-6 z-[99999] flex flex-col gap-3 pointer-events-none">
addBadge(badge));
}
if (triggers.academyXpUpdate) {
const data = triggers.academyXpUpdate;
// Update UI if elements exist
const rankLabel = document.getElementById('academy-rank-label');
const expLabel = document.getElementById('academy-exp-label');
const expBar = document.querySelector('#academy-exp-bar .bg-gradient-to-t');
if (rankLabel) rankLabel.innerText = data.rank;
if (expLabel) expLabel.innerHTML = `
${data.total_exp} / ${data.next_threshold} EXP`;
if (expBar) expBar.style.height = `${data.progress_percent}%`;
if (data.rank_changed) {
// CELEBRATION!
confetti({
particleCount: 150,
spread: 70,
origin: { y: 0.6 },
colors: ['#a855f7', '#22d3ee', '#f911e2']
});
Swal.fire({
title: 'TEBRİKLER!',
html: `Yeni Rütbe Kazandın:
${data.rank}`,
icon: 'success',
background: '#16161E',
color: '#fff',
confirmButtonColor: '#a855f7',
confirmButtonText: 'Harika!',
backdrop: `rgba(0,0,123,0.4)`
});
}
}
if (triggers.showToast) {
const toastData = triggers.showToast;
let bgColor = `linear-gradient(to right, rgba(147, 51, 234, 0.9), rgba(168, 85, 247, 0.9))`; // default purple
if (toastData.type === 'levelup') {
bgColor = `linear-gradient(to right, rgba(234, 179, 8, 0.9), rgba(249, 115, 22, 0.9))`; // gold/orange
} else if (toastData.type === 'error') {
bgColor = `linear-gradient(to right, rgba(239, 68, 68, 0.9), rgba(248, 113, 113, 0.9))`; // red
}
Toastify({
text: toastData.message,
duration: 4000,
close: true,
gravity: 'bottom', // top or bottom
position: 'right', // left, center or right
stopOnFocus: true, // Prevents dismissing of toast on hover
style: {
background: bgColor,
borderRadius: '12px',
boxShadow: '0 10px 30px rgba(0,0,0,0.5)',
backdropFilter: 'blur(10px)',
border: '1px solid rgba(255,255,255,0.1)',
color: '#fff',
fontFamily: 'Inter, sans-serif',
fontWeight: '600',
padding: '16px 24px'
},
}).showToast();
}
if (triggers.academyGraduation) {
document.getElementById('graduation-modal').style.display = 'flex';
}
} catch (e) {}
}
"
class="fixed bottom-6 right-6 z-[99999] flex flex-col gap-3 pointer-events-none">
Yorumlar
1 yorumKitabın konusuna baktığım halde göremediğim "lgbt+" varmış😭(32.bölümde farkettim artık dedim bu kadar olmaz eminmiyiz bunun BL olmadığına djmsmsmskdns)... Gram sevmiyorum lgbt tarzı şeyler ama mcnin monologları falan güzeldi bide hızlı ve sert gelişmedi olaylar okuması iğrenç gelmedi. Sadece 1.cilt i okucam ve okudum.Aslında heyecanlı yerde bitti ama herşey tadında güzel okuyanlara iyi okumalar. 👍