import { createContext, useContext } from 'react'; import type { Did } from '../api/types'; export interface MuteBlockContextValue { mutedDids: Set; blockedDids: Set; blockedByDids: Set; loaded: boolean; ignoreBlocks: boolean; isMuted: (did: Did) => boolean; isBlocked: (did: Did) => boolean; isBlockedBy: (did: Did) => boolean; addBlockedBy: (did: Did) => void; muteActor: (did: Did) => Promise; unmuteActor: (did: Did) => Promise; blockActor: (did: Did) => Promise; unblockActor: (blockUri: string, did: Did) => Promise; reload: () => Promise; } export const MuteBlockContext = createContext({ mutedDids: new Set(), blockedDids: new Set(), blockedByDids: new Set(), loaded: false, ignoreBlocks: false, isMuted: () => false, isBlocked: () => false, isBlockedBy: () => false, addBlockedBy: () => {}, muteActor: async () => {}, unmuteActor: async () => {}, blockActor: async () => '', unblockActor: async () => {}, reload: async () => {}, }); export function useMuteBlock() { return useContext(MuteBlockContext); }