utn-cli 2.1.52 → 2.1.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/package.json +1 -1
  2. package/templates/backend/rutas/misc.js +105 -0
  3. package/templates/backend/servicios/Nucleo/Miscelaneas.js +107 -16
  4. package/templates/frontend/public/conozcanos1.jpg +0 -0
  5. package/templates/frontend/public/preguntasF-1.png +0 -0
  6. package/templates/frontend/public/preguntasF-2.png +0 -0
  7. package/templates/frontend/public/preguntasF-3.png +0 -0
  8. package/templates/frontend/public/preguntasF-4.png +0 -0
  9. package/templates/frontend/public/preguntasF-5.png +0 -0
  10. package/templates/frontend/public/sabias-1.png +0 -0
  11. package/templates/frontend/public/sabias-10.png +0 -0
  12. package/templates/frontend/public/sabias-11.png +0 -0
  13. package/templates/frontend/public/sabias-2.png +0 -0
  14. package/templates/frontend/public/sabias-3.png +0 -0
  15. package/templates/frontend/public/sabias-4.png +0 -0
  16. package/templates/frontend/public/sabias-5.png +0 -0
  17. package/templates/frontend/public/sabias-6.png +0 -0
  18. package/templates/frontend/public/sabias-7.png +0 -0
  19. package/templates/frontend/public/sabias-8.png +0 -0
  20. package/templates/frontend/public/sabias-9.png +0 -0
  21. package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.css +65 -0
  22. package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.html +49 -0
  23. package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.ts +20 -0
  24. package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.css +608 -0
  25. package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.html +109 -0
  26. package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.ts +63 -0
  27. package/templates/frontend/src/app/Paginas/Nucleo/contenedor-componentes/contenedor-componentes.component.ts +25 -0
  28. package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.css +158 -0
  29. package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.html +120 -0
  30. package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.ts +33 -0
  31. package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.css +162 -0
  32. package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.html +97 -0
  33. package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.ts +36 -0
  34. package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.css +229 -0
  35. package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.html +396 -0
  36. package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.ts +51 -0
  37. package/templates/frontend/src/app/app.routes.ts +20 -0
@@ -0,0 +1,608 @@
1
+
2
+ .subtitle {
3
+ background-color: #0b4794;
4
+ font-size: 25px;
5
+ color: white;
6
+ padding: 18px;
7
+ margin: 20px 0;
8
+ text-align: center;
9
+ }
10
+ .subtitle p {
11
+ margin: 5px 0;
12
+ }
13
+ .conozcanos-container {
14
+ margin: 0 auto;
15
+ box-sizing: border-box;
16
+ font-family: 'Roboto', sans-serif;
17
+ background-color: white;
18
+ }
19
+
20
+ .conozcanos-content {
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: space-between;
24
+ gap: 40px;
25
+ background-color: white;
26
+ border-radius: 20px;
27
+ padding: 40px;
28
+ margin: 30px 0;
29
+ }
30
+
31
+ .conozcanos-text {
32
+ flex: 1;
33
+ }
34
+
35
+ .conozcanos-text p {
36
+ font-size: 18px;
37
+ font-weight: 400;
38
+ color: #4D4D4D;
39
+ line-height: 1.6;
40
+ margin-bottom: 20px;
41
+ }
42
+
43
+ .conozcanos-image {
44
+ flex: 1;
45
+ display: flex;
46
+ justify-content: center;
47
+ align-items: center;
48
+ }
49
+
50
+ .conozcanos-image img {
51
+ width: 100%;
52
+ max-width: 390px;
53
+ height: auto;
54
+ object-fit: cover;
55
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
56
+ }
57
+
58
+ /* Responsive */
59
+ @media (max-width: 768px) {
60
+ .conozcanos-container {
61
+ padding: 0 20px;
62
+ }
63
+
64
+ .conozcanos-content {
65
+ flex-direction: column;
66
+ padding: 30px 20px;
67
+ gap: 25px;
68
+ }
69
+
70
+ .conozcanos-text p {
71
+ font-size: 15px;
72
+ }
73
+
74
+ .conozcanos-image img {
75
+ max-width: 280px;
76
+ }
77
+ }
78
+ @media (min-width: 1400px) {
79
+ .conozcanos-container {
80
+ max-width: 1200px;
81
+ }
82
+
83
+ .conozcanos-text p {
84
+ font-size: 20px;
85
+ }
86
+ }
87
+
88
+ /* Sección Propósito*/
89
+ .proposito-section {
90
+ margin: 50px 0 40px 0;
91
+ text-align: center;
92
+ }
93
+
94
+ .proposito-header {
95
+ display: flex;
96
+ align-items: center;
97
+ justify-content: center;
98
+ gap: 20px;
99
+ margin-bottom: 30px;
100
+ }
101
+
102
+ .proposito-line {
103
+ width: 80px;
104
+ height: 3px;
105
+ background: linear-gradient(90deg, #0b4794, #667eea);
106
+ border-radius: 2px;
107
+ }
108
+
109
+ .proposito-title {
110
+ font-size: 30px;
111
+ font-weight: 500;
112
+ color: black;
113
+ margin: 0;
114
+ letter-spacing: -0.5px;
115
+ }
116
+
117
+ .proposito-text {
118
+ max-width: 800px;
119
+ margin: 0 auto 40px auto;
120
+ text-align: center;
121
+ }
122
+
123
+ .proposito-text p {
124
+ font-size: 18px;
125
+ font-weight: 400;
126
+ color: #4D4D4D;
127
+ line-height: 1.6;
128
+ margin-bottom: 15px;
129
+ }
130
+
131
+ .proposito-grid {
132
+ display: flex;
133
+ justify-content: center;
134
+ gap: 30px;
135
+ flex-wrap: wrap;
136
+ margin-top: 20px;
137
+ }
138
+
139
+ .proposito-card {
140
+ flex: 1;
141
+ min-width: 250px;
142
+ max-width: 320px;
143
+ padding: 30px 25px;
144
+ text-align: left;
145
+ background: white;
146
+ }
147
+
148
+ .card-header {
149
+ display: flex;
150
+ align-items: center;
151
+ gap: 12px;
152
+ margin-bottom: 15px;
153
+ }
154
+
155
+ .card-icon {
156
+ font-size: 25px;
157
+ font-weight: 500;
158
+ color: black;
159
+ background: #e8f0fe;
160
+ width: 40px;
161
+ height: 40px;
162
+ display: flex;
163
+ align-items: center;
164
+ justify-content: center;
165
+ border-radius: 20px;
166
+ transition: all 0.3s ease;
167
+ }
168
+
169
+
170
+ .proposito-card h3 {
171
+ font-size: 20px;
172
+ font-weight: 500;
173
+ color: black;
174
+ margin: 0;
175
+ }
176
+
177
+ .proposito-card p {
178
+ font-size: 15px;
179
+ font-weight: 400;
180
+ color: #6b7280;
181
+ line-height: 1.5;
182
+ margin: 0;
183
+ padding-left: 56px;
184
+ }
185
+
186
+ /* Responsive */
187
+ @media (max-width: 768px) {
188
+ .proposito-header {
189
+ gap: 5px;
190
+ }
191
+
192
+ .proposito-line {
193
+ width: 40px;
194
+ }
195
+
196
+ .proposito-title {
197
+ font-size: 22px;
198
+ }
199
+
200
+ .proposito-text p {
201
+ font-size: 15px;
202
+ }
203
+
204
+ .proposito-grid {
205
+ gap: 20px;
206
+ }
207
+
208
+ .proposito-card {
209
+ min-width: 100%;
210
+ padding: 20px;
211
+ }
212
+
213
+ .card-icon {
214
+ font-size: 20px;
215
+ width: 33px;
216
+ height: 33px;
217
+ }
218
+
219
+ .proposito-card h3 {
220
+ font-size: 15px;
221
+ }
222
+
223
+ .proposito-card p {
224
+ font-size: 14px;
225
+ }
226
+ }
227
+
228
+ @media (min-width: 1400px) {
229
+ .proposito-title {
230
+ font-size: 32px;
231
+ }
232
+
233
+ .proposito-card {
234
+ max-width: 350px;
235
+ padding: 35px 30px;
236
+ }
237
+
238
+ .proposito-card h3 {
239
+ font-size: 22px;
240
+ }
241
+ }
242
+ .Liderazgo-container {
243
+ margin: 0 auto;
244
+ box-sizing: border-box;
245
+ font-family: 'Roboto', sans-serif;
246
+ background-color: white;
247
+ }
248
+
249
+ .Liderazgo-content {
250
+ display: flex;
251
+ flex-direction: column;
252
+ padding: 20px 40px 40px 40px;
253
+ margin: 0px 0 40px 0;
254
+ }
255
+ .Liderazgo-header {
256
+ width: 50%;
257
+ margin-left: auto;
258
+ margin-bottom: 40px;
259
+ }
260
+ .Liderazgo-title {
261
+ font-size: 28px;
262
+ font-weight: 500;
263
+ color: black;
264
+ margin: 0;
265
+ letter-spacing: -0.5px;
266
+ text-align: left;
267
+ }
268
+ .Liderazgo-body {
269
+ display: flex;
270
+ align-items: center;
271
+ justify-content: space-between;
272
+ gap: 60px;
273
+ }
274
+
275
+ .Liderazgo-text {
276
+ flex: 1;
277
+ text-align: left;
278
+ margin-top: 0;
279
+ padding-top: 0;
280
+ transform: translateY(-80px);
281
+ }
282
+ .Liderazgo-text .name {
283
+ font-size: 16px;
284
+ font-weight: 700;
285
+ color: black;
286
+ margin: 0 0 5px 0;
287
+ }
288
+
289
+ .Liderazgo-text .cargo {
290
+ font-size: 16px;
291
+ font-weight: 500;
292
+ color: #4D4D4D;
293
+ margin-bottom: 20px;
294
+ letter-spacing: 0.5px;
295
+ }
296
+
297
+ .Liderazgo-text p {
298
+ font-size: 16px;
299
+ font-weight: 400;
300
+ color: #4D4D4D;
301
+ line-height: 1.6;
302
+ margin-bottom: 15px;
303
+ }
304
+
305
+ .Liderazgo-image {
306
+ flex: 1;
307
+ display: flex;
308
+ justify-content: center;
309
+ align-items: center;
310
+ }
311
+
312
+ .Liderazgo-image img {
313
+ width: 100%;
314
+ max-width: 450px;
315
+ height: auto;
316
+ min-height: 350px;
317
+ object-fit: cover;
318
+ object-position: top;
319
+ }
320
+
321
+ /* Responsive */
322
+ @media (max-width: 768px) {
323
+ .Liderazgo-container {
324
+ padding: 0 20px;
325
+ }
326
+
327
+ .Liderazgo-content {
328
+ padding: 30px 25px;
329
+ }
330
+
331
+ .Liderazgo-header {
332
+ width: 100%;
333
+ margin-left: 0;
334
+ margin-bottom: 20px;
335
+ }
336
+ .Liderazgo-title {
337
+ font-size: 24px;
338
+ text-align: left;
339
+ line-height: 1.3;
340
+ }
341
+
342
+ .Liderazgo-body {
343
+ flex-direction: column;
344
+ gap: 30px;
345
+ }
346
+
347
+ .Liderazgo-text {
348
+ order: 1;
349
+ transform: none;
350
+ }
351
+
352
+ .Liderazgo-image {
353
+ order: 2;
354
+ }
355
+
356
+ .Liderazgo-text p {
357
+ font-size: 14px;
358
+ }
359
+
360
+ .Liderazgo-image img {
361
+ max-width: 100%;
362
+ min-height: 250px;
363
+ }
364
+ }
365
+
366
+ @media (min-width: 1400px) {
367
+ .Liderazgo-container {
368
+ max-width: 1200px;
369
+ }
370
+
371
+ .Liderazgo-title {
372
+ font-size: 32px;
373
+ }
374
+
375
+ .Liderazgo-text p {
376
+ font-size: 18px;
377
+ }
378
+
379
+ .Liderazgo-image img {
380
+ max-width: 500px;
381
+ min-height: 400px;
382
+ }
383
+ }
384
+
385
+ /* Sección team work*/
386
+ .team-section {
387
+ margin: 50px 0 40px 0;
388
+ text-align: center;
389
+ }
390
+
391
+ .team-header {
392
+ display: flex;
393
+ align-items: center;
394
+ justify-content: center;
395
+ gap: 20px;
396
+ margin-bottom: 30px;
397
+ }
398
+
399
+ .team-title {
400
+ font-size: 28px;
401
+ font-weight: 500;
402
+ color: black;
403
+ margin: 0;
404
+ letter-spacing: -0.5px;
405
+ }
406
+
407
+ .team-text {
408
+ max-width: 800px;
409
+ margin: 0 auto 40px auto;
410
+ text-align: center;
411
+ }
412
+
413
+ .team-text p {
414
+ font-size: 18px;
415
+ font-weight: 400;
416
+ color: #4D4D4D;
417
+ line-height: 1.6;
418
+ margin-bottom: 15px;
419
+ }
420
+
421
+ .team-grid {
422
+ display: grid;
423
+ grid-template-columns: repeat(3, 1fr);
424
+ gap: 40px;
425
+ margin-top: 30px;
426
+ }
427
+
428
+ .team-card {
429
+ text-align: center;
430
+ background: white;
431
+ border-radius: 16px;
432
+ padding: 20px;
433
+ transition: all 0.3s ease;
434
+ cursor: pointer;
435
+ }
436
+ /* Flip 3D */
437
+ .team-card{
438
+ perspective: 1000px;
439
+ min-height: 340px;
440
+ background: transparent;
441
+ padding: 0;
442
+ }
443
+
444
+ .team-card-inner{
445
+ position: relative;
446
+ width: 100%;
447
+ height: 100%;
448
+ min-height: 340px;
449
+ transition: transform 0.8s;
450
+ transform-style: preserve-3d;
451
+ }
452
+
453
+ .team-card.flipped .team-card-inner{
454
+ transform: rotateY(180deg);
455
+ }
456
+
457
+ .team-front,
458
+ .team-back{
459
+ position: absolute;
460
+ inset: 0;
461
+ width: 100%;
462
+ height: 100%;
463
+ background: white;
464
+ border-radius: 16px;
465
+ padding: 20px;
466
+ box-sizing: border-box;
467
+ backface-visibility: hidden;
468
+ }
469
+
470
+ .team-front{
471
+ text-align: center;
472
+ }
473
+
474
+ .team-back{
475
+ transform: rotateY(180deg);
476
+ display: flex;
477
+ flex-direction: column;
478
+ justify-content: center;
479
+ align-items: center;
480
+ text-align: center;
481
+ color: #4D4D4D;
482
+ line-height: 1.6;
483
+ }
484
+
485
+ .team-card:hover {
486
+ transform: translateY(-8px);
487
+ box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
488
+ }
489
+
490
+ .team-photo {
491
+ width: 180px;
492
+ height: 180px;
493
+ margin: 0 auto 20px auto;
494
+ border-radius: 50%;
495
+ overflow: hidden;
496
+ background: #f0f2f5;
497
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
498
+ }
499
+
500
+ .team-photo img {
501
+ width: 100%;
502
+ height: 100%;
503
+ object-fit: cover;
504
+ transition: transform 0.3s ease;
505
+ }
506
+
507
+ .team-card:hover .team-photo img {
508
+ transform: scale(1.05);
509
+ }
510
+
511
+ .team-name {
512
+ font-size: 18px;
513
+ font-weight: 700;
514
+ color:#4D4D4D;
515
+ margin: 0 0 5px 0;
516
+ }
517
+
518
+ .team-position {
519
+ font-size: 14px;
520
+ font-weight: 500;
521
+ color:#6b7280;
522
+ letter-spacing: 1px;
523
+ margin: 0;
524
+ text-transform: uppercase;
525
+ }
526
+ .team-btn {
527
+ margin-top: 15px;
528
+ padding: 8px 18px;
529
+ border: none;
530
+ border-radius: 20px;
531
+ background-color: #0b4794;
532
+ color: white;
533
+ font-size: 13px;
534
+ font-weight: 500;
535
+ cursor: pointer;
536
+ transition: 0.3s;
537
+ }
538
+
539
+ .team-btn:hover {
540
+ background-color: #08366f;
541
+ }
542
+
543
+ /* Responsive */
544
+ @media (max-width: 992px) {
545
+ .team-grid {
546
+ grid-template-columns: repeat(2, 1fr);
547
+ gap: 30px;
548
+ }
549
+ }
550
+
551
+ @media (max-width: 768px) {
552
+ .team-section {
553
+ padding: 0 20px;
554
+ }
555
+
556
+ .team-title {
557
+ font-size: 24px;
558
+ }
559
+
560
+ .team-text p {
561
+ font-size: 14px;
562
+ }
563
+
564
+ .team-grid {
565
+ grid-template-columns: 1fr;
566
+ gap: 30px;
567
+ }
568
+
569
+ .team-photo {
570
+ width: 150px;
571
+ height: 150px;
572
+ }
573
+
574
+ .team-name {
575
+ font-size: 16px;
576
+ }
577
+
578
+ .team-position {
579
+ font-size: 12px;
580
+ }
581
+ }
582
+
583
+ @media (min-width: 1400px) {
584
+ .team-section {
585
+ max-width: 1400px;
586
+ }
587
+
588
+ .team-title {
589
+ font-size: 36px;
590
+ }
591
+
592
+ .team-text p {
593
+ font-size: 20px;
594
+ }
595
+
596
+ .team-photo {
597
+ width: 220px;
598
+ height: 220px;
599
+ }
600
+
601
+ .team-name {
602
+ font-size: 20px;
603
+ }
604
+
605
+ .team-position {
606
+ font-size: 16px;
607
+ }
608
+ }
@@ -0,0 +1,109 @@
1
+ <div class="subtitle">
2
+ <p>Conózcanos</p>
3
+ </div>
4
+ <div class="conozcanos-container">
5
+ <div class="conozcanos-content">
6
+ <div class="conozcanos-text">
7
+ <p>Somos el equipo profesional de TI de la Universidad Técnica Nacional, encargados del desarrollo y codificación
8
+ de herramientas que faciliten a toda la comunidad universitaria y al usuario en general que utilicen el sistema.
9
+ Somos los encargados del desarrollo de la plataforma SIGU.</p>
10
+ <p>Somos la unidad encargada del diseño, desarrollo, mantenimiento y soporte del Sistema Integrado de Gestión
11
+ Universitaria (SIGU).</p>
12
+ </div>
13
+ <div class="conozcanos-image">
14
+ <img src="conozcanos1.jpg" alt="Equipo SIGU">
15
+ </div>
16
+ </div>
17
+ <!-- Sección Propósito -->
18
+ <div class="proposito-section">
19
+ <div class="proposito-header">
20
+ <h2 class="proposito-title">Propósito del equipo</h2>
21
+ </div>
22
+ <div class="proposito-text">
23
+ <p>Trabajamos diariamente para asegurar que la plataforma sea una herramienta accesible, segura y eficiente,
24
+ facilitando la gestión académica y administrativa en cada una de sus etapas.</p>
25
+ <p>Un equipo capacitado y en mejora constante, que realmente se involucra en la calidad y seguridad de cada
26
+ sistema desarrollado. Aportando funciones claves como:</p>
27
+ </div>
28
+ <div class="proposito-grid">
29
+ <div class="proposito-card">
30
+ <div class="card-header">
31
+ <span class="card-icon">+</span>
32
+ <h3>Innovación</h3>
33
+ </div>
34
+ <p>El desarrollo de nuevas herramientas y actualizaciones.</p>
35
+ </div>
36
+ <div class="proposito-card">
37
+ <div class="card-header">
38
+ <span class="card-icon">+</span>
39
+ <h3>Soporte técnico y acompañamiento</h3>
40
+ </div>
41
+ <p>Resolución de problemas técnicos y atención a usuarios.</p>
42
+ </div>
43
+ <div class="proposito-card">
44
+ <div class="card-header">
45
+ <span class="card-icon">+</span>
46
+ <h3>Seguridad</h3>
47
+ </div>
48
+ <p>Garantizamos la seguridad de la información de cada uno de los usuarios.</p>
49
+ </div>
50
+ </div>
51
+ </div>
52
+
53
+ <div class="Liderazgo-container" *ngIf="desarrolladorLider">
54
+ <div class="Liderazgo-content">
55
+
56
+ <div class="Liderazgo-header">
57
+ <h2 class="Liderazgo-title">Dirección y liderazgo técnico</h2>
58
+ </div>
59
+
60
+ <div class="Liderazgo-body">
61
+ <div class="Liderazgo-image">
62
+ <img [src]="desarrolladorLider.FotoURL || 'conozcanos2.png'" [alt]="desarrolladorLider.NombreCompleto">
63
+ </div>
64
+
65
+ <div class="Liderazgo-text">
66
+ <p class="name">{{ desarrolladorLider.NombreCompleto }}</p>
67
+ <p class="cargo">Líder del equipo técnico</p>
68
+ <p>{{desarrolladorLider.Biografia}}</p>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </div>
73
+
74
+ <!-- Team work -->
75
+ <div class="team-section">
76
+ <div class="team-header">
77
+ <h2 class="team-title">Equipo de trabajo</h2>
78
+ </div>
79
+ <div class="team-text">
80
+ <p>Nuestro equipo de trabajo y de desarrollo del SIGU es un grupo pequeño pero capacitado que garantiza la
81
+ evolución, creación y seguridad. A continuación se muestra nuestro equipo.</p>
82
+ </div>
83
+
84
+ <div class="team-grid">
85
+ <div *ngFor="let desarrollador of datosDesarrolladores; let i = index" class="team-card">
86
+ <div class="team-card-inner">
87
+ <div class="team-front">
88
+ <div class="team-photo">
89
+ <img [src]="desarrollador.FotoURL || 'Avatar=45.png'"
90
+ [alt]="desarrollador.NombreCompleto || 'Miembro del equipo'">
91
+ </div>
92
+ <h3 class="team-name">{{ desarrollador.NombreCompleto || 'Miembro ' + (i+1) }}</h3>
93
+ <p class="team-position">Desarrollador</p>
94
+ <button class="team-btn" (click)="flipCard($event)">
95
+ Ver más
96
+ </button>
97
+ </div>
98
+ <div class="team-back">
99
+ <p>{{ desarrollador.Biografia || 'Sin biografía disponible.' }}</p>
100
+ <button class="team-btn" (click)="flipCard($event)">
101
+ Volver
102
+ </button>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </div>
107
+
108
+ </div>
109
+ </div>