main
html 154 lines 8.33 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>Ajustes | 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=6">
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/ajustes.css?v=4">
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="ajustes-container">
24 <h1 class="page-title">Ajustes</h1>
25
26 <div class="ajustes-seccion">
27 <h2 class="ajustes-seccion-titulo">Personalización</h2>
28 <p class="ajustes-seccion-desc">
29 Personaliza el aspecto visual de la plataforma: color de acento, estilo de la página
30 y modo de apariencia.
31 </p>
32
33 <div class="card">
34 <h2 class="section-heading">Color de la página</h2>
35 <p class="page-description" style="margin-bottom:0.5rem;">
36 Elige el color de acento para toda la aplicación. El cambio se guarda
37 automáticamente y se aplica al instante.
38 </p>
39
40 <div class="personaliza-seccion">
41 <label class="personaliza-label">Colores predefinidos</label>
42 <div class="personaliza-swatches" id="swatches-colores" role="group" aria-label="Colores predefinidos">
43 <!-- Swatches generados por ajustes.js -->
44 </div>
45
46 <label class="personaliza-label" for="color-custom">Color a medida</label>
47 <div class="personaliza-custom">
48 <input type="color" id="color-custom" value="#e1367f" aria-label="Elegir color a medida">
49 <span class="personaliza-custom-texto" id="color-custom-texto">#e1367f</span>
50 </div>
51
52 <button type="button" class="btn btn-outline" id="btn-restaurar-color">
53 Restablecer color por defecto
54 </button>
55 </div>
56 </div>
57
58 <div class="card">
59 <h2 class="section-heading">Estilos de la página</h2>
60 <p class="page-description" style="margin-bottom:0.75rem;">
61 Elige un estilo visual para toda la aplicación: sidebar, barra superior,
62 tarjetas, formularios y fondo. El cambio se aplica al instante.
63 </p>
64
65 <div class="estilos-seccion" id="estilos-lista" role="group" aria-label="Estilos de la página">
66 <!-- Tarjetas de estilo generadas por ajustes.js -->
67 </div>
68 </div>
69
70 <div class="card">
71 <h2 class="section-heading">Apariencia</h2>
72 <div class="ajustes-fila">
73 <div class="ajustes-fila-texto">
74 <strong>Modo oscuro</strong>
75 <p>Reduce el brillo de la pantalla con colores oscuros en toda la aplicación.</p>
76 </div>
77 <label class="tema-switch" aria-label="Modo oscuro">
78 <input type="checkbox" id="tema-toggle">
79 <span class="slider" aria-hidden="true"></span>
80 </label>
81 </div>
82 </div>
83 </div>
84
85 <div class="ajustes-seccion">
86 <h2 class="ajustes-seccion-titulo">Mi cuenta</h2>
87 <p class="ajustes-seccion-desc">
88 Administra la información de tu cuenta: tu nombre y tu contraseña.
89 </p>
90
91 <div class="card">
92 <h2 class="section-heading">Datos de la cuenta</h2>
93 <div class="ajustes-fila" style="margin-bottom:0.25rem;">
94 <div class="ajustes-fila-texto">
95 <strong>Correo</strong>
96 <p id="cuenta-email"></p>
97 </div>
98 </div>
99 <form id="form-nombre" class="cuenta-form" novalidate>
100 <div class="form-group">
101 <label for="input-nombre">Nombre completo</label>
102 <input type="text" id="input-nombre" class="form-control" maxlength="150" required>
103 </div>
104 <button type="submit" class="btn btn-primary">Guardar</button>
105 </form>
106 </div>
107
108 <div class="card">
109 <h2 class="section-heading">Cambiar contraseña</h2>
110 <form id="form-contrasena" class="cuenta-form" novalidate>
111 <div class="form-group">
112 <label for="input-contrasena-actual">Contraseña actual</label>
113 <input type="password" id="input-contrasena-actual" class="form-control"
114 autocomplete="current-password" required>
115 </div>
116 <div class="form-group">
117 <label for="input-contrasena-nueva">Nueva contraseña</label>
118 <input type="password" id="input-contrasena-nueva" class="form-control"
119 autocomplete="new-password" required>
120 <small class="form-hint">
121 Mínimo 8 caracteres, con mayúscula, minúscula y número.
122 </small>
123 </div>
124 <div class="form-group">
125 <label for="input-contrasena-confirmar">Confirmar nueva contraseña</label>
126 <input type="password" id="input-contrasena-confirmar" class="form-control"
127 autocomplete="new-password" required>
128 </div>
129 <button type="submit" class="btn btn-primary">Guardar</button>
130 </form>
131 </div>
132 </div>
133
134 <div class="ajustes-seccion">
135 <h2 class="ajustes-seccion-titulo">Legal</h2>
136 <div class="card">
137 <button type="button" class="btn btn-outline" id="btn-ver-aviso">Ver Aviso de Privacidad</button>
138 </div>
139 </div>
140 </section>
141
142 </main>
143 </div>
144 </div>
145 <script src="../js/api.js?v=6"></script>
146 <script src="../js/auth.js?v=7"></script>
147 <script src="../js/utils.js?v=6"></script>
148 <script src="../js/tema.js?v=2"></script>
149 <script src="../js/colores.js?v=1"></script>
150 <script src="../js/aviso-privacidad.js?v=1"></script>
151 <script src="../js/layout.js?v=12"></script>
152 <script src="../js/pages/ajustes.js?v=4"></script>
153 </body>
154 </html>