MCPcopy
hub / github.com/AsyncFuncAI/deepwiki-open / useProcessedProjects

Function useProcessedProjects

src/hooks/useProcessedProjects.ts:13–46  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11}
12
13export function useProcessedProjects() {
14 const [projects, setProjects] = useState<ProcessedProject[]>([]);
15 const [isLoading, setIsLoading] = useState(true);
16 const [error, setError] = useState<string | null>(null);
17
18 useEffect(() => {
19 const fetchProjects = async () => {
20 setIsLoading(true);
21 setError(null);
22 try {
23 const response = await fetch('/api/wiki/projects');
24 if (!response.ok) {
25 throw new Error(`Failed to fetch projects: ${response.statusText}`);
26 }
27 const data = await response.json();
28 if (data.error) {
29 throw new Error(data.error);
30 }
31 setProjects(data as ProcessedProject[]);
32 } catch (e: unknown) {
33 console.error("Failed to load projects from API:", e);
34 const message = e instanceof Error ? e.message : "An unknown error occurred.";
35 setError(message);
36 setProjects([]);
37 } finally {
38 setIsLoading(false);
39 }
40 };
41
42 fetchProjects();
43 }, []);
44
45 return { projects, isLoading, error };
46}

Callers 1

HomeFunction · 0.90

Calls 1

fetchProjectsFunction · 0.70

Tested by

no test coverage detected