Files
create-farcaster-mini-app/src/hooks/useNeynarUser.ts
Shreyaschorge 0d43b35c28 Revert "Merge pull request #15 from neynarxyz/shreyas-formatting"
This reverts commit b1fdfc19a9, reversing
changes made to b9e2087bd8.
2025-07-16 17:21:12 +05:30

38 lines
1013 B
TypeScript

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 };
}