Browse Source

날씨 정보 추가 및 laanc 스텝 3 완료 페이지

pull/2/head
sanguu516(박상현) 1 year ago
parent
commit
9afa7ca3d2
  1. 31
      src/views/laanc/FlightArea.js
  2. 15
      src/views/laanc/LaacnStep3.js

31
src/views/laanc/FlightArea.js

@ -28,6 +28,7 @@ import geoJson from '../../components/map/geojson/airArea.json';
import axios from '../../modules/utils/customAxiosUtil'; import axios from '../../modules/utils/customAxiosUtil';
import { ErrorModal } from '../../components/modal/ErrorModal'; import { ErrorModal } from '../../components/modal/ErrorModal';
import { FeatureAirZone } from '../../components/map/mapbox/feature/FeatureAirZone'; import { FeatureAirZone } from '../../components/map/mapbox/feature/FeatureAirZone';
import { WeatherContainer } from '../../containers/basis/flight/plan/WeatherContainer';
export default function FlightArea({ centeredModal, setCenteredModal, page }) { export default function FlightArea({ centeredModal, setCenteredModal, page }) {
const dispatch = useDispatch(); const dispatch = useDispatch();
@ -38,12 +39,14 @@ export default function FlightArea({ centeredModal, setCenteredModal, page }) {
const [mapObject, setMapObject] = useState(); const [mapObject, setMapObject] = useState();
const [isMapLoad, setIsMapLoad] = useState(false); const [isMapLoad, setIsMapLoad] = useState(false);
const [previewLayer, setPreviewLayer] = useState(); const [previewLayer, setPreviewLayer] = useState();
const [formModal, setFormModal] = useState(false);
const [alertModal, setAlertModal] = useState({ const [alertModal, setAlertModal] = useState({
isOpen: false, isOpen: false,
title: '', title: '',
desc: '' desc: ''
}); });
//날씨 임시 데이터
const [wheather, setWheather] = useState([]);
const previewGeo = { const previewGeo = {
type: 'FeatureCollection', type: 'FeatureCollection',
@ -60,6 +63,7 @@ export default function FlightArea({ centeredModal, setCenteredModal, page }) {
if (area.areaType && area.areaType !== '') { if (area.areaType && area.areaType !== '') {
if (!centeredModal && previewLayer) handlerPreviewDraw(); if (!centeredModal && previewLayer) handlerPreviewDraw();
} }
setWheather(areaCoordList);
} }
}, [areaCoordList, centeredModal, previewLayer]); }, [areaCoordList, centeredModal, previewLayer]);
@ -168,6 +172,11 @@ export default function FlightArea({ centeredModal, setCenteredModal, page }) {
} }
}; };
// 날씨 handler
const handlerWeather = () => {
setFormModal(!formModal);
};
const handlerMapInit = () => { const handlerMapInit = () => {
mapboxgl.accessToken = MAPBOX_TOKEN; mapboxgl.accessToken = MAPBOX_TOKEN;
@ -371,6 +380,11 @@ export default function FlightArea({ centeredModal, setCenteredModal, page }) {
> >
초기화 초기화
</Button> </Button>
{wheather[0]?.coordList[0].lat != 0 ? (
<Button color='primary' onClick={handlerWeather}>
날씨 정보
</Button>
) : null}
</div> </div>
<div> <div>
<Button <Button
@ -388,6 +402,21 @@ export default function FlightArea({ centeredModal, setCenteredModal, page }) {
</Modal> </Modal>
) : null} ) : null}
<ErrorModal modal={alertModal} setModal={setAlertModal} /> <ErrorModal modal={alertModal} setModal={setAlertModal} />
<Modal
isOpen={formModal}
toggle={handlerWeather}
className='modal-dialog-centered'
>
<ModalHeader toggle={handlerWeather}>날씨 정보</ModalHeader>
<ModalBody>
<WeatherContainer mapAreaCoordList={wheather} />
</ModalBody>
<ModalFooter>
<Button color='primary' onClick={handlerWeather}>
확인
</Button>
</ModalFooter>
</Modal>
</div> </div>
); );
} }

15
src/views/laanc/LaacnStep3.js

@ -16,14 +16,14 @@ import {
Badge Badge
} from 'reactstrap'; } from 'reactstrap';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import { AlertCircle } from 'react-feather'; import { AlertCircle, CheckCircle } from 'react-feather';
export default function LaacnStep3({ export default function LaacnStep3({
handlerStep, handlerStep,
disabledAnimation, disabledAnimation,
data, data,
setDisabledAnimation setDisabledAnimation
}) { }) {
const [centeredModal2, setCenteredModal2] = useState(false);
const { user } = useSelector(state => state.authState); const { user } = useSelector(state => state.authState);
return ( return (
<> <>
@ -219,9 +219,10 @@ export default function LaacnStep3({
</li> </li>
</ul> </ul>
{/* outline onClick={() => setCenteredModal2(!centeredModal2)} */} {/* outline onClick={() => setCenteredModal2(!centeredModal2)} */}
<Button outline>다음</Button> <Button outline onClick={() => setCenteredModal2(!centeredModal2)}>
다음
{/* <Modal </Button>
<Modal
isOpen={centeredModal2} isOpen={centeredModal2}
toggle={() => setCenteredModal2(!centeredModal2)} toggle={() => setCenteredModal2(!centeredModal2)}
className='modal-dialog-centered document-pop' className='modal-dialog-centered document-pop'
@ -241,12 +242,12 @@ export default function LaacnStep3({
<ModalFooter> <ModalFooter>
<Button <Button
color='success' color='success'
onClick={() => setCenteredModal2(!centeredModal2)} onClick={() => setDisabledAnimation(!disabledAnimation)}
> >
완료 완료
</Button>{' '} </Button>{' '}
</ModalFooter> </ModalFooter>
</Modal> */} </Modal>
</ModalFooter> </ModalFooter>
</> </>
); );

Loading…
Cancel
Save