Files

53 lines
1.7 KiB
TypeScript

// ---------------------------------------------------------------------------------------------------------------------
//! Imports
// ---------------------------------------------------------------------------------------------------------------------
// -------------------------------------------------- React & Next -----------------------------------------------------
import { useEffect, useState } from 'react';
// ---------------------------------------------------------------------------------------------------------------------
// -------------------------------------------------- Hooks & Utils ----------------------------------------------------
import { getDataset } from '@/app/request';
// ---------------------------------------------------------------------------------------------------------------------
export const useData = () => {
const [isLoading, setIsLoading] = useState(true);
const [dataset, setDataset] = useState([]);
const [loveToDelete, setLoveToDelete] = useState<string | null>(null);
const [deleteMessage, setDeleteMessage] = useState<string | null>(null);
useEffect(() => {
(async () => {
setIsLoading(true);
await refreshDataset();
setIsLoading(false);
})();
}, []);
const refreshDataset = async () => {
const data = await getDataset();
const formattedDataset = data.map((d) => {
const formattedDate = new Date(d.createdat).toLocaleString('fr-FR');
return {
...d,
createdat: formattedDate,
};
});
setDataset(formattedDataset);
};
return {
isLoading,
setIsLoading,
dataset,
loveToDelete,
setLoveToDelete,
deleteMessage,
setDeleteMessage,
refreshDataset,
};
};