Skip to content

Commit fa780da

Browse files
committed
fix buges and clean code
1 parent 11d4b03 commit fa780da

File tree

6 files changed

+23
-17
lines changed

6 files changed

+23
-17
lines changed

src/components/Alerts/AlertDetails/AlertContainer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ export const AlertContainer = ({ alert, resetAlert }: AlertContainerType) => {
3636
resetAlert={resetAlert}
3737
/>
3838
</Grid>
39-
<Grid size={{ xs: 12, md: 9 }}>
39+
<Grid size={{ xs: 12, xl: 9 }}>
4040
<AlertImages sequence={selectedSequence} />
4141
</Grid>
42-
<Grid size={{ xs: 12, md: 3 }}>
42+
<Grid size={{ xs: 12, xl: 3 }}>
4343
<AlertInfos sequence={selectedSequence} />
4444
</Grid>
4545
</Grid>

src/components/Alerts/AlertDetails/AlertImages.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { useQuery } from '@tanstack/react-query';
99

1010
import { getDetectionsBySequence } from '../../../services/alerts';
1111
import type { SequenceWithCameraInfoType } from '../../../utils/alerts';
12-
import { convertStrToEpoch, formatToTime } from '../../../utils/dates';
12+
import { formatToTime } from '../../../utils/dates';
1313
import { useTranslationPrefix } from '../../../utils/useTranslationPrefix';
1414
import { AlertImagesPlayer } from './AlertImagesPlayer';
1515

@@ -28,13 +28,9 @@ export const AlertImages = ({ sequence }: AlertImagesType) => {
2828
} = useQuery({
2929
queryKey: ['detections', sequence.id],
3030
queryFn: async () => {
31-
const detections = await getDetectionsBySequence(sequence.id);
32-
detections.sort(
33-
(d1, d2) =>
34-
convertStrToEpoch(d1.created_at) - convertStrToEpoch(d2.created_at)
35-
);
36-
return detections;
31+
return await getDetectionsBySequence(sequence.id);
3732
},
33+
refetchOnWindowFocus: false,
3834
});
3935

4036
return (

src/locales/es/translation.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"logout": "Desconectarse",
88
"errors": {
99
"INVALID_CREDENTIALS": "Nombre de usuario y/o contraseña incorrectos.",
10-
"SERVER_ERROR": "Se ha producido un error en el servidor. Vuelva a intentarlo más tarde.",
10+
"SERVER_ERROR": "Se ha producido un error. Vuelva a intentarlo más tarde.",
1111
"UNKNOWN_ERROR": "Se ha producido un error inesperado.",
1212
"INVALID_API_RESPONSE": "La respuesta del servidor de conexión no es válida."
1313
}
@@ -21,7 +21,7 @@
2121
},
2222
"dashboard": {
2323
"noCameraMessage": "No hay ninguna cámara asociada a su organización. Póngase en contacto con el administrador",
24-
"errorFetchCameraMessage": "Se ha producido un error en el servidor. Vuelva a intentarlo más tarde.",
24+
"errorFetchCameraMessage": "Se ha producido un error. Vuelva a intentarlo más tarde.",
2525
"titleImage": "Última imagen de la cámara",
2626
"inactiveCameraMsg": "Cámara inactiva"
2727
},
@@ -30,13 +30,13 @@
3030
"titleListPlural": "alertas a tratar",
3131
"prefixCardDetection": "Detectada por :",
3232
"noAlertsMessage": "Ninguna alerta detectada",
33-
"errorFetchSequencesMessage": "Se ha producido un error en el servidor. Vuelva a intentarlo más tarde.",
33+
"errorFetchSequencesMessage": "Se ha producido un error. Vuelva a intentarlo más tarde.",
3434
"titleSectionCamera": "Camera",
3535
"defaultCameraName": "Camera desconocida",
3636
"buttonImageDownload": "Descargar",
3737
"buttonPlay": "Play",
3838
"buttonPause": "Pause",
39-
"errorFetchImagesMessage": "Se ha producido un error en el servidor. Vuelva a intentarlo más tarde.",
39+
"errorFetchImagesMessage": "Se ha producido un error. Vuelva a intentarlo más tarde.",
4040
"titleDetails": "Detalles de la alerta",
4141
"titleButtonBackAlt": "Volver a la lista",
4242
"subtitleDate": "Fecha & ora",

src/locales/fr/translation.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"logout": "Se déconnecter",
88
"errors": {
99
"INVALID_CREDENTIALS": "Nom d'utilisateur ou mot de passe incorrect.",
10-
"SERVER_ERROR": "Une erreur est survenue sur le serveur. Veuillez réessayer plus tard.",
10+
"SERVER_ERROR": "Une erreur inattendue est survenue. Veuillez réessayer plus tard.",
1111
"UNKNOWN_ERROR": "Une erreur inattendue est survenue.",
1212
"INVALID_API_RESPONSE": "La réponse du serveur de connexion est invalide."
1313
}
@@ -21,7 +21,7 @@
2121
},
2222
"dashboard": {
2323
"noCameraMessage": "Aucune camera n'est associée avec votre organisation. Veuillez contacter l'administateur",
24-
"errorFetchCameraMessage": "Une erreur est survenue sur le serveur. Veuillez réessayer plus tard.",
24+
"errorFetchCameraMessage": "Une erreur inattendue est survenue. Veuillez réessayer plus tard.",
2525
"titleImage": "Dernière image de la camera",
2626
"inactiveCameraMsg": "Camera inactive"
2727
},
@@ -30,14 +30,14 @@
3030
"titleListPlural": "alertes à traiter",
3131
"prefixCardDetection": "Détectée par :",
3232
"noAlertsMessage": "Aucune alerte détectée",
33-
"errorFetchSequencesMessage": "Une erreur est survenue sur le serveur. Veuillez réessayer plus tard.",
33+
"errorFetchSequencesMessage": "Une erreur inattendue est survenue. Veuillez réessayer plus tard.",
3434
"titleSectionCamera": "Camera",
3535
"titleButtonBackAlt": "Retour à la liste",
3636
"defaultCameraName": "Camera inconnue",
3737
"buttonImageDownload": "Télécharger",
3838
"buttonPlay": "Play",
3939
"buttonPause": "Pause",
40-
"errorFetchImagesMessage": "Une erreur est survenue sur le serveur. Veuillez réessayer plus tard.",
40+
"errorFetchImagesMessage": "Une erreur inattendue est survenue. Veuillez réessayer plus tard.",
4141
"titleDetails": "Détail de l'alerte",
4242
"subtitleDate": "Date & Heure",
4343
"subtitleAzimuth": "Azimuth",

src/pages/AlertsPage.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const AlertsPage = () => {
2020
} = useQuery({
2121
queryKey: ['unlabelledSequences'],
2222
queryFn: getUnlabelledLatestSequences,
23+
refetchOnWindowFocus: false,
2324
});
2425

2526
const {
@@ -30,6 +31,7 @@ export const AlertsPage = () => {
3031
} = useQuery({
3132
queryKey: ['cameras'],
3233
queryFn: getCameraList,
34+
refetchOnWindowFocus: false,
3335
});
3436

3537
const alerts: AlertType[] = useMemo(

src/services/alerts.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { AxiosResponse } from 'axios';
22
import * as z from 'zod/v4';
33

4+
import { convertStrToEpoch } from '../utils/dates';
45
import { instance } from './axios';
56

67
const apiSequenceResponseSchema = z.object({
@@ -57,6 +58,13 @@ export const getDetectionsBySequence = async (
5758
.then((response: AxiosResponse) => {
5859
try {
5960
const result = apiDetectionListResponseSchema.safeParse(response.data);
61+
if (result.data) {
62+
result.data.sort(
63+
(d1, d2) =>
64+
convertStrToEpoch(d1.created_at) -
65+
convertStrToEpoch(d2.created_at)
66+
);
67+
}
6068
return result.data ?? [];
6169
} catch {
6270
throw new Error('INVALID_API_RESPONSE');

0 commit comments

Comments
 (0)