feat: Añadir página para seleccionar servidor y ocultar navbar en el dashboard
This commit is contained in:
@@ -907,6 +907,18 @@ export const server = createServer(
|
||||
appName: pkg.name ?? "Amayo Bot",
|
||||
user,
|
||||
guilds,
|
||||
hideNavbar: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Select guild page
|
||||
if (url.pathname === "/dashboard/select-guild") {
|
||||
await renderTemplate(req, res, "select_guild", {
|
||||
appName: pkg.name ?? "Amayo Bot",
|
||||
user,
|
||||
guilds,
|
||||
hideNavbar: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -917,13 +929,14 @@ export const server = createServer(
|
||||
if (parts.length >= 2) {
|
||||
const guildId = parts[1];
|
||||
const page = parts[2] || "overview";
|
||||
// For now render same dashboard with selected guild context stub
|
||||
// Render dashboard with selected guild context; hide global navbar for server view
|
||||
await renderTemplate(req, res, "dashboard", {
|
||||
appName: pkg.name ?? "Amayo Bot",
|
||||
user,
|
||||
guilds,
|
||||
selectedGuild: guildId,
|
||||
page,
|
||||
hideNavbar: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
</head>
|
||||
<body class="min-h-screen pixel-grid-bg pt-14" style="background-image: url('/assets/images/background.svg'); background-size: cover; background-position: center; background-attachment: fixed; background-repeat: no-repeat;">
|
||||
|
||||
<% if (!hideNavbar) { %>
|
||||
<%- await include('../partials/navbar', { appName }) %>
|
||||
<% } %>
|
||||
|
||||
<div class="relative z-10">
|
||||
<%- body %>
|
||||
|
||||
@@ -6,16 +6,8 @@
|
||||
<h1 class="text-3xl font-bold mb-2"><%= appName %></h1>
|
||||
<p class="text-sm text-slate-200/80 mb-4">Panel de administración</p>
|
||||
<div class="mt-4">
|
||||
<label class="block text-xs text-slate-300 mb-2">Selecciona servidor</label>
|
||||
<select id="guildSelector" class="w-full rounded-md p-3 bg-white/6 text-white focus:outline-none">
|
||||
<% if (guilds && guilds.length) { %>
|
||||
<% guilds.forEach(g => { %>
|
||||
<option value="<%= g.id %>"><%= g.name %> (<%= g.id %>)</option>
|
||||
<% }) %>
|
||||
<% } else { %>
|
||||
<option disabled>No tienes servidores gestionados</option>
|
||||
<% } %>
|
||||
</select>
|
||||
<p class="text-sm text-slate-200/80">Selecciona un servidor desde la página principal para administrar sus ajustes.</p>
|
||||
<a href="/dashboard/select-guild" class="inline-block mt-3 pixel-btn">Seleccionar servidor</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -35,9 +27,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.getElementById('guildSelector')?.addEventListener('change', (e) => {
|
||||
const v = e.target.value;
|
||||
if (v) window.location.href = `/dashboard/${v}/overview`;
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
32
src/server/views/pages/select_guild.ejs
Normal file
32
src/server/views/pages/select_guild.ejs
Normal file
@@ -0,0 +1,32 @@
|
||||
<div class="max-w-3xl mx-auto p-6">
|
||||
<div class="backdrop-blur-md bg-white/6 border border-white/10 rounded-xl p-6 shadow-lg glass-card">
|
||||
<h2 class="text-2xl font-bold mb-2">Selecciona el servidor</h2>
|
||||
<p class="text-sm text-slate-200/80 mb-4">Elige el servidor que quieres administrar. Serás redirigido a la página del servidor.</p>
|
||||
|
||||
<div class="mt-4">
|
||||
<label class="block text-xs text-slate-300 mb-2">Servidor</label>
|
||||
<select id="guildSelector" class="w-full rounded-md p-3 bg-white/6 text-white focus:outline-none">
|
||||
<% if (guilds && guilds.length) { %>
|
||||
<% guilds.forEach(g => { %>
|
||||
<option value="<%= g.id %>"><%= g.name %> (<%= g.id %>)</option>
|
||||
<% }) %>
|
||||
<% } else { %>
|
||||
<option disabled>No tienes servidores gestionados</option>
|
||||
<% } %>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-right">
|
||||
<button id="goBtn" class="pixel-btn">Ir al servidor</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const sel = document.getElementById('guildSelector');
|
||||
const btn = document.getElementById('goBtn');
|
||||
btn?.addEventListener('click', () => {
|
||||
const v = sel.value;
|
||||
if (v) window.location.href = `/dashboard/${v}/overview`;
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user