21 lines
579 B
TypeScript
21 lines
579 B
TypeScript
// src/hooks/useCrmProjects.ts
|
|
import { useEffect, useState } from "react";
|
|
import { crmapi } from "../utils/api";
|
|
import { CrmProject } from "@/types/crm";
|
|
|
|
export function useCrmProjects() {
|
|
const [data, setData] = useState<CrmProject[]>([]);
|
|
const [loading, setLoading] = useState(true);
|
|
const [error, setError] = useState<unknown>(null);
|
|
|
|
useEffect(() => {
|
|
setLoading(true);
|
|
crmapi.getProjects()
|
|
.then(res => setData(res.data?.data ?? []))
|
|
.catch(setError)
|
|
.finally(() => setLoading(false));
|
|
}, []);
|
|
|
|
return { data, loading, error };
|
|
}
|