diff --git a/src/features/admin/hooks/usePolicyReducer.ts b/src/features/admin/hooks/usePolicyReducer.ts index 23d4ecc32..1ab83654a 100644 --- a/src/features/admin/hooks/usePolicyReducer.ts +++ b/src/features/admin/hooks/usePolicyReducer.ts @@ -1,15 +1,8 @@ import { isEqual } from 'es-toolkit'; import { useReducer, useRef, useEffect, useMemo } from 'react'; -import { PolicyItem, PolicyParam, PolicySpecItem } from 'soapbox/utils/policies.ts'; +import { PolicyState, PolicySpecItem, PolicyParam, PolicyItem } from 'soapbox/utils/policies.ts'; -// Define the state type -export type PolicyState = { - policies: PolicySpecItem[]; - fields: Record; -}; - -// Define action types export type PolicyAction = | { type: 'ADD_POLICY'; policy: PolicySpecItem } | { type: 'REMOVE_POLICY'; name: string } @@ -96,7 +89,6 @@ export const createPolicyReducer = (allPolicies: PolicyItem[]) => (state: Policy } }; -// Custom hook to initialize the reducer export const usePolicyReducer = (allPolicies: PolicyItem[], initialPolicies: PolicySpecItem[], initialFields: Record) => { const policyReducer = useMemo(() => createPolicyReducer(allPolicies), [allPolicies]); const [state, dispatch] = useReducer(policyReducer, { policies: initialPolicies, fields: initialFields });