main
html 96 lines 4.58 KB
Raw
1 <!DOCTYPE html>
2 <html lang="es">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Mi Perfil | MAPS Connect</title>
7 <script>try{if(localStorage.getItem('tema-maps')==='oscuro'){document.documentElement.classList.add('dark-mode')}}catch(e){}</script>
8 <script src="../js/estilos.js?v=17"></script>
9 <link rel="stylesheet" href="../css/base.css?v=8">
10 <link rel="stylesheet" href="../css/layout.css?v=5">
11 <link rel="stylesheet" href="../css/components.css?v=8">
12 <link rel="stylesheet" href="../css/colores.css?v=1">
13 <link rel="stylesheet" href="../css/perfil.css?v=6">
14 <link rel="stylesheet" href="../css/estilos.css?v=26">
15 </head>
16 <body>
17 <div class="app-layout">
18 <aside class="sidebar" id="sidebar"></aside>
19 <div class="main-wrapper">
20 <header class="topbar" id="topbar"></header>
21 <main class="main-content" id="main-content">
22
23 <section class="perfil-container" id="perfil-root">
24
25 <!-- 1. CABECERA DE PERFIL -->
26 <div class="card profile-header-card">
27 <div class="profile-main-info" id="profile-header-info">
28 <!-- Avatar, nombre y datos se renderizan desde el backend (o sesión) -->
29 </div>
30 <div class="profile-header-actions">
31 <button class="btn-clean" type="button" id="btn-cambiar-foto">Cambiar Foto</button>
32 <button class="btn-clean" type="button" id="btn-cambiar-semestre">Cambiar Semestre</button>
33 <button class="btn-clean" type="button" id="btn-editar-proposito">Editar Propósito</button>
34 <input type="file" id="foto-input" accept="image/png,image/jpeg,image/webp" hidden>
35 </div>
36 </div>
37
38 <!-- 2. LAYOUT A DOS COLUMNAS -->
39 <div class="profile-grid">
40
41 <!-- COLUMNA IZQUIERDA: TRAYECTORIA ACADÉMICA MAPS -->
42 <section class="card">
43 <h3 class="section-heading">Identidad y Ruta MAPS</h3>
44
45 <div class="purpose-box" id="profile-purpose" hidden>
46 <strong>Propósito de Vida</strong>
47 <p id="profile-purpose-text"></p>
48 </div>
49
50 <h4 class="sub-heading">Certificados del Plan de Estudios</h4>
51 <div id="profile-certificados">
52 <!-- Los certificados se renderizan aquí solo cuando el backend responde -->
53 </div>
54 </section>
55
56 <!-- COLUMNA DERECHA: REPUTACIÓN Y ACTIVIDAD COMUNITARIA -->
57 <aside class="card">
58 <h3 class="section-heading">Aportaciones en la Comunidad</h3>
59
60 <div class="stats-summary" id="profile-stats">
61 <!-- Las estadísticas se renderizan aquí solo cuando el backend responde -->
62 </div>
63
64 <h4 class="sub-heading">Actividad Reciente</h4>
65 <ul class="activity-list" id="profile-actividad">
66 <!-- La actividad se renderiza aquí solo cuando el backend responde -->
67 </ul>
68 </aside>
69
70 </div>
71
72 <!-- 3. MI RED: SEGUIDORES Y DESCUBRIR PERSONAS -->
73 <section class="card" id="profile-red" hidden>
74 <h3 class="section-heading">Mi Red</h3>
75 <div class="red-stats" id="red-stats"></div>
76 <h4 class="sub-heading">Descubrir personas</h4>
77 <div class="discover-grid" id="discover-list">
78 <p class="discover-empty">Cargando personas...</p>
79 </div>
80 </section>
81
82 </section>
83
84 </main>
85 </div>
86 </div>
87 <script src="../js/api.js?v=5"></script>
88 <script src="../js/auth.js?v=7"></script>
89 <script src="../js/utils.js?v=5"></script>
90 <script src="../js/tema.js?v=2"></script>
91 <script src="../js/colores.js?v=1"></script>
92 <script src="../js/aviso-privacidad.js?v=1"></script>
93 <script src="../js/layout.js?v=12"></script>
94 <script src="../js/pages/perfil.js?v=7"></script>
95 </body>
96 </html>