UNPKG

bigblocks

Version:

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

15 lines 2.45 kB
{ "name": "social-hooks-usesocial", "type": "registry:hook", "dependencies": [], "devDependencies": [], "registryDependencies": [], "files": [ { "path": "components/social/hooks/useSocial.ts", "type": "registry:hook", "content": "import { useFollowUser } from \"./useFollowUser.js\";\nimport { useFriendRequests } from \"./useFriendRequests.js\";\nimport { useFriends } from \"./useFriends.js\";\nimport { useLikePost } from \"./useLikePost.js\";\n// Combined Social Hook - Combines post, follow, like, and friend operations\nimport { useSocialPost } from \"./useSocialPost.js\";\n\nexport function useSocial() {\n\tconst post = useSocialPost();\n\tconst follow = useFollowUser();\n\tconst like = useLikePost();\n\tconst friends = useFriends();\n\tconst friendRequests = useFriendRequests();\n\n\treturn {\n\t\t// Post operations\n\t\tcreatePost: post.mutate,\n\t\tcreatePostAsync: post.mutateAsync,\n\n\t\t// Follow operations\n\t\tfollowUser: follow.mutate,\n\t\tfollowUserAsync: follow.mutateAsync,\n\t\tunfollowUser: follow.mutate,\n\t\tunfollowUserAsync: follow.mutateAsync,\n\n\t\t// Like operations\n\t\tlikePost: like.mutate,\n\t\tlikePostAsync: like.mutateAsync,\n\t\tunlikePost: like.mutate,\n\t\tunlikePostAsync: like.mutateAsync,\n\n\t\t// Friend operations\n\t\tacceptFriendRequest: friendRequests.acceptRequest,\n\t\tdeclineFriendRequest: friendRequests.rejectRequest,\n\n\t\t// Combined state\n\t\tisLoading:\n\t\t\tpost.isLoading ||\n\t\t\tfollow.isLoading ||\n\t\t\tlike.isLoading ||\n\t\t\tfriends.isLoading ||\n\t\t\tfriendRequests.isLoading,\n\t\tisError:\n\t\t\tpost.isError ||\n\t\t\tfollow.isError ||\n\t\t\tlike.isError ||\n\t\t\t!!friends.error ||\n\t\t\t!!friendRequests.error,\n\t\tisSuccess: post.isSuccess || follow.isSuccess || like.isSuccess,\n\t\thasError:\n\t\t\tpost.isError ||\n\t\t\tfollow.isError ||\n\t\t\tlike.isError ||\n\t\t\t!!friends.error ||\n\t\t\t!!friendRequests.error,\n\t\terror:\n\t\t\tpost.error ||\n\t\t\tfollow.error ||\n\t\t\tlike.error ||\n\t\t\tfriends.error ||\n\t\t\tfriendRequests.error,\n\n\t\t// Data\n\t\tfriends: friends.friends || [],\n\t\tfriendRequests: friendRequests.requests || [],\n\n\t\t// Combined reset\n\t\treset: () => {\n\t\t\tpost.reset();\n\t\t\tfollow.reset();\n\t\t\tlike.reset();\n\t\t\t// friends and friendRequests don't have reset methods\n\t\t},\n\t};\n}\n", "target": "<%- config.aliases.hooks %>/usesocial.ts" } ] }