se ha integrado el login con SIU Guarani y se agrego un manual de usuario en info.

This commit is contained in:
2026-03-30 14:03:45 -03:00
parent 678cc9898f
commit 460fbf1634
14 changed files with 815 additions and 332 deletions
+57 -7
View File
@@ -4,6 +4,11 @@
<ion-back-button defaultHref="/home"></ion-back-button>
</ion-buttons>
<ion-title>Configuración de Perfil</ion-title>
<ion-buttons slot="end">
<ion-button (click)="openInfo()">
<ion-icon slot="icon-only" name="information-circle-outline"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
@@ -34,7 +39,8 @@
</ion-card-header>
<ion-card-content *ngIf="!authState?.siuConnected">
<p class="auth-desc">Conectá con el SIU para traer tu historial y que la app auto-favoritee tus materias en curso.</p>
<p class="auth-desc">Conectá con el SIU para traer tu historial y que la app auto-favoritee tus materias en
curso.</p>
<ion-list lines="inset" class="auth-form">
<ion-item>
<ion-icon name="person-outline" slot="start" color="medium"></ion-icon>
@@ -42,7 +48,8 @@
</ion-item>
<ion-item>
<ion-icon name="lock-closed-outline" slot="start" color="medium"></ion-icon>
<ion-input [type]="showSiuPass ? 'text' : 'password'" placeholder="Contraseña de SIU" [(ngModel)]="siuPass"></ion-input>
<ion-input [type]="showSiuPass ? 'text' : 'password'" placeholder="Contraseña de SIU"
[(ngModel)]="siuPass"></ion-input>
<ion-button slot="end" fill="clear" (click)="showSiuPass = !showSiuPass" color="medium">
<ion-icon [name]="showSiuPass ? 'eye-off-outline' : 'eye-outline'"></ion-icon>
</ion-button>
@@ -83,7 +90,8 @@
</ion-card-header>
<ion-card-content *ngIf="!authState?.moodleConnected">
<p class="auth-desc">Vinculá tu cuenta del campus para generar tu credencial digital offline y habilitar alertas de actividades.</p>
<p class="auth-desc">Vinculá tu cuenta del campus para generar tu credencial digital offline y habilitar alertas
de actividades.</p>
<ion-list lines="inset" class="auth-form">
<ion-item>
<ion-icon name="person-outline" slot="start" color="medium"></ion-icon>
@@ -91,7 +99,8 @@
</ion-item>
<ion-item>
<ion-icon name="lock-closed-outline" slot="start" color="medium"></ion-icon>
<ion-input [type]="showMoodlePass ? 'text' : 'password'" placeholder="Contraseña de Campus" [(ngModel)]="moodlePass"></ion-input>
<ion-input [type]="showMoodlePass ? 'text' : 'password'" placeholder="Contraseña de Campus"
[(ngModel)]="moodlePass"></ion-input>
<ion-button slot="end" fill="clear" (click)="showMoodlePass = !showMoodlePass" color="medium">
<ion-icon [name]="showMoodlePass ? 'eye-off-outline' : 'eye-outline'"></ion-icon>
</ion-button>
@@ -119,9 +128,50 @@
</ion-card-content>
</ion-card>
<!-- Sección de Credencial Digital (Solo si está vinculado) -->
<ion-card class="auth-card credencial-card" *ngIf="authState?.moodleConnected" (click)="openCredencial()">
<ion-card-header>
<div class="card-title-row">
<ion-icon name="qr-code" color="primary" class="service-icon"></ion-icon>
<ion-card-title>Mi Credencial Digital</ion-card-title>
<ion-icon name="chevron-forward" color="medium"></ion-icon>
</div>
<ion-card-subtitle>Acceso rápido con QR y modo sin conexión</ion-card-subtitle>
</ion-card-header>
<ion-card-content>
<p class="auth-desc">Toca para abrir tu credencial. El brillo se ajustará automáticamente.</p>
</ion-card-content>
</ion-card>
<!-- Sección de Respaldo y Datos -->
<ion-card class="auth-card backup-card">
<ion-card-header>
<div class="card-title-row">
<ion-icon name="cloud-upload" color="tertiary" class="service-icon"></ion-icon>
<ion-card-title>Datos y Respaldo</ion-card-title>
</div>
<ion-card-subtitle>Asegurá tu progreso académico</ion-card-subtitle>
</ion-card-header>
<ion-card-content>
<p class="auth-desc">Exportá tus materias favoritas y aprobadas para restaurarlas en otro dispositivo.</p>
<div class="backup-buttons">
<ion-button expand="block" fill="outline" (click)="forzarRespaldo()">
<ion-icon name="save-outline" slot="start"></ion-icon>
Guardar Respaldo
</ion-button>
<ion-button expand="block" fill="outline" color="secondary" (click)="importarRespaldoManual()">
<ion-icon name="cloud-download-outline" slot="start"></ion-icon>
Restaurar Datos
</ion-button>
</div>
</ion-card-content>
</ion-card>
<div class="security-info ion-padding">
<ion-icon name="shield-checkmark" color="medium"></ion-icon>
<p>Tus credenciales se almacenan de forma segura y local en tu dispositivo. No son enviadas a servidores externos ajenos a la universidad.</p>
<ion-icon name="lock-closed" color="medium"></ion-icon>
<p>Tus credenciales y datos se almacenan de forma segura y local en el almacenamiento persistente de tu teléfono.
</p>
</div>
</div>
</ion-content>
</ion-content>