20 lines
560 B
TypeScript
20 lines
560 B
TypeScript
import {Stat, User} from "@/interfaces/user";
|
|
import axios from "axios";
|
|
import {useEffect, useState} from "react";
|
|
|
|
export default function useStats(id?: string) {
|
|
const [stats, setStats] = useState<Stat[]>([]);
|
|
const [isLoading, setIsLoading] = useState(false);
|
|
const [isError, setIsError] = useState(false);
|
|
|
|
useEffect(() => {
|
|
setIsLoading(true);
|
|
axios
|
|
.get<Stat[]>(!id ? "/api/stats" : `/api/stats/${id}`)
|
|
.then((response) => setStats(response.data))
|
|
.finally(() => setIsLoading(false));
|
|
}, [id]);
|
|
|
|
return {stats, isLoading, isError};
|
|
}
|