webapp
Build / build (push) Has been cancelled

This commit is contained in:
gpatruno
2026-06-06 21:59:51 +02:00
parent 02d2af0993
commit 48a1b900c7
279 changed files with 7488 additions and 238 deletions
+4
View File
@@ -0,0 +1,4 @@
</main>
</div>
</body>
</html>
+8
View File
@@ -0,0 +1,8 @@
<header class="page-header">
<div>
<h1><%= title %></h1>
<% if (typeof subtitle !== 'undefined' && subtitle) { %>
<p class="subtitle"><%= subtitle %></p>
<% } %>
</div>
</header>
+42
View File
@@ -0,0 +1,42 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><%= title %> · Orion.ovh</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<div class="layout">
<aside class="sidebar">
<div class="brand">
<span class="brand-mark">O</span>
<div>
<strong>Orion.ovh</strong>
<small>Serveur MMORPG</small>
</div>
</div>
<nav class="nav">
<% nav.forEach(function(item) { %>
<a href="<%= item.href %>" class="nav-link<%= page === item.key ? ' active' : '' %>">
<%= item.label %>
</a>
<% }); %>
</nav>
<div class="sidebar-footer">
<% if (sessionUser) { %>
<span class="status-dot online"></span>
<span><%= sessionUser.displayName %></span>
<% } else if (dbStatus.exists) { %>
<span class="status-dot online"></span> Base connectée
<% } else { %>
<span class="status-dot offline"></span> Base indisponible
<% } %>
</div>
</aside>
<main class="main">
<% if (!dbStatus.exists) { %>
<div class="alert alert-warning">
Fichier <code>mmorpg.db</code> introuvable. Démarrez le serveur Hytale pour initialiser la base à la racine du monorepo.
</div>
<% } %>
+80
View File
@@ -0,0 +1,80 @@
<div class="profile-layout">
<section class="panel profile-card">
<div class="profile-head">
<div class="avatar"><%= player.display_name.charAt(0).toUpperCase() %></div>
<div>
<h2><%= player.display_name %></h2>
<p class="muted"><%= player.uuid %></p>
<% if (player.isOnline) { %>
<span class="tag tag-online">En ligne</span>
<% } else { %>
<span class="tag tag-offline">Hors ligne</span>
<% } %>
</div>
</div>
<dl class="detail-grid">
<div>
<dt>Niveau</dt>
<dd><%= player.level %></dd>
</div>
<div>
<dt>Expérience</dt>
<dd><%= fmt.formatNumber(player.experience) %></dd>
</div>
<div>
<dt>Classe</dt>
<dd><%= player.classLabel %></dd>
</div>
<div>
<dt>Race</dt>
<dd><%= player.raceLabel %></dd>
</div>
<div>
<dt>Money</dt>
<dd><%= fmt.formatMoney(player.money) %></dd>
</div>
<div>
<dt>Temps de jeu</dt>
<dd><%= fmt.formatDuration(player.total_time_play) %></dd>
</div>
<div>
<dt>Création du compte</dt>
<dd><%= fmt.formatTimestamp(player.date_creation || player.created_at) %></dd>
</div>
<div>
<dt>Dernière connexion</dt>
<dd><%= fmt.formatTimestamp(player.last_date_connected) %></dd>
</div>
</dl>
<% if (player.jobs.length > 0) { %>
<div class="chip-list">
<span class="chip-label">Métiers</span>
<% player.jobs.forEach(function(job) { %>
<span class="chip"><%= job %></span>
<% }); %>
</div>
<% } %>
<% if (player.powers.length > 0) { %>
<div class="chip-list">
<span class="chip-label">Pouvoirs</span>
<% player.powers.forEach(function(power) { %>
<span class="chip"><%= power %></span>
<% }); %>
</div>
<% } %>
<% if (group) { %>
<p class="group-info">Membre du groupe <code><%= group.id %></code></p>
<% } %>
</section>
<% if (typeof comingSoon !== 'undefined' && comingSoon) { %>
<section class="panel coming-soon">
<h2>Fonctionnalités à venir</h2>
<p>Inventaire, compétences détaillées, historique de combat et statistiques avancées seront disponibles prochainement sur cette page.</p>
</section>
<% } %>
</div>