Files
mtdb_movie/common/resources/client/users/queries/use-followed-users.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

33 lines
834 B
TypeScript
Executable File

import {useQuery} from '@tanstack/react-query';
import {apiClient} from '@common/http/query-client';
import {BackendResponse} from '@common/http/backend-response/backend-response';
import {useAuth} from '@common/auth/use-auth';
import {User} from '@common/auth/user';
interface Response extends BackendResponse {
ids: number[];
}
export function useFollowedUsers() {
const {user} = useAuth();
return useQuery({
queryKey: ['users', 'followed', 'ids'],
queryFn: () => fetchIds(),
enabled: !!user,
});
}
export function useIsUserFollowing(user: User) {
const {data, isLoading} = useFollowedUsers();
return {
isLoading,
isFollowing: !!data?.ids.includes(user.id),
};
}
function fetchIds() {
return apiClient
.get<Response>(`users/me/followed-users/ids`)
.then(response => response.data);
}