From 90fbe4d17bac810e6e88fa662a425605821df498 Mon Sep 17 00:00:00 2001 From: 11t518s <11t518s20161759@gmail.com> Date: Tue, 5 Apr 2022 02:06:45 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20QA=20checkList=20=EB=94=94=ED=8F=B4?= =?UTF-8?q?=ED=8A=B8=20=EC=82=AC=EC=A7=84,=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=EB=B0=8F=20=EB=B3=B5=EA=B5=AC=20=EB=A1=9C=EC=A7=81=20=EC=88=98?= =?UTF-8?q?=EC=A0=95,=20=EC=9E=90=EB=8F=99=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95=20#70?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Context/CheckListByServer.tsx | 20 +++++++++ .../images/checkList/checkLIstDefaultImg.png | Bin 0 -> 24333 bytes .../BottomSheetsOfDeletedCheckList.tsx | 2 +- .../CheckListComponent/ButtonOfGoToTrash.tsx | 6 +-- .../CheckListSummaryComponenet.tsx | 4 +- components/CheckListComponent/styles.tsx | 12 +++++- components/Home/CheckListHome.tsx | 5 ++- components/Home/PinnedCheckList.tsx | 11 ++--- components/Home/UnPinnedCheckList.tsx | 24 +++++++---- components/Home/styles.tsx | 13 +++++- components/camera/CameraAndGallery.tsx | 2 - .../BasicCheckList/BasiclCheckList.tsx | 9 +--- .../StackNavigationOfCheckList.tsx | 39 ++++-------------- .../BasicInfoOfBasicCheckList.tsx | 8 +++- screens/bottomTab/Home.tsx | 7 +++- 15 files changed, 97 insertions(+), 65 deletions(-) create mode 100644 assets/images/checkList/checkLIstDefaultImg.png diff --git a/Context/CheckListByServer.tsx b/Context/CheckListByServer.tsx index ae6acff..04d5569 100644 --- a/Context/CheckListByServer.tsx +++ b/Context/CheckListByServer.tsx @@ -1,5 +1,6 @@ import React, { createContext, Dispatch, SetStateAction, useState } from 'react'; import { choseCheckListByServerType, deletedCheckListByServerType } from '../types/checkListTypes'; +import axios from 'axios'; interface contextType { deletedCheckListByServer: deletedCheckListByServerType; @@ -8,6 +9,8 @@ interface contextType { setChoseCheckListByServer: Dispatch>; checkListId: number | false; setCheckListId: Dispatch>; + onChoseCheckListHandler: () => void; + onDeleteCheckListHandler: (data: deletedCheckListByServerType) => void; } export const checkListCtx = createContext(null); @@ -22,6 +25,21 @@ const CheckListStore: React.FC = (props) => { typeM: {}, }); const [checkListId, setCheckListId] = useState(false); + const onDeleteCheckListHandler = (data: deletedCheckListByServerType) => { + axios + .put(`/api/check-list/${checkListId}/common/question/status`, data) + .then(() => setDeletedCheckListByServer({ question: [] })); + }; + const onChoseCheckListHandler = () => { + axios.put(`/api/check-list/${checkListId}/common/question`, choseCheckListByServer).then(() => { + setChoseCheckListByServer({ + typeA: [], + typeB: [], + typeD: [], + typeM: {}, + }); + }); + }; return ( { setChoseCheckListByServer, checkListId, setCheckListId, + onChoseCheckListHandler, + onDeleteCheckListHandler, }} > {props.children} diff --git a/assets/images/checkList/checkLIstDefaultImg.png b/assets/images/checkList/checkLIstDefaultImg.png new file mode 100644 index 0000000000000000000000000000000000000000..b46c755ce66ab1a5e03aaef91e4ae42678af859d GIT binary patch literal 24333 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μ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 literal 0 HcmV?d00001 diff --git a/components/CheckListComponent/BottomSheetsOfDeletedCheckList.tsx b/components/CheckListComponent/BottomSheetsOfDeletedCheckList.tsx index b54c923..7de2fee 100644 --- a/components/CheckListComponent/BottomSheetsOfDeletedCheckList.tsx +++ b/components/CheckListComponent/BottomSheetsOfDeletedCheckList.tsx @@ -47,7 +47,7 @@ function BottomSheetsOfDeletedCheckList({ deletedCheckLists.filter((CheckLists: checkListTypes) => !CheckLists.visibility) ); setCheckLists([...checkLists.filter((item) => item.visibility), ...deletedCheckLists]); - checkListContext?.setDeletedCheckListByServer({ + checkListContext?.onDeleteCheckListHandler({ question: [ ...checkListContext?.deletedCheckListByServer.question, ...deletedCheckLists.map((item) => ({ questionId: item.questionId, visibility: true })), diff --git a/components/CheckListComponent/ButtonOfGoToTrash.tsx b/components/CheckListComponent/ButtonOfGoToTrash.tsx index 4f838fb..9601cee 100644 --- a/components/CheckListComponent/ButtonOfGoToTrash.tsx +++ b/components/CheckListComponent/ButtonOfGoToTrash.tsx @@ -36,18 +36,18 @@ function ButtonOfGoToTrash({ isEdit && deletedCheckLists && setTimeout(async () => { - await checkListContext?.setDeletedCheckListByServer({ + await checkListContext?.onDeleteCheckListHandler({ question: [ ...checkListContext?.deletedCheckListByServer.question, { questionId: checkList.questionId, visibility: false }, ], }); - await setCheckLists( + setCheckLists( checkLists.map((item) => item.questionId === checkList.questionId ? { ...item, visibility: false } : { ...item } ) ); - await setDeletedCheckLists([...deletedCheckLists, { ...checkList, visibility: false }]); + setDeletedCheckLists([...deletedCheckLists, { ...checkList, visibility: false }]); }, 500); }; diff --git a/components/CheckListComponent/CheckListSummaryComponenet.tsx b/components/CheckListComponent/CheckListSummaryComponenet.tsx index a1616c6..663c5a4 100644 --- a/components/CheckListComponent/CheckListSummaryComponenet.tsx +++ b/components/CheckListComponent/CheckListSummaryComponenet.tsx @@ -20,7 +20,7 @@ function CheckListSummaryComponenet({ checkListSummary }: IProps) { return ( <> - + diff --git a/components/CheckListComponent/styles.tsx b/components/CheckListComponent/styles.tsx index 79edc94..5921eb6 100644 --- a/components/CheckListComponent/styles.tsx +++ b/components/CheckListComponent/styles.tsx @@ -4,13 +4,23 @@ import { mainBlue, mainLightBlue, mainOrange } from '../../color'; const windowWidth = Dimensions.get('window').width; const styles = StyleSheet.create({ + summaryImageWrapper: { + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#CFCFCF', + width: windowWidth - 34, + height: 260, + borderRadius: 10, + marginTop: 15, + marginBottom: 15, + }, textWrap: { flexDirection: 'row', flexWrap: 'wrap', }, textWrapWrapper: { flexDirection: 'row', flexWrap: 'wrap' }, summaryPinImg: { position: 'absolute', zIndex: 1000, top: 30, right: 15 }, - summaryMainImg: { width: windowWidth - 34, height: 260, borderRadius: 10, marginTop: 15 }, + summaryMainImg: { marginBottom: 25 }, summaryContentImg: { marginRight: 5 }, distanceImg: { marginRight: 9 }, summaryRightContents: { flexDirection: 'row' }, diff --git a/components/Home/CheckListHome.tsx b/components/Home/CheckListHome.tsx index 3318d7c..1a124d5 100644 --- a/components/Home/CheckListHome.tsx +++ b/components/Home/CheckListHome.tsx @@ -24,8 +24,9 @@ function CheckListHome({ homeCheckList, refreshing, onRefresh }: IProps) { } > - πŸ“Œ κ³ μ •λœ 리슀트 - + {homeCheckList.some((item) => item.pinned) ? ( + πŸ“Œ κ³ μ •λœ 리슀트 + ) : null} {homeCheckList .filter((item) => item.pinned) diff --git a/components/Home/PinnedCheckList.tsx b/components/Home/PinnedCheckList.tsx index 78772eb..62e753a 100644 --- a/components/Home/PinnedCheckList.tsx +++ b/components/Home/PinnedCheckList.tsx @@ -33,11 +33,12 @@ function PinnedCheckList({ pinnedCheckList }: iProps) { resizeMode="cover" /> ) : ( - + + + )} diff --git a/components/Home/UnPinnedCheckList.tsx b/components/Home/UnPinnedCheckList.tsx index a247365..e354cd9 100644 --- a/components/Home/UnPinnedCheckList.tsx +++ b/components/Home/UnPinnedCheckList.tsx @@ -33,11 +33,13 @@ function UnPinnedCheckList({ unPinnedCheckList }: iProps) { resizeMode="cover" /> ) : ( - + + + )} @@ -66,10 +68,14 @@ function UnPinnedCheckList({ unPinnedCheckList }: iProps) { )} - - - {unPinnedCheckList.distance && unPinnedCheckList.distance} - + {unPinnedCheckList.distance && ( + <> + + + {unPinnedCheckList.distance} + + + )} diff --git a/components/Home/styles.tsx b/components/Home/styles.tsx index f0969f6..cf03fb1 100644 --- a/components/Home/styles.tsx +++ b/components/Home/styles.tsx @@ -2,6 +2,17 @@ import { Platform, StyleSheet } from 'react-native'; import { mainBlue, mainLightBlue } from '../../color'; const styles = StyleSheet.create({ + unpinnedDefaultImgWrapper: { backgroundColor: '#F1F1F6', borderRadius: 6 }, + pinnedDefaultImg: { width: 150, height: 100 }, + pinnedDefaultImgWrapper: { + justifyContent: 'center', + alignItems: 'center', + paddingBottom: 45, + backgroundColor: '#CFCFCF', + width: 240, + height: 180, + borderRadius: 10, + }, fullScreenWrapper: { flex: 1, backgroundColor: 'white' }, welcomeTitle: Platform.OS === 'ios' @@ -31,7 +42,7 @@ const styles = StyleSheet.create({ pinnedChecklistWrapper: { height: 260, marginLeft: 17 }, pinnedChecklistCard: { marginRight: 14 }, - pinnedChecklistImg: { width: 240, height: 180, borderRadius: 10 }, + pinnedChecklistImg: {}, pinnedChecklistSummaryCard: { width: 240, height: 110, diff --git a/components/camera/CameraAndGallery.tsx b/components/camera/CameraAndGallery.tsx index c50cbc3..490e7fa 100644 --- a/components/camera/CameraAndGallery.tsx +++ b/components/camera/CameraAndGallery.tsx @@ -26,11 +26,9 @@ function CameraAndGallery({ setOnModal, onModal }: IProps) { await axios .post(`/api/check-list/${checkListContext?.checkListId}/image`, imageData) .then((e) => { - console.log('t'); console.log(e); }) .catch((e) => { - console.log('c'); console.log(e); }); }; diff --git a/navigation/Main/StackNavigation/BasicCheckList/BasiclCheckList.tsx b/navigation/Main/StackNavigation/BasicCheckList/BasiclCheckList.tsx index 53acfdc..0ea7d43 100644 --- a/navigation/Main/StackNavigation/BasicCheckList/BasiclCheckList.tsx +++ b/navigation/Main/StackNavigation/BasicCheckList/BasiclCheckList.tsx @@ -14,13 +14,12 @@ const Tab = createMaterialTopTabNavigator(); interface IProps { setIsEdit: Dispatch>; isEdit: boolean; - onSubmitHandler: () => void; } -function BasicCheckList({ setIsEdit, isEdit, onSubmitHandler }: IProps) { +function BasicCheckList({ setIsEdit, isEdit }: IProps) { const [isBottomSheet, setIsBottomSheet] = useState(true); const [onModal, setOnModal] = useState(false); - const onEditHandler = () => { + const onEditHandler = async () => { setIsEdit(true); }; @@ -28,10 +27,6 @@ function BasicCheckList({ setIsEdit, isEdit, onSubmitHandler }: IProps) { setOnModal(!onModal); }; - setInterval(() => { - onSubmitHandler(); - }, 100000); - return ( <> { - axios - .put( - `/api/check-list/${checkListContext?.checkListId}/common/question/status`, - checkListContext?.deletedCheckListByServer - ) - .then(() => checkListContext?.setDeletedCheckListByServer({ question: [] })); - - axios - .put( - `/api/check-list/${checkListContext?.checkListId}/common/question`, - checkListContext?.choseCheckListByServer - ) - .then(() => { - checkListContext?.setChoseCheckListByServer({ - typeA: [], - typeB: [], - typeD: [], - typeM: {}, - }); - }); - + checkListContext?.onChoseCheckListHandler(); setIsEdit(false); }; @@ -87,6 +66,12 @@ function CheckListStackNav({ setIsLogin }: IProps) { headerShadowVisible: false, }; + useEffect(() => { + setInterval(() => { + onSubmitHandler(); + }, 100000); + }, []); + return ( <> @@ -100,13 +85,7 @@ function CheckListStackNav({ setIsLogin }: IProps) { /> ( - - )} + children={() => } options={() => ({ animationTypeForReplace: 'pop', animation: 'slide_from_bottom', diff --git a/screens/BasicCheckList/BasicInfoOfBasicCheckList.tsx b/screens/BasicCheckList/BasicInfoOfBasicCheckList.tsx index d89ef5f..ae5a0a3 100644 --- a/screens/BasicCheckList/BasicInfoOfBasicCheckList.tsx +++ b/screens/BasicCheckList/BasicInfoOfBasicCheckList.tsx @@ -1,6 +1,7 @@ import React, { Dispatch, SetStateAction, + useCallback, useContext, useEffect, useMemo, @@ -24,6 +25,7 @@ import { ActivityIndicator, View } from 'react-native'; import { checkListCtx } from '../../Context/CheckListByServer'; import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; import CheckListSummaryComponenet from '../../components/CheckListComponent/CheckListSummaryComponenet'; +import { useFocusEffect } from '@react-navigation/native'; interface IProps { isEdit: boolean; @@ -40,7 +42,6 @@ function BasicInfoOfBasicCheckList({ isEdit, setIsBottomSheet }: IProps) { const [checkListSummary, setCheckListSummary] = useState({}); const getServerData = async () => { - console.log(checkListContext?.checkListId); try { const serverResponse = await axios.get( `/api/check-list/${checkListContext?.checkListId}/common?mainCategory=기본정보` @@ -63,6 +64,11 @@ function BasicInfoOfBasicCheckList({ isEdit, setIsBottomSheet }: IProps) { useEffect(() => { getServerData(); }, [modal]); + useFocusEffect( + useCallback(() => { + getServerData(); + }, [modal]) + ); // setCheckLists(response.data); // λ°”ν…€μ‹œνŠΈ λ™μž‘μ„ μœ„ν•œ μ½”λ“œ const bottomSheetModalRef = useRef(null); diff --git a/screens/bottomTab/Home.tsx b/screens/bottomTab/Home.tsx index e026768..f01eca2 100644 --- a/screens/bottomTab/Home.tsx +++ b/screens/bottomTab/Home.tsx @@ -4,6 +4,7 @@ import EmptyHome from '../../components/Home/EmptyHome'; import CheckListHome from '../../components/Home/CheckListHome'; import axios from 'axios'; import { ActivityIndicator, RefreshControl, ScrollView } from 'react-native'; +import { useFocusEffect } from '@react-navigation/native'; function Home() { const [loading, setLoading] = useState(false); @@ -32,7 +33,11 @@ function Home() { useEffect(() => { getHomeDataHandler(); }, []); - + useFocusEffect( + useCallback(() => { + getHomeDataHandler(); + }, []) + ); return ( <> {loading ? (