import { useEffect, useState } from 'react' import { useRecoilValue, useSetRecoilState } from 'recoil' import { moduleSelectionDataState, selectedModuleState } from '@/store/selectedModuleOptions' import { useMasterController } from '@/hooks/common/useMasterController' import { canvasSettingState, canvasState, currentCanvasPlanState, moduleSetupSurfaceState } from '@/store/canvasAtom' import { POLYGON_TYPE, BATCH_TYPE } from '@/common/common' import { useRoofFn } from '@/hooks/common/useRoofFn' import { roofDisplaySelector } from '@/store/settingAtom' import offsetPolygon from '@/util/qpolygon-utils' import { v4 as uuidv4 } from 'uuid' import { QPolygon } from '@/components/fabric/QPolygon' import { useEvent } from '@/hooks/useEvent' import { useSwal } from '@/hooks/useSwal' import { useMessage } from '@/hooks/useMessage' export function useModulePlace() { const canvas = useRecoilValue(canvasState) const moduleSelectionData = useRecoilValue(moduleSelectionDataState) const [trestleDetailParams, setTrestleDetailParams] = useState([]) const [trestleDetailList, setTrestleDetailList] = useState([]) const selectedModules = useRecoilValue(selectedModuleState) const { getTrestleDetailList } = useMasterController() const canvasSetting = useRecoilValue(canvasSettingState) const { setSurfaceShapePattern } = useRoofFn() const roofDisplay = useRecoilValue(roofDisplaySelector) const { addTargetMouseEventListener } = useEvent() const setModuleSetupSurface = useSetRecoilState(moduleSetupSurfaceState) const [saleStoreNorthFlg, setSaleStoreNorthFlg] = useState(false) const { swalFire } = useSwal() const { getMessage } = useMessage() return { selectedModules, } }