UNPKG

bigblocks

Version:

Complete Bitcoin UI component library - authentication, social, wallet, market, inscriptions, and blockchain interactions for React

64 lines (63 loc) 2.24 kB
import { useFollowUser } from "./useFollowUser.js"; import { useFriendRequests } from "./useFriendRequests.js"; import { useFriends } from "./useFriends.js"; import { useLikePost } from "./useLikePost.js"; // Combined Social Hook - Combines post, follow, like, and friend operations import { useSocialPost } from "./useSocialPost.js"; export function useSocial() { const post = useSocialPost(); const follow = useFollowUser(); const like = useLikePost(); const friends = useFriends(); const friendRequests = useFriendRequests(); return { // Post operations createPost: post.mutate, createPostAsync: post.mutateAsync, // Follow operations followUser: follow.mutate, followUserAsync: follow.mutateAsync, unfollowUser: follow.mutate, unfollowUserAsync: follow.mutateAsync, // Like operations likePost: like.mutate, likePostAsync: like.mutateAsync, unlikePost: like.mutate, unlikePostAsync: like.mutateAsync, // Friend operations acceptFriendRequest: friendRequests.acceptRequest, declineFriendRequest: friendRequests.rejectRequest, // Combined state isLoading: post.isLoading || follow.isLoading || like.isLoading || friends.isLoading || friendRequests.isLoading, isError: post.isError || follow.isError || like.isError || !!friends.error || !!friendRequests.error, isSuccess: post.isSuccess || follow.isSuccess || like.isSuccess, hasError: post.isError || follow.isError || like.isError || !!friends.error || !!friendRequests.error, error: post.error || follow.error || like.error || friends.error || friendRequests.error, // Data friends: friends.friends || [], friendRequests: friendRequests.requests || [], // Combined reset reset: () => { post.reset(); follow.reset(); like.reset(); // friends and friendRequests don't have reset methods }, }; }