moonyeju 2023-11-14
[CHORE] modal 수정
@dc82cb0b77d05f358503893a03b70676b507a1bc
src/component/ModalComponent.js
--- src/component/ModalComponent.js
+++ src/component/ModalComponent.js
@@ -1,7 +1,7 @@
 import React, {useEffect} from 'react';
 import {View, Text} from 'react-native';
 import Modal from 'react-native-modal';
-import {BLACK, RED} from '../color';
+import {BLACK, RED, WHITE} from '../color';
 
 const ModalComponent = ({isVisible, toggleModal, alertTitle, alertMessage}) => {
   useEffect(() => {
@@ -31,7 +31,7 @@
       backdropOpacity={0}>
       <View
         style={{
-          backgroundColor: 'white',
+          backgroundColor: WHITE,
           padding: 22,
           borderRadius: 10,
           alignItems: 'center',
src/component/Photo.js
--- src/component/Photo.js
+++ src/component/Photo.js
@@ -1,8 +1,15 @@
-import React, {useRef, useEffect, useCallback, useContext} from 'react';
+import React, {
+  useRef,
+  useEffect,
+  useCallback,
+  useContext,
+  useState,
+} from 'react';
 import {Linking, Text, Alert} from 'react-native';
 import {useCameraDevices, Camera} from 'react-native-vision-camera';
 import RNFS from 'react-native-fs';
 import {url} from '../url';
+import ModalComponent from './ModalComponent';
 
 export default function Photo({onUploadFile}) {
   const {onQuery, location} = useContext(MapContext);
@@ -11,6 +18,11 @@
   const device = devices.back;
   const camera = useRef(null);
   let timerId;
+  const [isModalVisible, setModalVisible] = useState(false);
+
+  const toggleModal = () => {
+    setModalVisible(!isModalVisible);
+  };
 
   const requestCameraPermission = useCallback(async () => {
     const permission = await Camera.requestCameraPermission();
@@ -85,7 +97,7 @@
           throw 'no data';
         }
         onUploadFile(node);
-        Alert.alert('안개 발생 알람', '전방에 안개가 발생하였습니다.');
+        toggleModal();
 
         // 분석 결과 node remove 요청
         return fetch(`${url}/trip/remove`, {
@@ -110,4 +122,12 @@
         console.log(err);
       });
   };
+  return (
+    <ModalComponent
+      isVisible={isModalVisible}
+      toggleModal={toggleModal}
+      alertTitle="안개 발생 알람"
+      alertMessage="전방에 안개가 발생하였습니다."
+    />
+  );
 }
src/screens/DestinationList.js
--- src/screens/DestinationList.js
+++ src/screens/DestinationList.js
@@ -11,7 +11,7 @@
 import {MapContext} from './../context/MapContext';
 import {Polyline, Marker} from 'react-native-maps';
 import EndPointMarker from '../resoureces/files/images/end_point.png';
-import {PRIMERY} from '../color';
+import {PRIMERY, WHITE} from '../color';
 
 export default function DestinationList({navigation}) {
   const {searchQuery, nodes} = useContext(MapContext);
@@ -45,7 +45,7 @@
           <Button
             title={'운행 시작'}
             padding={10}
-            color={'white'}
+            color={WHITE}
             backgroundColor={PRIMERY}
             onPress={() => {
               navigation.navigate('Driving');
@@ -60,6 +60,6 @@
 const styles = StyleSheet.create({
   container: {
     flex: 1,
-    backgroundColor: 'white',
+    backgroundColor: WHITE,
   },
 });
Add a comment
List