diff --git a/frontend/src/components/Badge/BadgeCategoria.vue b/frontend/src/components/Badge/BadgeCategoria.vue
index 388bbce..91607d7 100644
--- a/frontend/src/components/Badge/BadgeCategoria.vue
+++ b/frontend/src/components/Badge/BadgeCategoria.vue
@@ -2,13 +2,14 @@
const props = defineProps({
category: {
type: String,
- required: true
+ required: false,
+ default: "unknown"
}
});
- {{ props.category }}
+ {{ props.category }}
Categoria sconosciuta
diff --git a/frontend/src/components/Badge/BadgeRuolo.vue b/frontend/src/components/Badge/BadgeRuolo.vue
index 809a7db..b498b30 100644
--- a/frontend/src/components/Badge/BadgeRuolo.vue
+++ b/frontend/src/components/Badge/BadgeRuolo.vue
@@ -2,14 +2,15 @@
const props = defineProps({
role: {
type: String,
- required: true
+ required: false,
+ default: "unknown"
}
});
- Cittadino
- Operatore
+ Cittadino
+ Operatore
Ruolo sconosciuto
diff --git a/frontend/src/components/Badge/BadgeStato.vue b/frontend/src/components/Badge/BadgeStato.vue
index 2de7333..59945a0 100644
--- a/frontend/src/components/Badge/BadgeStato.vue
+++ b/frontend/src/components/Badge/BadgeStato.vue
@@ -2,14 +2,15 @@
const props = defineProps({
state: {
type: String,
- required: true
+ required: false,
+ default: "unknown"
}
});
- In corso
- Terminato
+ In corso
+ Terminato
Stato sconosciuto
diff --git a/frontend/src/components/Badge/BadgeStatoReports.vue b/frontend/src/components/Badge/BadgeStatoReports.vue
index 5b433cf..ce79929 100644
--- a/frontend/src/components/Badge/BadgeStatoReports.vue
+++ b/frontend/src/components/Badge/BadgeStatoReports.vue
@@ -2,15 +2,16 @@
const props = defineProps({
state: {
type: String,
- required: true
+ required: false,
+ default: "unknown"
}
});
- In attesa
- Approvata
- Rifiutata
+ In attesa
+ Approvata
+ Rifiutata
Stato sconosciuto
diff --git a/frontend/src/components/Mappa/Mappa.vue b/frontend/src/components/Mappa/Mappa.vue
index adfa17d..599c61f 100644
--- a/frontend/src/components/Mappa/Mappa.vue
+++ b/frontend/src/components/Mappa/Mappa.vue
@@ -1,5 +1,5 @@
diff --git a/frontend/src/states/loggedUser.js b/frontend/src/states/loggedUser.js
index 5c698a8..eece156 100644
--- a/frontend/src/states/loggedUser.js
+++ b/frontend/src/states/loggedUser.js
@@ -5,6 +5,7 @@ import { resetEmergencies } from '@/data/emergencies';
import { resetReports } from '@/data/reports';
const loggedUser = reactive({
+ saveDate: undefined,
self: undefined,
token: undefined,
id: undefined,
@@ -20,11 +21,20 @@ function loadUserFromCookies() {
const userData = Cookies.get('loggedUser');
if (userData) {
- Object.assign(loggedUser, JSON.parse(userData))
+ const parsedUserData = JSON.parse(userData);
+ const timeLimit = 24 * 60 * 60 * 1000;
+
+ // Check if saveDate is older than 24 hours
+ if (parsedUserData.saveDate && (Date.now() - new Date(parsedUserData.saveDate).getTime()) > timeLimit) {
+ clearLoggedUser();
+ } else {
+ Object.assign(loggedUser, parsedUserData);
+ }
}
};
function setLoggedUser(data) {
+ loggedUser.saveDate = new Date();
loggedUser.self = data.self;
loggedUser.token = data.token;
loggedUser.id = data.id;
@@ -35,10 +45,11 @@ function setLoggedUser(data) {
loggedUser.updatedAt = data.updatedAt;
// Save to cookies
- Cookies.set('loggedUser', JSON.stringify(loggedUser), { expires: 90 }); // expires in 3 months
+ Cookies.set('loggedUser', JSON.stringify(loggedUser), { expires: 30 * 6 }); // Scadenza tra 6 mesi
}
function clearLoggedUser() {
+ loggedUser.saveDate = undefined;
loggedUser.self = undefined;
loggedUser.token = undefined;
loggedUser.id = undefined;
diff --git a/frontend/src/views/ViewHome.vue b/frontend/src/views/ViewHome.vue
index 672c642..024790f 100644
--- a/frontend/src/views/ViewHome.vue
+++ b/frontend/src/views/ViewHome.vue
@@ -1,19 +1,51 @@