Alpha V2.5.13
This commit is contained in:
parent
b27feb7780
commit
d8c3f10a6a
@ -10,3 +10,172 @@
|
||||
50% { opacity: 0.5; }
|
||||
100% { opacity: 1; }
|
||||
}
|
||||
|
||||
/* Modal Public Profile - Nexus Design */
|
||||
.modal-nexus {
|
||||
background: radial-gradient(circle at top, #141e33 0%, #080c14 100%) !important;
|
||||
border: 1px solid rgba(136, 192, 208, 0.2) !important;
|
||||
border-radius: 8px !important;
|
||||
color: #fff !important;
|
||||
box-shadow: 0 0 40px rgba(0,0,0,0.8), inset 0 0 20px rgba(136, 192, 208, 0.05) !important;
|
||||
max-height: none !important; /* Remove fixed height constraint */
|
||||
overflow: visible !important; /* Prevent internal scrollbars */
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
.modal-nexus .modal-header {
|
||||
background: rgba(15, 23, 42, 0.8) !important;
|
||||
border-bottom: 1px solid rgba(136, 192, 208, 0.15) !important;
|
||||
padding: 12px 20px !important;
|
||||
}
|
||||
|
||||
.modal-nexus .modal-header h2 {
|
||||
font-size: 14px !important;
|
||||
text-transform: uppercase !important;
|
||||
letter-spacing: 2px !important;
|
||||
color: #88c0d0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.modal-nexus .modal-body {
|
||||
padding: 0 !important;
|
||||
overflow: visible !important; /* Ensure content isn't clipped */
|
||||
}
|
||||
|
||||
.profile-top-section {
|
||||
padding: 25px 20px;
|
||||
text-align: center;
|
||||
background: url('https://www.transparenttextures.com/patterns/stardust.png');
|
||||
border-bottom: 1px solid rgba(136, 192, 208, 0.15);
|
||||
}
|
||||
|
||||
.profile-grade-img {
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
object-fit: contain;
|
||||
vertical-align: middle;
|
||||
margin-right: 15px;
|
||||
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.2));
|
||||
}
|
||||
|
||||
.profile-username {
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.profile-title-text {
|
||||
font-size: 10px;
|
||||
color: #ebcb8b;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-top: 12px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.profile-level-text {
|
||||
font-size: 12px;
|
||||
color: #88c0d0;
|
||||
opacity: 0.8;
|
||||
margin-top: 8px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.profile-section-header {
|
||||
font-size: 10px;
|
||||
color: #ebcb8b;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px 8px 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.profile-section-header::before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 3px;
|
||||
background: #ebcb8b;
|
||||
}
|
||||
|
||||
.guild-info-box {
|
||||
padding: 10px 20px 15px 20px;
|
||||
border-bottom: 1px solid rgba(136, 192, 208, 0.15);
|
||||
}
|
||||
|
||||
.guild-display {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
background: rgba(30, 41, 59, 0.4);
|
||||
padding: 10px 15px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid rgba(136, 192, 208, 0.1);
|
||||
}
|
||||
|
||||
.guild-icon-placeholder {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: #1e293b;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #88c0d0;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.guild-tag-display {
|
||||
color: #ebcb8b;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.guild-name-display {
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.profile-bottom-grid {
|
||||
display: flex;
|
||||
min-height: 150px; /* Reduced slightly to keep it compact */
|
||||
}
|
||||
|
||||
.profile-left-col {
|
||||
flex: 1;
|
||||
border-right: 1px solid rgba(136, 192, 208, 0.15);
|
||||
padding: 20px;
|
||||
background: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.profile-right-col {
|
||||
width: 200px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.badge-info-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: calc(100% - 40px);
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.badge-img-display {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
object-fit: contain;
|
||||
filter: drop-shadow(0 0 15px rgba(136, 192, 208, 0.3));
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.badge-name-display {
|
||||
font-size: 11px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
padding: 0 10px;
|
||||
}
|
||||
BIN
assets/pasted-20260309-120003-22a2ad72.png
Normal file
BIN
assets/pasted-20260309-120003-22a2ad72.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
BIN
assets/pasted-20260309-121425-2ae064af.png
Normal file
BIN
assets/pasted-20260309-121425-2ae064af.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 345 KiB |
BIN
assets/pasted-20260309-121655-3a761203.png
Normal file
BIN
assets/pasted-20260309-121655-3a761203.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 176 KiB |
29
guilde.php
29
guilde.php
@ -18,11 +18,13 @@ $user_role = 'user';
|
||||
$stmt = $db->prepare("SELECT u.role, u.display_name, u.username, u.guild_id, l.name as level_raw,
|
||||
u.selected_title_id, u.selected_badge_id,
|
||||
t.name as title_name,
|
||||
b.name as badge_name, b.image_url as badge_image
|
||||
b.name as badge_name, b.image_url as badge_image,
|
||||
g.name as guild_name, g.tag as guild_tag
|
||||
FROM users u
|
||||
LEFT JOIN levels l ON u.level_id = l.id
|
||||
LEFT JOIN titles t ON u.selected_title_id = t.id
|
||||
LEFT JOIN badges b ON u.selected_badge_id = b.id
|
||||
LEFT JOIN guilds g ON u.guild_id = g.id
|
||||
WHERE u.id = ?");
|
||||
$stmt->execute([$user_id]);
|
||||
$u_data = $stmt->fetch();
|
||||
@ -37,6 +39,8 @@ if ($u_data) {
|
||||
$_SESSION['selected_title_name'] = $u_data['title_name'];
|
||||
$_SESSION['selected_badge_name'] = $u_data['badge_name'];
|
||||
$_SESSION['selected_badge_image'] = $u_data['badge_image'];
|
||||
$_SESSION['guild_name'] = $u_data['guild_name'];
|
||||
$_SESSION['guild_tag'] = $u_data['guild_tag'];
|
||||
|
||||
$grade_type = ($user_role === 'admin') ? 'admin' : 'utilisateur';
|
||||
$g_stmt = $db->prepare("SELECT name, image_url FROM grades
|
||||
@ -44,7 +48,7 @@ if ($u_data) {
|
||||
AND (min_level <= ? OR min_level IS NULL)
|
||||
AND (max_level >= ? OR max_level IS NULL)
|
||||
LIMIT 1");
|
||||
$g_stmt->execute([$grade_type, $level_num, $level_num]);
|
||||
$g_stmt->execute([$grade_type, $level_num, $level_num]);
|
||||
$grade_data = $g_stmt->fetch();
|
||||
|
||||
if ($grade_data) {
|
||||
@ -329,7 +333,7 @@ if ($in_guild) {
|
||||
.req-item img { width: 18px; height: 18px; }
|
||||
.req-item.insufficient { border-color: #bf616a; color: #bf616a; }
|
||||
|
||||
/* MODAL STYLES (Copiés de index.php) */
|
||||
/* MODAL STYLES (MATCHING index.php) */
|
||||
.modal-overlay {
|
||||
display: none;
|
||||
position: fixed;
|
||||
@ -338,7 +342,9 @@ if ($in_guild) {
|
||||
background: rgba(0, 0, 0, 0.85);
|
||||
backdrop-filter: blur(5px);
|
||||
z-index: 2000;
|
||||
align-items: center;
|
||||
align-items: flex-start;
|
||||
padding: 40px 0;
|
||||
overflow-y: auto;
|
||||
justify-content: center;
|
||||
}
|
||||
.modal-container {
|
||||
@ -346,10 +352,11 @@ if ($in_guild) {
|
||||
border: 1px solid #1e293b;
|
||||
border-radius: 12px;
|
||||
width: 600px;
|
||||
max-height: 90vh;
|
||||
overflow-y: auto;
|
||||
max-height: none;
|
||||
overflow: visible;
|
||||
position: relative;
|
||||
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
|
||||
margin: 0 auto;
|
||||
}
|
||||
.modal-header {
|
||||
padding: 20px;
|
||||
@ -540,14 +547,14 @@ if ($in_guild) {
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<!-- PROFILE MODAL (Structure identique à index.php) -->
|
||||
<!-- PROFILE MODAL (Nexus Design) -->
|
||||
<div id="profileModal" class="modal-overlay" onclick="if(event.target === this) this.style.display='none'">
|
||||
<div class="modal-container">
|
||||
<div class="modal-container modal-nexus">
|
||||
<div class="modal-header">
|
||||
<h2>Profil Public</h2>
|
||||
<button class="modal-close" onclick="document.getElementById('profileModal').style.display='none'">×</button>
|
||||
</div>
|
||||
<div id="profileModalContent" class="modal-body" style="text-align: center; padding-top: 40px; padding-bottom: 40px;">
|
||||
<div id="profileModalContent" class="modal-body">
|
||||
<!-- Chargé via AJAX -->
|
||||
</div>
|
||||
</div>
|
||||
@ -558,7 +565,7 @@ if ($in_guild) {
|
||||
const modal = document.getElementById('profileModal');
|
||||
const content = document.getElementById('profileModalContent');
|
||||
|
||||
content.innerHTML = '<div style="padding: 40px; color: #8c92a3;"><i class="fa-solid fa-spinner fa-spin fa-2x"></i><br><br>Chargement des données...</div>';
|
||||
content.innerHTML = '<div style="padding: 40px; color: #8c92a3; text-align: center;"><i class="fa-solid fa-spinner fa-spin fa-2x"></i><br><br>Chargement des données...</div>';
|
||||
modal.style.display = 'flex';
|
||||
|
||||
fetch(`profile.php?id=${userId}`, {
|
||||
@ -569,7 +576,7 @@ if ($in_guild) {
|
||||
content.innerHTML = html;
|
||||
})
|
||||
.catch(error => {
|
||||
content.innerHTML = '<div style="color: #bf616a; padding: 40px;">Erreur de connexion au Nexus.</div>';
|
||||
content.innerHTML = '<div style="color: #bf616a; padding: 40px; text-align: center;">Erreur de connexion au Nexus.</div>';
|
||||
console.error('Error:', error);
|
||||
});
|
||||
}
|
||||
|
||||
84
index.php
84
index.php
@ -9,11 +9,13 @@ if (isset($_SESSION['user_id'])) {
|
||||
$stmt = $db->prepare("SELECT u.role, u.display_name, u.username, u.guild_id, l.name as level_raw,
|
||||
u.selected_title_id, u.selected_badge_id,
|
||||
t.name as title_name,
|
||||
b.name as badge_name, b.image_url as badge_image
|
||||
b.name as badge_name, b.image_url as badge_image,
|
||||
g.name as guild_name, g.tag as guild_tag
|
||||
FROM users u
|
||||
LEFT JOIN levels l ON u.level_id = l.id
|
||||
LEFT JOIN titles t ON u.selected_title_id = t.id
|
||||
LEFT JOIN badges b ON u.selected_badge_id = b.id
|
||||
LEFT JOIN guilds g ON u.guild_id = g.id
|
||||
WHERE u.id = ?");
|
||||
$stmt->execute([$_SESSION['user_id']]);
|
||||
$u_data = $stmt->fetch();
|
||||
@ -29,6 +31,8 @@ if (isset($_SESSION['user_id'])) {
|
||||
$_SESSION['selected_title_name'] = $u_data['title_name'];
|
||||
$_SESSION['selected_badge_name'] = $u_data['badge_name'];
|
||||
$_SESSION['selected_badge_image'] = $u_data['badge_image'];
|
||||
$_SESSION['guild_name'] = $u_data['guild_name'];
|
||||
$_SESSION['guild_tag'] = $u_data['guild_tag'];
|
||||
|
||||
$grade_type = ($user_role === 'admin') ? 'admin' : 'utilisateur';
|
||||
$g_stmt = $db->prepare("SELECT name, image_url FROM grades
|
||||
@ -467,7 +471,9 @@ function getStatusColor($status, $statuses_map) {
|
||||
background: rgba(0, 0, 0, 0.85);
|
||||
backdrop-filter: blur(5px);
|
||||
z-index: 2000;
|
||||
align-items: center;
|
||||
align-items: flex-start;
|
||||
padding: 40px 0;
|
||||
overflow-y: auto;
|
||||
justify-content: center;
|
||||
}
|
||||
.modal-container {
|
||||
@ -475,10 +481,11 @@ function getStatusColor($status, $statuses_map) {
|
||||
border: 1px solid #1e293b;
|
||||
border-radius: 12px;
|
||||
width: 600px;
|
||||
max-height: 90vh;
|
||||
overflow-y: auto;
|
||||
max-height: none;
|
||||
overflow: visible;
|
||||
position: relative;
|
||||
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
|
||||
margin: 0 auto;
|
||||
}
|
||||
.modal-header {
|
||||
padding: 20px;
|
||||
@ -1004,36 +1011,63 @@ function getStatusColor($status, $statuses_map) {
|
||||
</script>
|
||||
<!-- PROFILE MODAL -->
|
||||
<div id="profileModal" class="modal-overlay" onclick="if(event.target === this) this.style.display='none'">
|
||||
<div class="modal-container">
|
||||
<div class="modal-container modal-nexus">
|
||||
<div class="modal-header">
|
||||
<h2>Profil Public</h2>
|
||||
<button class="modal-close" onclick="document.getElementById('profileModal').style.display='none'">×</button>
|
||||
</div>
|
||||
<div class="modal-body" style="text-align: center; padding-top: 40px; padding-bottom: 40px;">
|
||||
<div style="display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 10px;">
|
||||
<img src="<?php echo htmlspecialchars($_SESSION["grade_image"] ?? "assets/images/placeholder_grade.png"); ?>" style="width: 60px; height: 60px; object-fit: contain;">
|
||||
<span style="font-size: 28px; font-weight: bold; color: #fff;">
|
||||
<?php echo htmlspecialchars($_SESSION["grade_name"] ?? "Recrue"); ?>
|
||||
<?php echo htmlspecialchars($_SESSION["display_name"] ?? $_SESSION["username"]); ?>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($_SESSION['selected_title_name'])): ?>
|
||||
<div style="font-size: 14px; font-weight: bold; color: #ebcb8b; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 5px;">
|
||||
« <?php echo htmlspecialchars($_SESSION['selected_title_name']); ?> »
|
||||
<div class="modal-body">
|
||||
<div class="profile-top-section">
|
||||
<div style="display: flex; align-items: center; justify-content: center; margin-bottom: 5px;">
|
||||
<img src="<?php echo htmlspecialchars($_SESSION["grade_image"] ?? "assets/images/placeholder_grade.png"); ?>" class="profile-grade-img">
|
||||
<span class="profile-username">
|
||||
<?php echo htmlspecialchars($_SESSION["grade_name"] ?? "Recrue"); ?>
|
||||
<?php echo htmlspecialchars($_SESSION["display_name"] ?? $_SESSION["username"]); ?>
|
||||
</span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($_SESSION['selected_title_name'])): ?>
|
||||
<span class="profile-title-text">— <?php echo htmlspecialchars($_SESSION['selected_title_name']); ?> —</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<div style="font-size: 16px; color: #88c0d0; opacity: 0.8; margin-bottom: 20px;">
|
||||
Niveau <?php echo htmlspecialchars($_SESSION["level"] ?? "1"); ?>
|
||||
<span class="profile-level-text">Niveau <?php echo htmlspecialchars($_SESSION["level"] ?? "1"); ?></span>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($_SESSION['selected_badge_image'])): ?>
|
||||
<div style="margin-top: 20px; padding: 15px; background: rgba(30, 41, 59, 0.3); border-radius: 12px; display: inline-block;">
|
||||
<img src="<?php echo htmlspecialchars($_SESSION['selected_badge_image']); ?>?v=<?php echo time(); ?>" style="width: 80px; height: 80px; object-fit: contain; filter: drop-shadow(0 0 10px rgba(136, 192, 208, 0.2));" title="<?php echo htmlspecialchars($_SESSION['selected_badge_name'] ?? ''); ?>">
|
||||
<div style="font-size: 10px; color: #8c92a3; margin-top: 8px; text-transform: uppercase;">Badge Équipé</div>
|
||||
<div class="profile-section-header">Guilde</div>
|
||||
<div class="guild-info-box">
|
||||
<?php if (!empty($_SESSION['guild_id'])): ?>
|
||||
<div class="guild-display">
|
||||
<div class="guild-icon-placeholder"><i class="fa-solid fa-building-shield"></i></div>
|
||||
<span class="guild-tag-display">[<?php echo htmlspecialchars($_SESSION['guild_tag']); ?>]</span>
|
||||
<span class="guild-name-display"><?php echo htmlspecialchars($_SESSION['guild_name']); ?></span>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="guild-display" style="opacity: 0.5;">
|
||||
<div class="guild-icon-placeholder"><i class="fa-solid fa-user"></i></div>
|
||||
<span class="guild-name-display" style="font-style: italic;">Aucune guilde</span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="profile-bottom-grid">
|
||||
<div class="profile-left-col">
|
||||
<div style="width: 100%; height: 100%; opacity: 0.1; background: url('https://www.transparenttextures.com/patterns/stardust.png');"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="profile-right-col">
|
||||
<div class="profile-section-header">Insigne Équipé</div>
|
||||
<div class="badge-info-section">
|
||||
<?php if (!empty($_SESSION['selected_badge_image'])): ?>
|
||||
<img src="<?php echo htmlspecialchars($_SESSION['selected_badge_image']); ?>?v=<?php echo time(); ?>" class="badge-img-display" title="<?php echo htmlspecialchars($_SESSION['selected_badge_name'] ?? ''); ?>">
|
||||
<span class="badge-name-display"><?php echo htmlspecialchars($_SESSION['selected_badge_name'] ?? ''); ?></span>
|
||||
<?php else: ?>
|
||||
<div style="width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; opacity: 0.2; margin-bottom: 15px;">
|
||||
<i class="fa-solid fa-medal fa-3x"></i>
|
||||
</div>
|
||||
<span class="badge-name-display" style="opacity: 0.5; font-style: italic;">Aucun insigne</span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
76
profile.php
76
profile.php
@ -47,43 +47,63 @@ if ($id || !empty($username)) {
|
||||
|
||||
if ($is_ajax): ?>
|
||||
<?php if ($user): ?>
|
||||
<div style="display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 10px;">
|
||||
<img src="<?php echo htmlspecialchars($user['grade_image']); ?>" style="width: 60px; height: 60px; object-fit: contain;">
|
||||
<span style="font-size: 28px; font-weight: bold; color: #fff;">
|
||||
<?php echo htmlspecialchars($user['grade_name']); ?>
|
||||
<?php echo htmlspecialchars($user['display_name'] ?: $user['username']); ?>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($user['title_name'])): ?>
|
||||
<div style="font-size: 14px; font-weight: bold; color: #ebcb8b; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 5px;">
|
||||
« <?php echo htmlspecialchars($user['title_name']); ?> »
|
||||
<div class="profile-top-section">
|
||||
<div style="display: flex; align-items: center; justify-content: center; margin-bottom: 5px;">
|
||||
<img src="<?php echo htmlspecialchars($user['grade_image']); ?>" class="profile-grade-img">
|
||||
<span class="profile-username">
|
||||
<?php echo htmlspecialchars($user['grade_name']); ?>
|
||||
<?php echo htmlspecialchars($user['display_name'] ?: $user['username']); ?>
|
||||
</span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($user['title_name'])): ?>
|
||||
<span class="profile-title-text">— <?php echo htmlspecialchars($user['title_name']); ?> —</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<div style="font-size: 16px; color: #88c0d0; opacity: 0.8; margin-bottom: 20px;">
|
||||
Niveau <?php echo $user['level_num']; ?>
|
||||
<span class="profile-level-text">Niveau <?php echo $user['level_num']; ?></span>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($user['guild_id'])): ?>
|
||||
<div style="background: rgba(30, 41, 59, 0.3); padding: 8px 15px; border-radius: 8px; border: 1px solid rgba(136, 192, 208, 0.1); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px;">
|
||||
<i class="fa-solid fa-building-shield" style="color: #88c0d0;"></i>
|
||||
<span style="color: #ebcb8b; font-weight: bold;">[<?php echo htmlspecialchars($user['guild_tag']); ?>]</span>
|
||||
<span style="color: #fff; font-size: 13px;"><?php echo htmlspecialchars($user['guild_name']); ?></span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="profile-section-header">Guilde</div>
|
||||
<div class="guild-info-box">
|
||||
<?php if (!empty($user['guild_id'])): ?>
|
||||
<div class="guild-display">
|
||||
<div class="guild-icon-placeholder"><i class="fa-solid fa-building-shield"></i></div>
|
||||
<span class="guild-tag-display">[<?php echo htmlspecialchars($user['guild_tag']); ?>]</span>
|
||||
<span class="guild-name-display"><?php echo htmlspecialchars($user['guild_name']); ?></span>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="guild-display" style="opacity: 0.5;">
|
||||
<div class="guild-icon-placeholder"><i class="fa-solid fa-user"></i></div>
|
||||
<span class="guild-name-display" style="font-style: italic;">Aucune guilde</span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($user['badge_image'])): ?>
|
||||
<div style="margin-top: 15px; padding: 15px; background: rgba(30, 41, 59, 0.3); border-radius: 12px; display: inline-block;">
|
||||
<img src="<?php echo htmlspecialchars($user['badge_image']); ?>?v=<?php echo time(); ?>" style="width: 80px; height: 80px; object-fit: contain; filter: drop-shadow(0 0 10px rgba(136, 192, 208, 0.2));" title="<?php echo htmlspecialchars($user['badge_name']); ?>">
|
||||
<div style="font-size: 10px; color: #8c92a3; margin-top: 8px; text-transform: uppercase;">Badge Équipé</div>
|
||||
<div class="profile-bottom-grid">
|
||||
<div class="profile-left-col">
|
||||
<!-- Additional data could go here (stats, etc.) -->
|
||||
<div style="width: 100%; height: 100%; opacity: 0.1; background: url('https://www.transparenttextures.com/patterns/stardust.png');"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="profile-right-col">
|
||||
<div class="profile-section-header">Insigne Équipé</div>
|
||||
<div class="badge-info-section">
|
||||
<?php if (!empty($user['badge_image'])): ?>
|
||||
<img src="<?php echo htmlspecialchars($user['badge_image']); ?>?v=<?php echo time(); ?>" class="badge-img-display" title="<?php echo htmlspecialchars($user['badge_name']); ?>">
|
||||
<span class="badge-name-display"><?php echo htmlspecialchars($user['badge_name']); ?></span>
|
||||
<?php else: ?>
|
||||
<div style="width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; opacity: 0.2; margin-bottom: 15px;">
|
||||
<i class="fa-solid fa-medal fa-3x"></i>
|
||||
</div>
|
||||
<span class="badge-name-display" style="opacity: 0.5; font-style: italic;">Aucun insigne</span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php else: ?>
|
||||
<div style="text-align: center; padding: 20px;">
|
||||
<div style="text-align: center; padding: 40px; background: rgba(0,0,0,0.5);">
|
||||
<i class="fa-solid fa-user-slash" style="font-size: 48px; color: #bf616a; margin-bottom: 20px;"></i>
|
||||
<h2 style="color: #fff;">Joueur introuvable</h2>
|
||||
<h2 style="color: #fff; text-transform: uppercase;">Joueur introuvable</h2>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php exit; endif; ?>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user