import { Flex } from '@chakra-ui/react'; import { RootState } from '../../app/store'; import { useAppDispatch, useAppSelector } from '../../app/hooks'; import { setHeight, setWidth, setSeamless, SDState } from '../sd/sdSlice'; import SDSelect from '../../components/SDSelect'; import { HEIGHTS, WIDTHS } from '../../app/constants'; import SDSwitch from '../../components/SDSwitch'; import { createSelector } from '@reduxjs/toolkit'; import { isEqual } from 'lodash'; const sdSelector = createSelector( (state: RootState) => state.sd, (sd: SDState) => { return { height: sd.height, width: sd.width, seamless: sd.seamless, }; }, { memoizeOptions: { resultEqualityCheck: isEqual, }, } ); const OutputOptions = () => { const { height, width, seamless } = useAppSelector(sdSelector); const dispatch = useAppDispatch(); return ( dispatch(setWidth(Number(e.target.value)))} validValues={WIDTHS} /> dispatch(setHeight(Number(e.target.value))) } validValues={HEIGHTS} /> dispatch(setSeamless(e.target.checked))} /> ); }; export default OutputOptions;