Skip to content

Commit

Permalink
Aggiunta schermata riconoscimenti
Browse files Browse the repository at this point in the history
- La schermata nuova è accessibile dalle impostazioni
- Rinominata una delle due LoginUtilities in SignupUtilities per evitare confusione
- Aggiunto Freepik nei riconoscimenti del readme
- Rimossi assets relativi all'icona della fotocamera non più utilizzati
  • Loading branch information
ShyVortex committed Jun 17, 2024
1 parent 7b028b4 commit 5d93a96
Show file tree
Hide file tree
Showing 23 changed files with 343 additions and 38 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Alternativamente, è possibile aprire l'applicazione sul proprio browser predefi
```

## Riconoscimenti
- [FlatIcon](https://www.flaticon.com/) e [FontAwesome](https://fontawesome.com/) per le icone dell'applicazione
- [FlatIcon](https://www.flaticon.com/), [Freepik](https://www.freepik.com/) e [FontAwesome](https://fontawesome.com/) per le icone dell'applicazione
- [LottieFiles](https://lottiefiles.com/) per le varie animazioni in JSON

## Licenza
Expand Down
5 changes: 5 additions & 0 deletions src/app/app.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -350,5 +350,10 @@ export const routes: Routes = [
path: 'settings-info',
loadComponent: () => import('./pages/settings/info/info.page')
.then(m => m.InfoPage)
},
{
path: 'settings-credits',
loadComponent: () => import('./pages/settings/credits/credits.page')
.then(m => m.CreditsPage)
}
];
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import {
import {AlertController, NavController} from "@ionic/angular";
import { StorageService } from 'src/app/services/StorageService/storage.service';
import { Sesso } from 'src/app/models/persona/sesso';
import {LoginUtilities} from "../../../../../registration/LoginUtilities";
import {SignupUtilities} from "../../../../../registration/signup/SignupUtilities";
import {alert} from "ionicons/icons";
import {MedicoService} from "../../../../../../services/MedicoService/medico.service";
import {firstValueFrom} from "rxjs";
Expand Down Expand Up @@ -136,7 +136,7 @@ export class MedicModifyDetailsPage implements OnInit {
}

async presentAlert() {
if (LoginUtilities.getRuoloByEmail(this.emailToUpdate) === "MEDICO") {
if (SignupUtilities.getRuoloByEmail(this.emailToUpdate) === "MEDICO") {
const alert = await this.alertController.create({
header:"Conferma cambiamenti",
message:"Sei sicuro di voler confermare le modifiche?",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import {AlertController, NavController} from "@ionic/angular";
import { Sesso } from 'src/app/models/persona/sesso';
import { StorageService } from 'src/app/services/StorageService/storage.service';
import {Infermiere} from "../../../../../../models/infermiere/Infermiere";
import {LoginUtilities} from "../../../../../registration/LoginUtilities";
import {SignupUtilities} from "../../../../../registration/signup/SignupUtilities";
import {InfermiereService} from "../../../../../../services/InfermiereService/infermiere.service";
import {firstValueFrom} from "rxjs";
import {HashingUtilities} from "../../../../../registration/hashing-utilities";
Expand Down Expand Up @@ -134,7 +134,7 @@ export class NurseModifyDetailsPage implements OnInit {
}

async presentAlert() {
if (LoginUtilities.getRuoloByEmail(this.emailToUpdate)==="INFERMIERE") {
if (SignupUtilities.getRuoloByEmail(this.emailToUpdate)==="INFERMIERE") {
const alert = await this.alertController.create({
header:"Conferma cambiamenti",
message:"Sei sicuro di voler confermare le modifiche?",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { firstValueFrom } from "rxjs";
import { PazienteService } from "../../../../../../services/PazienteService/paziente.service";
import { Paziente } from "../../../../../../models/paziente/Paziente";
import { Medico } from "../../../../../../models/medico/Medico";
import { LoginUtilities } from "../../../../../registration/LoginUtilities";
import { SignupUtilities } from "../../../../../registration/signup/SignupUtilities";
import { HashingUtilities } from "../../../../../registration/hashing-utilities";
import { MedicoService } from "../../../../../../services/MedicoService/medico.service";
import { Sesso } from 'src/app/models/persona/sesso';
Expand Down Expand Up @@ -152,7 +152,7 @@ export class PatientModifyDetailsPage implements OnInit {
}

async presentAlert() {
if (LoginUtilities.getRuoloByEmail(this.emailToUpdate) === "PAZIENTE") {
if (SignupUtilities.getRuoloByEmail(this.emailToUpdate) === "PAZIENTE") {
const alert = await this.alertController.create({
header:"Conferma cambiamenti",
message:"Sei sicuro di voler confermare le modifiche?",
Expand Down
28 changes: 0 additions & 28 deletions src/app/pages/registration/LoginUtilities.ts

This file was deleted.

23 changes: 23 additions & 0 deletions src/app/pages/registration/signup/SignupUtilities.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
export class SignupUtilities {
public static getRuoloByEmail(email: string) :string {
if (this.isValidEmail(email)) {
if (email.endsWith("@paziente.it"))
return "PAZIENTE";
else if (email.endsWith("@medico.it"))
return "MEDICO";
else if (email.endsWith("@infermiere.it"))
return "INFERMIERE";
else if (email.endsWith("@admin.it"))
return "ADMIN";
else
return "NON VALIDA";
}
else
return "NON VALIDA";
}

private static isValidEmail(email: string): boolean {
const emailRegex: RegExp = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
}
6 changes: 3 additions & 3 deletions src/app/pages/registration/signup/signup.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
import {firstValueFrom, Observable} from "rxjs";
import {Paziente} from "../../../models/paziente/Paziente";
import {PazienteService} from "../../../services/PazienteService/paziente.service";
import {LoginUtilities} from "../LoginUtilities";
import {SignupUtilities} from "./SignupUtilities";
import {Infermiere} from "../../../models/infermiere/Infermiere";
import {Persona} from "../../../models/persona/Persona";
import {HashingUtilities} from "../hashing-utilities";
Expand Down Expand Up @@ -60,11 +60,11 @@ export class SignupPage implements OnInit {
}

async continueSignUp() {
if (LoginUtilities.getRuoloByEmail(this.email) == "NON VALIDA") {
if (SignupUtilities.getRuoloByEmail(this.email) == "NON VALIDA") {
this.message = "Email non valida, inserire un'email valida"
this.setOpen(true)
}
if (LoginUtilities.getRuoloByEmail(this.email) == "PAZIENTE") {
if (SignupUtilities.getRuoloByEmail(this.email) == "PAZIENTE") {
this.personToInsert = await firstValueFrom<Paziente>(this.pazienteService.getPazienteByEmail(this.email));
console.log(this.personToInsert);

Expand Down
113 changes: 113 additions & 0 deletions src/app/pages/settings/credits/credits.page.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
<ion-header class="ion-no-border" [translucent]="true">
<ion-toolbar class="legacy-toolbar">
<div class="container">
<ion-button class="back-button" fill="transparent" (click)="navigateBack()">
&larr;
</ion-button>
<ion-label class="tab-name">Riconoscimenti</ion-label>
</div>
</ion-toolbar>
</ion-header>

<ion-content class="credits-content" [fullscreen]="true">
<ion-row style="height: 16.5%"></ion-row>
<div class="card-container">
<ion-card class="select-card">
<ion-card-header>
<ion-img class="card-icon" src="../../assets/icon/settings/credits/flaticon.png"></ion-img>
<ion-row class="card-line"></ion-row>
<ion-card-title class="card-title">&nbsp;&nbsp;&nbsp;&nbsp;Flaticon&nbsp;&nbsp;&nbsp;&nbsp;</ion-card-title>
<ion-card-subtitle style="display: flex; justify-content: center">
Icone
</ion-card-subtitle>
</ion-card-header>
</ion-card>
<ion-card class="select-card">
<ion-card-header>
<ion-img class="card-icon" src="../../assets/icon/settings/credits/freepik.png"></ion-img>
<ion-row class="card-line"></ion-row>
<ion-card-title class="card-title">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Freepik&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</ion-card-title>
<ion-card-subtitle style="display: flex; justify-content: center">
Icone
</ion-card-subtitle>
</ion-card-header>
</ion-card>
<ion-card class="select-card">
<ion-card-header>
<ion-img class="card-icon" src="../../assets/icon/settings/credits/font-awesome.png"></ion-img>
<ion-row class="card-line"></ion-row>
<ion-card-title id="fontawesome">FontAwesome</ion-card-title>
<ion-card-subtitle style="display: flex; justify-content: center">
Icone
</ion-card-subtitle>
</ion-card-header>
</ion-card>
<ion-card class="select-card">
<ion-card-header>
<ion-img class="card-icon" src="../../assets/icon/settings/credits/lottiefiles.png"></ion-img>
<ion-row class="card-line"></ion-row>
<ion-card-title class="card-title">&nbsp;&nbsp;LottieFiles&nbsp;&nbsp;</ion-card-title>
<ion-card-subtitle style="display: flex; justify-content: center">
Animazioni
</ion-card-subtitle>
</ion-card-header>
</ion-card>
</div>
</ion-content>

<ion-footer id="footer">
<ion-toolbar>
<ion-tabs class="bottom-bar">
<ion-tab-bar class="bottom-tab-bar" slot="bottom">
<ion-tab-button class="bottom-bar-buttons" (click)="goToHome()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/home.png"></ion-img>
Home
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'PAZIENTE'" (click)="goToLogbook()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/logbook.png"></ion-img>
Registro
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'PAZIENTE'" (click)="goToReservation()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/calendar.png"></ion-img>
Prenota
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'PAZIENTE'" (click)="goToPatientSOS()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/sos.png"></ion-img>
SOS
</ion-tab-button>
<ion-tab-button hidden class="bottom-bar-buttons" *ngIf="ruolo === 'INFERMIERE'" (click)="goToDrugs()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/drugs.png"></ion-img>
Farmaci
</ion-tab-button>
<ion-tab-button hidden class="bottom-bar-buttons" *ngIf="ruolo === 'INFERMIERE'" (click)="goToShifts()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/calendar.png"></ion-img>
Turni
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'INFERMIERE'" (click)="goToNurseSOS()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/sos.png"></ion-img>
SOS
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'MEDICO'" (click)="goToNotifs()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/notifications.png"></ion-img>
Notifiche
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'MEDICO'" (click)="goToPatients()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/patients.png"></ion-img>
Pazienti
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'ADMIN'" (click)="goToRequests()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/requests.png"></ion-img>
Richieste
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'ADMIN'" (click)="goToFunctions()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/functions.png"></ion-img>
Funzioni
</ion-tab-button>
<ion-tab-button class="bottom-bar-buttons" *ngIf="ruolo === 'ADMIN'" (click)="goToReports()">
<ion-img class="bottom-bar-icons" src="../../assets/icon/bottom-bar/bug-report.png"></ion-img>
Segnalazioni
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
</ion-toolbar>
</ion-footer>
61 changes: 61 additions & 0 deletions src/app/pages/settings/credits/credits.page.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
.credits-content {
.item-title {
margin-left: 0.5em;
font-size: x-large;
font-weight: bold;
display: flex;
align-items: center;
}

.item-title-icon {
width: 1.62em;
height: auto;
margin-right: 0.5em;
}

.card-container {
margin-top: 1em;
display: flex;
flex-wrap: wrap;
flex: 1;
justify-content: center;
align-items: center;

.select-card {
margin-top: 1em;
width: 10em;
height: 10em;
display: inline-flex;
justify-content: center;
align-items: center;
border-radius: 10px;

.card-icon {
width: 3.5em;
height: auto;
margin: auto;
}

.card-line {
flex-grow: 1;
margin-top: 0.5em;
border-bottom: 1px solid #ccc;
}

.card-title {
color: #000;
margin-left: auto;
margin-right: auto;
text-align: center;
}

#fontawesome {
color: #000;
margin-left: auto;
margin-right: auto;
text-align: center;
font-size: large;
}
}
}
}
17 changes: 17 additions & 0 deletions src/app/pages/settings/credits/credits.page.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { CreditsPage } from './credits.page';

describe('CreditsPage', () => {
let component: CreditsPage;
let fixture: ComponentFixture<CreditsPage>;

beforeEach(() => {
fixture = TestBed.createComponent(CreditsPage);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
Loading

0 comments on commit 5d93a96

Please sign in to comment.