Files
LazyBot/app/public/dashboard.html
T
Arthur Puechberty 2164c13a04 finish css
2026-01-15 22:14:42 +01:00

109 lines
3.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Tableau de bord</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/dashboard.css">
</head>
<body>
<nav>
<a href="/">Accueil</a>
</nav>
<h1 id="greeting">Chargement...</h1>
<img id="avatar" src="" alt="Avatar">
<a id="invite-link" href="#">Ajouter le bot à votre serveur</a>
<h2>Mes serveurs qui ont le bot :</h2>
<ul id="guilds-list"></ul> <!-- Ici on va lister les guilds -->
<script>
// --- Affichage des infos utilisateur ---
fetch("/api/user")
.then(res => res.json())
.then(user => {
document.getElementById("greeting").textContent = `Salut ${user.username}#${user.discriminator} !`;
document.getElementById("avatar").src = `https://cdn.discordapp.com/avatars/${user.id}/${user.avatar}.png`;
})
.catch(() => {
document.getElementById("greeting").textContent = "Utilisateur non connecté.";
});
// --- Affichage des guilds de l'utilisateur ---
fetch("/api/guilds")
.then(res => res.json())
.then(guilds => {
const list = document.getElementById("guilds-list");
if (guilds.length === 0) {
list.innerHTML = "<li>Aucun serveur disponible</li>";
} else {
guilds.forEach(g => {
const li = document.createElement("li");
li.style.cursor = "pointer";
li.style.padding = "8px";
li.style.border = "1px solid #ccc";
li.style.margin = "5px 0";
li.style.display = "flex";
li.style.alignItems = "center";
li.style.gap = "10px";
li.style.borderRadius = "8px";
li.style.backgroundColor = "#161a22"; // fond sombre pour chaque item
li.style.transition = "background 0.2s";
li.addEventListener("click", () => {
window.location.href = `/guild/${g.id}`;
});
li.addEventListener("mouseover", () => {
li.style.backgroundColor = "#5865F2"; // couleur Discord au hover
li.style.color = "white";
});
li.addEventListener("mouseout", () => {
li.style.backgroundColor = "#161a22";
li.style.color = "";
});
// Logo de la guild
if (g.icon) {
const img = document.createElement("img");
img.src = `https://cdn.discordapp.com/icons/${g.id}/${g.icon}.png`;
img.alt = `${g.name} logo`;
img.style.width = "40px";
img.style.height = "40px";
img.style.borderRadius = "50%";
li.appendChild(img);
}
// Nom de la guild
const span = document.createElement("span");
span.textContent = g.name;
li.appendChild(span);
list.appendChild(li);
});
}
})
.catch(() => {
document.getElementById("guilds-list").innerHTML = "<li>Impossible de récupérer les guilds.</li>";
});
fetch("/invite-bot")
.then(res => res.json())
.then(data => {
const link = document.getElementById("invite-link");
link.href = data.url; // met le lien dynamique
})
.catch(() => {
console.log("Impossible de récupérer le lien du bot.");
});
</script>
</body>
</html>