import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Slider, Text } from '../../../../common'; import { useWired } from '../../../../hooks'; import { WiredActionBaseView } from './WiredActionBaseView'; import { WiredSourcesSelector } from '../WiredSourcesSelector'; const directionOptions: { value: number, icon: string }[] = [ { value: 0, icon: 'ne' }, { value: 2, icon: 'se' }, { value: 4, icon: 'sw' }, { value: 6, icon: 'nw' } ]; export const WiredActionMoveFurniToView: FC<{}> = props => { const [ spacing, setSpacing ] = useState(-1); const [ movement, setMovement ] = useState(-1); const { trigger = null, setIntParams = null } = useWired(); const [ furniSource, setFurniSource ] = useState(() => { if(trigger?.intData?.length > 2) return trigger.intData[2]; return (trigger?.selectedItems?.length ?? 0) > 0 ? 100 : 0; }); const save = () => setIntParams([ movement, spacing, furniSource ]); useEffect(() => { if(trigger.intData.length >= 2) { setSpacing(trigger.intData[1]); setMovement(trigger.intData[0]); } else { setSpacing(-1); setMovement(-1); } if(trigger.intData.length > 2) setFurniSource(trigger.intData[2]); else setFurniSource((trigger.selectedItems?.length ?? 0) > 0 ? 100 : 0); }, [ trigger ]); const onChangeFurniSource = (next: number) => setFurniSource(next); const requiresFurni = WiredFurniType.STUFF_SELECTION_OPTION_BY_ID_OR_BY_TYPE; return ( }>
{ LocalizeText('wiredfurni.params.emptytiles', [ 'tiles' ], [ spacing.toString() ]) } setSpacing(event) } />
{ LocalizeText('wiredfurni.params.startdir') }
{ directionOptions.map(value => { return (
setMovement(value.value) } />
); }) }
); };