import React, { useEffect, useState } from 'react'; import { useStore } from '../stores/store'; import { api } from '../stores/api'; export default function JournalActions() { const { setPage } = useStore(); const [actions, setActions] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); useEffect(() => { api.get('/journal/actions?limite=100') .then(setActions) .catch((e) => setError(e.message)) .finally(() => setLoading(false)); }, []); const formatDate = (value) => new Date(value).toLocaleString('fr-CA', { dateStyle: 'medium', timeStyle: 'short', }); return (

Journal

Changements enregistrés

{loading &&

Chargement...

} {error &&
{error}
} {!loading && actions.length === 0 && (

Aucun changement journalisé.

)} {actions.map((action) => (

{action.methode} {action.chemin}

{formatDate(action.cree_le)}

{action.statut_http}

Membre: {action.membre_id}

{action.admin_id &&

Admin: {action.admin_id}

} {action.adresse_ip &&

IP: {action.adresse_ip}

} {action.details?.impersonification && (

Action faite en impersonification

)}
))}
); }