From fc4e825aa07b4d012ad0c87ec5140a5aaf3f9cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20Iv=C3=A1n=20Solano=20Gonz=C3=A1lez?= Date: Tue, 8 Feb 2022 19:10:59 -0600 Subject: [PATCH] some changes to new version with privacy advice and user manual --- config.xml | 2 +- package-lock.json | 74 +++++++++++++++++++++++ package.json | 10 +-- src/app/app-routing.module.ts | 8 +++ src/app/app.component.html | 19 +++++- src/app/app.component.ts | 26 ++++++++ src/app/loggin/loggin.page.html | 9 +-- src/app/loggin/loggin.page.scss | 7 +++ src/app/loggin/loggin.page.ts | 6 ++ src/app/manual/manual-routing.module.ts | 17 ++++++ src/app/manual/manual.module.ts | 20 ++++++ src/app/manual/manual.page.html | 41 +++++++++++++ src/app/manual/manual.page.scss | 0 src/app/manual/manual.page.spec.ts | 24 ++++++++ src/app/manual/manual.page.ts | 15 +++++ src/app/privacy/privacy-routing.module.ts | 17 ++++++ src/app/privacy/privacy.module.ts | 20 ++++++ src/app/privacy/privacy.page.html | 13 ++++ src/app/privacy/privacy.page.scss | 0 src/app/privacy/privacy.page.spec.ts | 24 ++++++++ src/app/privacy/privacy.page.ts | 15 +++++ src/app/student/student.page.html | 2 +- src/app/tab1/tab1.page.html | 13 ++-- src/app/tab2/tab2.page.html | 4 +- src/app/tab3/tab3.page.html | 4 +- 25 files changed, 369 insertions(+), 21 deletions(-) create mode 100644 src/app/manual/manual-routing.module.ts create mode 100644 src/app/manual/manual.module.ts create mode 100644 src/app/manual/manual.page.html create mode 100644 src/app/manual/manual.page.scss create mode 100644 src/app/manual/manual.page.spec.ts create mode 100644 src/app/manual/manual.page.ts create mode 100644 src/app/privacy/privacy-routing.module.ts create mode 100644 src/app/privacy/privacy.module.ts create mode 100644 src/app/privacy/privacy.page.html create mode 100644 src/app/privacy/privacy.page.scss create mode 100644 src/app/privacy/privacy.page.spec.ts create mode 100644 src/app/privacy/privacy.page.ts diff --git a/config.xml b/config.xml index c6d5695..9d1169c 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - + SintomApp-Acatlan An app for control an visualizatión of a pandemic data like simphtoms evolution and sumarized data in the 'FES Acatán UNAM' Axel Iván Solano González diff --git a/package-lock.json b/package-lock.json index 559d828..8fb798d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,11 +15,13 @@ "@angular/platform-browser-dynamic": "~9.1.6", "@angular/router": "~9.1.6", "@awesome-cordova-plugins/file-transfer": "^5.38.0", + "@awesome-cordova-plugins/ionic-webview": "^5.39.0", "@ionic-native/camera": "^5.28.0", "@ionic-native/core": "^5.0.7", "@ionic-native/file": "^5.28.0", "@ionic-native/file-path": "^5.28.0", "@ionic-native/file-transfer": "^5.31.1", + "@ionic-native/in-app-browser": "^5.36.0", "@ionic-native/ionic-webview": "^5.28.0", "@ionic-native/local-notifications": "^5.27.0", "@ionic-native/secure-storage": "^5.27.0", @@ -61,6 +63,7 @@ "codelyzer": "^5.1.2", "cordova-android": "^9.1.0", "cordova-plugin-device": "^2.0.2", + "cordova-plugin-inappbrowser": "^5.0.0", "cordova-plugin-ionic-keyboard": "^2.2.0", "cordova-plugin-ionic-webview": "^4.2.1", "cordova-plugin-splashscreen": "^5.0.2", @@ -834,6 +837,18 @@ "rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0" } }, + "node_modules/@awesome-cordova-plugins/ionic-webview": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/ionic-webview/-/ionic-webview-5.39.0.tgz", + "integrity": "sha512-IRZOaT5QolFRWdwPajphBO64EhjNZ2yjsw9k7ZRHkU6Z1Uh44VmVixfaCmw10coUxd1Lw/UNcMWPF3gh5w4Itg==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@awesome-cordova-plugins/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", @@ -2056,6 +2071,18 @@ "rxjs": "^5.5.0 || ^6.5.0" } }, + "node_modules/@ionic-native/in-app-browser": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.36.0.tgz", + "integrity": "sha512-tX/FBT0jpkgEefZ8iorv5eDKfgP/ExbYr1AWg6okORQ0dwLfXsD5KDJgKHN9GFZvyuLNeaLpC1mN7CvwvLvmgA==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, "node_modules/@ionic-native/ionic-webview": { "version": "5.31.1", "resolved": "https://registry.npmjs.org/@ionic-native/ionic-webview/-/ionic-webview-5.31.1.tgz", @@ -7215,6 +7242,31 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-filepath/-/cordova-plugin-filepath-1.6.0.tgz", "integrity": "sha512-DwKuH5tXhZJImU/rHDzQhG3bY2ihAUw5QqdNllso96MZ9TQTAbFvKPLppuJwx21XxYS2g3uB9R17AXEEme+sKA==" }, + "node_modules/cordova-plugin-inappbrowser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-5.0.0.tgz", + "integrity": "sha512-MqnpmUQ/iy6hxtIGDdlIhy8aNi1pNanLATpbnkk7uCqW9YQ4rH/dGK9zESbZ50pUi2A2D2QMjBXNV175TJK5OQ==", + "dev": true, + "engines": { + "cordovaDependencies": { + "0.2.3": { + "cordova": ">=3.1.0" + }, + "4.0.0": { + "cordova": ">=3.1.0", + "cordova-ios": ">=4.0.0" + }, + "5.0.0": { + "cordova": ">=9.0.0", + "cordova-android": ">=9.0.0", + "cordova-ios": ">=6.0.0" + }, + "6.0.0": { + "cordova": ">100" + } + } + } + }, "node_modules/cordova-plugin-ionic-keyboard": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz", @@ -24450,6 +24502,14 @@ "@types/cordova": "latest" } }, + "@awesome-cordova-plugins/ionic-webview": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/ionic-webview/-/ionic-webview-5.39.0.tgz", + "integrity": "sha512-IRZOaT5QolFRWdwPajphBO64EhjNZ2yjsw9k7ZRHkU6Z1Uh44VmVixfaCmw10coUxd1Lw/UNcMWPF3gh5w4Itg==", + "requires": { + "@types/cordova": "latest" + } + }, "@babel/code-frame": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", @@ -25478,6 +25538,14 @@ "@types/cordova": "latest" } }, + "@ionic-native/in-app-browser": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.36.0.tgz", + "integrity": "sha512-tX/FBT0jpkgEefZ8iorv5eDKfgP/ExbYr1AWg6okORQ0dwLfXsD5KDJgKHN9GFZvyuLNeaLpC1mN7CvwvLvmgA==", + "requires": { + "@types/cordova": "latest" + } + }, "@ionic-native/ionic-webview": { "version": "5.31.1", "resolved": "https://registry.npmjs.org/@ionic-native/ionic-webview/-/ionic-webview-5.31.1.tgz", @@ -29659,6 +29727,12 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-filepath/-/cordova-plugin-filepath-1.6.0.tgz", "integrity": "sha512-DwKuH5tXhZJImU/rHDzQhG3bY2ihAUw5QqdNllso96MZ9TQTAbFvKPLppuJwx21XxYS2g3uB9R17AXEEme+sKA==" }, + "cordova-plugin-inappbrowser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-5.0.0.tgz", + "integrity": "sha512-MqnpmUQ/iy6hxtIGDdlIhy8aNi1pNanLATpbnkk7uCqW9YQ4rH/dGK9zESbZ50pUi2A2D2QMjBXNV175TJK5OQ==", + "dev": true + }, "cordova-plugin-ionic-keyboard": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz", diff --git a/package.json b/package.json index e58e90c..896b829 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,13 @@ "@angular/platform-browser-dynamic": "~9.1.6", "@angular/router": "~9.1.6", "@awesome-cordova-plugins/file-transfer": "^5.38.0", + "@awesome-cordova-plugins/ionic-webview": "^5.39.0", "@ionic-native/camera": "^5.28.0", "@ionic-native/core": "^5.0.7", "@ionic-native/file": "^5.28.0", "@ionic-native/file-path": "^5.28.0", "@ionic-native/file-transfer": "^5.31.1", + "@ionic-native/in-app-browser": "^5.36.0", "@ionic-native/ionic-webview": "^5.28.0", "@ionic-native/local-notifications": "^5.27.0", "@ionic-native/secure-storage": "^5.27.0", @@ -66,6 +68,7 @@ "codelyzer": "^5.1.2", "cordova-android": "^9.1.0", "cordova-plugin-device": "^2.0.2", + "cordova-plugin-inappbrowser": "^5.0.0", "cordova-plugin-ionic-keyboard": "^2.2.0", "cordova-plugin-ionic-webview": "^4.2.1", "cordova-plugin-splashscreen": "^5.0.2", @@ -90,9 +93,7 @@ "cordova-plugin-statusbar": {}, "cordova-plugin-device": {}, "cordova-plugin-splashscreen": {}, - "cordova-plugin-ionic-webview": { - "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+" - }, + "cordova-plugin-ionic-webview": {}, "cordova-plugin-ionic-keyboard": {}, "cordova-sqlite-storage": {}, "cordova-plugin-local-notification": {}, @@ -102,7 +103,8 @@ "ANDROID_SUPPORT_V4_VERSION": "27.+" }, "cordova-plugin-file": {}, - "cordova-plugin-filepath": {} + "cordova-plugin-filepath": {}, + "cordova-plugin-inappbrowser": {} }, "platforms": [ "ios", diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 474b65f..a751095 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -30,6 +30,14 @@ const routes: Routes = [ { path: 'simtoms', loadChildren: () => import('./tab2/tab2.module').then( m => m.Tab2PageModule) + }, + { + path: 'manual', + loadChildren: () => import('./manual/manual.module').then( m => m.ManualPageModule) + }, + { + path: 'privacy', + loadChildren: () => import('./privacy/privacy.module').then( m => m.PrivacyPageModule) } ]; @NgModule({ diff --git a/src/app/app.component.html b/src/app/app.component.html index 13b9677..e0f888e 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,3 +1,20 @@ - + + + + Menu + + + + + + + + {{pages.title}} + + + + + + diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 65b00ab..2970e81 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -9,13 +9,18 @@ import { StatusBar } from '@ionic-native/status-bar/ngx'; templateUrl: 'app.component.html', styleUrls: ['app.component.scss'] }) + export class AppComponent { + + navigate:any; + constructor( private platform: Platform, private splashScreen: SplashScreen, private statusBar: StatusBar ) { this.initializeApp(); + this.sideMenu(); } initializeApp() { @@ -24,4 +29,25 @@ export class AppComponent { this.splashScreen.hide(); }); } + + sideMenu() { + this.navigate = + [ + { + title : 'Información de la applicación', + url : '/manual', + icon : 'book' + }, + { + title : 'Aviso de privacidad', + url : '/privacy', + icon : 'information-circle-outline' + }, + { + title : 'Salir', + url : '/loggin', + icon : 'log-out-outline' + }, + ]; + } } diff --git a/src/app/loggin/loggin.page.html b/src/app/loggin/loggin.page.html index 4d4795a..57aafc4 100644 --- a/src/app/loggin/loggin.page.html +++ b/src/app/loggin/loggin.page.html @@ -1,5 +1,5 @@ - + SintomAppAcatlán @@ -19,6 +19,7 @@
+ Número de cuenta - Contraseña + @@ -42,13 +44,12 @@
- -
+ diff --git a/src/app/loggin/loggin.page.scss b/src/app/loggin/loggin.page.scss index d4027e5..f82af7b 100644 --- a/src/app/loggin/loggin.page.scss +++ b/src/app/loggin/loggin.page.scss @@ -17,6 +17,13 @@ ion-grid { min-width: 85%; justify-content: center; } + + .login_label { + display: flex; + justify-content: center; + width: 100%; + } + ::placeholder { color: white; opacity: 1; diff --git a/src/app/loggin/loggin.page.ts b/src/app/loggin/loggin.page.ts index 58c638d..b891cac 100644 --- a/src/app/loggin/loggin.page.ts +++ b/src/app/loggin/loggin.page.ts @@ -92,6 +92,10 @@ export class LogginPage implements OnInit { } } + openPrivacyAdvice(){ + this.nav.navigateForward('/privacy'); + } + routeDirector(userRole){ console.log(userRole.details.authorities) if(userRole.details.authorities[0]==="ROLE_USER"){ @@ -125,6 +129,8 @@ export class LogginPage implements OnInit { } } + + async presentAlertCredenciales() { const alert = await this.alertController.create({ cssClass: 'my-custom-class', diff --git a/src/app/manual/manual-routing.module.ts b/src/app/manual/manual-routing.module.ts new file mode 100644 index 0000000..7fbfd51 --- /dev/null +++ b/src/app/manual/manual-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { ManualPage } from './manual.page'; + +const routes: Routes = [ + { + path: '', + component: ManualPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class ManualPageRoutingModule {} diff --git a/src/app/manual/manual.module.ts b/src/app/manual/manual.module.ts new file mode 100644 index 0000000..36a1cbe --- /dev/null +++ b/src/app/manual/manual.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { ManualPageRoutingModule } from './manual-routing.module'; + +import { ManualPage } from './manual.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + ManualPageRoutingModule + ], + declarations: [ManualPage] +}) +export class ManualPageModule {} diff --git a/src/app/manual/manual.page.html b/src/app/manual/manual.page.html new file mode 100644 index 0000000..326b4b5 --- /dev/null +++ b/src/app/manual/manual.page.html @@ -0,0 +1,41 @@ + + + + + Información de la applicación + + + + + + + + + + +

Aplicacion para seguimiento de sintomas

+

Esta aplicación esta diseñada para dar seguimiento a los sintomas de una pandemia, en ella los usuarios pueden plasmar los sintomas que presenten a lo largo de su patologia para justificar faltas y prevenir a los compañeros

+
+
+ + +

Pagina de datos del alumno

+

En esta pagina el alumno agregará datos de interes para dar seguimiento al secretario técnico, y se pondran editar por el alumno

+
+
+ + +

Pagina de sintomas

+

Aquí se deberán seleccionar los sintomas que el alumno presenta en ese día y luego presionar el boton de enviar para que los sintomas + puedan ser visualizados por el secretario técnico más adelante +

+
+
+ + +

Pagina de fotos

+

En esta pagína se deberá seleccionar el archivo, jpg, png, jepg; archivos de imagen en general

+
+
+
+
diff --git a/src/app/manual/manual.page.scss b/src/app/manual/manual.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/manual/manual.page.spec.ts b/src/app/manual/manual.page.spec.ts new file mode 100644 index 0000000..f994d3f --- /dev/null +++ b/src/app/manual/manual.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ManualPage } from './manual.page'; + +describe('ManualPage', () => { + let component: ManualPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ManualPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(ManualPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/manual/manual.page.ts b/src/app/manual/manual.page.ts new file mode 100644 index 0000000..9b36304 --- /dev/null +++ b/src/app/manual/manual.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-manual', + templateUrl: './manual.page.html', + styleUrls: ['./manual.page.scss'], +}) +export class ManualPage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/privacy/privacy-routing.module.ts b/src/app/privacy/privacy-routing.module.ts new file mode 100644 index 0000000..4c64f30 --- /dev/null +++ b/src/app/privacy/privacy-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { PrivacyPage } from './privacy.page'; + +const routes: Routes = [ + { + path: '', + component: PrivacyPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class PrivacyPageRoutingModule {} diff --git a/src/app/privacy/privacy.module.ts b/src/app/privacy/privacy.module.ts new file mode 100644 index 0000000..42b7621 --- /dev/null +++ b/src/app/privacy/privacy.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { PrivacyPageRoutingModule } from './privacy-routing.module'; + +import { PrivacyPage } from './privacy.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + PrivacyPageRoutingModule + ], + declarations: [PrivacyPage] +}) +export class PrivacyPageModule {} diff --git a/src/app/privacy/privacy.page.html b/src/app/privacy/privacy.page.html new file mode 100644 index 0000000..5919ae6 --- /dev/null +++ b/src/app/privacy/privacy.page.html @@ -0,0 +1,13 @@ + + + + + Aviso de Privacidad + + + + + + + + diff --git a/src/app/privacy/privacy.page.scss b/src/app/privacy/privacy.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/privacy/privacy.page.spec.ts b/src/app/privacy/privacy.page.spec.ts new file mode 100644 index 0000000..e65b46d --- /dev/null +++ b/src/app/privacy/privacy.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { PrivacyPage } from './privacy.page'; + +describe('PrivacyPage', () => { + let component: PrivacyPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PrivacyPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(PrivacyPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/privacy/privacy.page.ts b/src/app/privacy/privacy.page.ts new file mode 100644 index 0000000..3358e76 --- /dev/null +++ b/src/app/privacy/privacy.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-privacy', + templateUrl: './privacy.page.html', + styleUrls: ['./privacy.page.scss'], +}) +export class PrivacyPage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/student/student.page.html b/src/app/student/student.page.html index 53e7aee..4d10099 100644 --- a/src/app/student/student.page.html +++ b/src/app/student/student.page.html @@ -1,5 +1,5 @@ - + diff --git a/src/app/tab1/tab1.page.html b/src/app/tab1/tab1.page.html index 8027f57..7660fbe 100644 --- a/src/app/tab1/tab1.page.html +++ b/src/app/tab1/tab1.page.html @@ -1,11 +1,12 @@ - - - + + + + + Datos + + - - Datos - diff --git a/src/app/tab2/tab2.page.html b/src/app/tab2/tab2.page.html index 285e5ee..8468014 100644 --- a/src/app/tab2/tab2.page.html +++ b/src/app/tab2/tab2.page.html @@ -1,5 +1,5 @@ - - + + diff --git a/src/app/tab3/tab3.page.html b/src/app/tab3/tab3.page.html index 3eb1fae..0691349 100644 --- a/src/app/tab3/tab3.page.html +++ b/src/app/tab3/tab3.page.html @@ -1,5 +1,5 @@ - - + +