refactor: restructure for better ai comprehension

This commit is contained in:
veganbeef
2025-07-01 09:38:59 -07:00
parent 3a9f2cf8b8
commit bef42eddd4
24 changed files with 1636 additions and 793 deletions

View File

@@ -0,0 +1,38 @@
import { useEffect, useState } from "react";
export interface NeynarUser {
fid: number;
score: number;
}
export function useNeynarUser(context?: { user?: { fid?: number } }) {
const [user, setUser] = useState<NeynarUser | null>(null);
const [loading, setLoading] = useState(false);
const [error, setError] = useState<string | null>(null);
useEffect(() => {
if (!context?.user?.fid) {
setUser(null);
setError(null);
return;
}
setLoading(true);
setError(null);
fetch(`/api/users?fids=${context.user.fid}`)
.then((response) => {
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
return response.json();
})
.then((data) => {
if (data.users?.[0]) {
setUser(data.users[0]);
} else {
setUser(null);
}
})
.catch((err) => setError(err.message))
.finally(() => setLoading(false));
}, [context?.user?.fid]);
return { user, loading, error };
}