import { WiredActionDefinition } from '@nitrots/nitro-renderer'; import { CSSProperties, FC, PropsWithChildren, ReactNode, useEffect } from 'react'; import { WiredFurniType } from '../../../../api'; import { useWired } from '../../../../hooks'; import { WiredBaseView } from '../WiredBaseView'; export interface WiredExtraBaseViewProps { hasSpecialInput: boolean; requiresFurni: number; save: () => void; validate?: () => boolean; cardStyle?: CSSProperties; footer?: ReactNode; } export const WiredExtraBaseView: FC> = props => { const { requiresFurni = WiredFurniType.STUFF_SELECTION_OPTION_NONE, save = null, validate = null, hasSpecialInput = false, children = null, cardStyle = undefined, footer = null } = props; const { trigger = null, setActionDelay = null } = useWired(); useEffect(() => { setActionDelay((trigger as WiredActionDefinition)?.delayInPulses ?? 0); }, [ trigger, setActionDelay ]); return ( { children } ); };