Statistics page fetch data

This commit is contained in:
2024-09-28 17:12:57 +02:00
parent ce5019ca38
commit 42d3212624
2 changed files with 42 additions and 6 deletions
+30 -4
View File
@@ -1,10 +1,36 @@
import { useState } from 'react'; import { useEffect, useState } from 'react';
export const useData = () => { export const useData = () => {
const [settingsOpened, setSettingsOpened] = useState(false); const [userData, setUserData] = useState(null);
useEffect(() => {
(async () => {
const token = localStorage.getItem('token');
const request = await fetch(
'https://lovemap-backend.vercel.app/user',
{
method: 'GET',
headers: {
Authorization: token,
},
}
);
const response = await request.json();
const formattedResponse = {
...response.user,
createdat: new Date(response.user.createdat).toLocaleDateString(
'fr-FR'
),
};
setUserData(formattedResponse);
})();
}, []);
return { return {
settingsOpened, userData,
setSettingsOpened,
}; };
}; };
+12 -2
View File
@@ -9,18 +9,28 @@ import Link from 'next/link';
import SlotCounter from 'react-slot-counter'; import SlotCounter from 'react-slot-counter';
// --------------------------------------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------------------------------------
// -------------------------------------------------- Hooks & Utils ----------------------------------------------------
import { useData } from './hooks/useData';
// ---------------------------------------------------------------------------------------------------------------------
// ------------------------------------------------- Assets & Styles --------------------------------------------------- // ------------------------------------------------- Assets & Styles ---------------------------------------------------
import SettingsIcon from '@/assets/SettingsIcon'; import SettingsIcon from '@/assets/SettingsIcon';
import './styles.scss'; import './styles.scss';
// --------------------------------------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------------------------------------
const Statistics = () => { const Statistics = () => {
const { userData } = useData();
if (!userData) {
return;
}
return ( return (
<div className='accountContainer'> <div className='accountContainer'>
<div className='header'> <div className='header'>
<div className='infosContainer'> <div className='infosContainer'>
<p className='username'>Un Épicier</p> <p className='username'>{userData.username}</p>
<p className='sinceDate'>Créé le: 02/09/2024</p> <p className='sinceDate'>Créé le: {userData.createdat}</p>
</div> </div>
<Link <Link