diff --git a/assets/css/custom.css b/assets/css/custom.css index a055abb..a80590f 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -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; +} \ No newline at end of file diff --git a/assets/pasted-20260309-120003-22a2ad72.png b/assets/pasted-20260309-120003-22a2ad72.png new file mode 100644 index 0000000..853d567 Binary files /dev/null and b/assets/pasted-20260309-120003-22a2ad72.png differ diff --git a/assets/pasted-20260309-121425-2ae064af.png b/assets/pasted-20260309-121425-2ae064af.png new file mode 100644 index 0000000..ca5ff16 Binary files /dev/null and b/assets/pasted-20260309-121425-2ae064af.png differ diff --git a/assets/pasted-20260309-121655-3a761203.png b/assets/pasted-20260309-121655-3a761203.png new file mode 100644 index 0000000..6f8cee0 Binary files /dev/null and b/assets/pasted-20260309-121655-3a761203.png differ diff --git a/guilde.php b/guilde.php index 15688e1..eb09cfe 100644 --- a/guilde.php +++ b/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) { - +