import { useEffect, useState } from 'react'; import { getRegisteredPostSubmissionAction } from '../registry/registry'; import { type PostSubmissionAction } from '../types'; export interface PostSubmissionActionMeta { postAction: PostSubmissionAction; actionId: string; config: Record; enabled?: string; } export function usePostSubmissionActions( actionRefs: Array<{ actionId: string; enabled?: string; config?: Record }>, ): Array { const [actions, setActions] = useState>([]); useEffect(() => { const actionArray: Array = []; if (actionRefs?.length) { actionRefs.map((ref) => { const actionId = typeof ref === 'string' ? ref : ref.actionId; getRegisteredPostSubmissionAction(actionId)?.then((action) => actionArray.push({ postAction: action, config: ref.config, actionId: actionId, enabled: ref.enabled }), ); }); } setActions(actionArray); }, [actionRefs]); return actions; }