UNPKG

@replyke/core

Version:

Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.

35 lines (34 loc) 1.36 kB
import { UpdateSpaceProps } from "./useUpdateSpace"; import { SpaceDetailed, SpaceIncludeParam, SpacePreview } from "../../interfaces/models/Space"; import { SpaceMemberStatus } from "../../interfaces/models/SpaceMember"; export interface UseSpaceDataProps { space?: SpaceDetailed; spaceId?: string | undefined | null; shortId?: string | undefined | null; slug?: string | undefined | null; include?: SpaceIncludeParam; } export interface UseSpaceDataValues { space: SpaceDetailed | null | undefined; setSpace: React.Dispatch<React.SetStateAction<SpaceDetailed | null | undefined>>; isMember: boolean; isAdmin: boolean; isModerator: boolean; canPost: boolean; canModerate: boolean; canRead: boolean; membershipStatus: SpaceMemberStatus | null; isPending: boolean; isBanned: boolean; breadcrumb: SpacePreview[]; parentSpace: SpacePreview | null; childSpaces: SpacePreview[]; updateSpace(props: Pick<UpdateSpaceProps, "update">): Promise<SpaceDetailed | undefined>; deleteSpace: () => Promise<void>; joinSpace: () => Promise<void>; leaveSpace: () => Promise<void>; loading: boolean; error: string | null; } declare function useSpaceData({ spaceId, shortId, slug, space: spaceProp, include, }: UseSpaceDataProps): UseSpaceDataValues; export default useSpaceData;