diff --git a/src/components/wired/views/WiredBaseView.tsx b/src/components/wired/views/WiredBaseView.tsx index 6227c669..1128f19e 100644 --- a/src/components/wired/views/WiredBaseView.tsx +++ b/src/components/wired/views/WiredBaseView.tsx @@ -19,7 +19,7 @@ export const WiredBaseView: FC> = props => const [ wiredName, setWiredName ] = useState(null); const [ wiredDescription, setWiredDescription ] = useState(null); const [ needsSave, setNeedsSave ] = useState(false); - const { trigger = null, setTrigger = null, setIntParams = null, setStringParam = null, setFurniIds = null, saveWired = null } = useWired(); + const { trigger = null, setTrigger = null, setIntParams = null, setStringParam = null, setFurniIds = null, setAllowsFurni = null, saveWired = null } = useWired(); const onClose = () => setTrigger(null); @@ -83,6 +83,11 @@ export const WiredBaseView: FC> = props => } }, [ trigger, hasSpecialInput, requiresFurni, setIntParams, setStringParam, setFurniIds ]); + useEffect(() => + { + setAllowsFurni(requiresFurni); + }, [ requiresFurni, setAllowsFurni ]); + return ( diff --git a/src/components/wired/views/WiredFurniSelectorView.tsx b/src/components/wired/views/WiredFurniSelectorView.tsx index b08a569b..9b38f972 100644 --- a/src/components/wired/views/WiredFurniSelectorView.tsx +++ b/src/components/wired/views/WiredFurniSelectorView.tsx @@ -1,21 +1,11 @@ -import { FC, useEffect } from 'react'; +import { FC } from 'react'; import { LocalizeText } from '../../../api'; import { Column, Text } from '../../../common'; import { useWired } from '../../../hooks'; export const WiredFurniSelectorView: FC<{}> = props => { - const { trigger = null, furniIds = [], setAllowsFurni = null } = useWired(); - - useEffect(() => - { - setAllowsFurni(true); - - return () => - { - setAllowsFurni(false); - } - }, [ setAllowsFurni ]); + const { trigger = null, furniIds = [] } = useWired(); return ( diff --git a/src/hooks/wired/useWired.ts b/src/hooks/wired/useWired.ts index 7b9de9a2..c4628f45 100644 --- a/src/hooks/wired/useWired.ts +++ b/src/hooks/wired/useWired.ts @@ -1,7 +1,7 @@ import { ConditionDefinition, Triggerable, TriggerDefinition, UpdateActionMessageComposer, UpdateConditionMessageComposer, UpdateTriggerMessageComposer, WiredActionDefinition, WiredFurniActionEvent, WiredFurniConditionEvent, WiredFurniTriggerEvent, WiredSaveSuccessEvent } from '@nitrots/nitro-renderer'; import { useEffect, useState } from 'react'; import { useBetween } from 'use-between'; -import { IsOwnerOfFloorFurniture, LocalizeText, SendMessageComposer, WiredSelectionVisualizer } from '../../api'; +import { IsOwnerOfFloorFurniture, LocalizeText, SendMessageComposer, WiredFurniType, WiredSelectionVisualizer } from '../../api'; import { useMessageEvent } from '../events'; import { useNotification } from '../notification'; @@ -12,7 +12,7 @@ const useWiredState = () => const [ stringParam, setStringParam ] = useState(''); const [ furniIds, setFurniIds ] = useState([]); const [ actionDelay, setActionDelay ] = useState(0); - const [ allowsFurni, setAllowsFurni ] = useState(false); + const [ allowsFurni, setAllowsFurni ] = useState(WiredFurniType.STUFF_SELECTION_OPTION_NONE); const { showConfirm = null } = useNotification(); const saveWired = () => @@ -123,6 +123,7 @@ const useWiredState = () => return []; }); + setAllowsFurni(WiredFurniType.STUFF_SELECTION_OPTION_NONE); } }, [ trigger ]);