From b5572abf73b4882d6065bb9af87809f01b813a18 Mon Sep 17 00:00:00 2001 From: kjm9547 Date: Fri, 16 Feb 2024 03:07:34 +0900 Subject: [PATCH] =?UTF-8?q?feat:redux=20=EC=84=B8=ED=8C=85=20=EA=B5=AC?= =?UTF-8?q?=EA=B8=80=20=EB=B2=84=ED=8A=BC=20=EB=94=94=EC=9E=90=EC=9D=B8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=B0=9B=EC=95=84=EC=98=A4?= =?UTF-8?q?=EA=B8=B0=20=EC=99=84=EB=A3=8C,=20=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=20=EC=A0=84=EC=97=AD=EA=B4=80=EB=A6=AC=20=ED=95=84=EC=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- injeRecipe/App.tsx | 15 ++++--- injeRecipe/package-lock.json | 30 +++++++++++++ injeRecipe/package.json | 3 ++ injeRecipe/src/assets/icons/googleIcon.png | Bin 0 -> 20103 bytes injeRecipe/src/feature/home/LoginButton.tsx | 45 ++++++++++++++----- injeRecipe/src/hooks/useSignIn.ts | 17 +++++-- injeRecipe/src/redux/action/actionLogin.ts | 9 ++++ injeRecipe/src/redux/reducer/loginReducer.ts | 14 ++++++ injeRecipe/src/redux/store.ts | 11 +++++ injeRecipe/yarn.lock | 24 ++++++++++ 10 files changed, 148 insertions(+), 20 deletions(-) create mode 100644 injeRecipe/src/assets/icons/googleIcon.png create mode 100644 injeRecipe/src/redux/action/actionLogin.ts create mode 100644 injeRecipe/src/redux/reducer/loginReducer.ts create mode 100644 injeRecipe/src/redux/store.ts diff --git a/injeRecipe/App.tsx b/injeRecipe/App.tsx index 281200f..4c5e1dc 100644 --- a/injeRecipe/App.tsx +++ b/injeRecipe/App.tsx @@ -15,23 +15,24 @@ import { View, } from 'react-native'; -import { GoogleSignin } from '@react-native-google-signin/google-signin'; - -import { GoogleAuthButton } from './src/screens/home/signin/google/GoogleAuthButton'; -import { LocationTestButton } from './src/Location/LocationTestButton'; -import { HomeScreen } from './src/screens/home/HomeScreen'; + import { NavigationContainer } from '@react-navigation/native'; -import RootStackNavigation from './src/navigations/RootStackNavigation'; import { SafeAreaProvider } from 'react-native-safe-area-context'; -import HomeStackScreen from './src/navigations/HomeNavigator'; +import { Provider } from 'react-redux' +import store from './src/redux/store'; +import RootStackNavigation from './src/navigations/RootStackNavigation'; function App(){ return ( + + + + ); } diff --git a/injeRecipe/package-lock.json b/injeRecipe/package-lock.json index a74e7b9..2ffa682 100644 --- a/injeRecipe/package-lock.json +++ b/injeRecipe/package-lock.json @@ -32,6 +32,8 @@ "react-native-vector-icons": "^10.0.3", "react-native-web": "^0.19.10", "react-redux": "^9.1.0", + "redux": "^5.0.1", + "redux-logger": "^3.0.6", "save-dev": "^0.0.1-security" }, "devDependencies": { @@ -48,6 +50,7 @@ "@types/react-native": "^0.73.0", "@types/react-native-vector-icons": "^6.4.18", "@types/react-test-renderer": "^18.0.0", + "@types/redux-logger": "^3.0.13", "babel-jest": "^29.6.3", "babel-loader": "^9.1.3", "babel-plugin-react-native-web": "^0.19.10", @@ -6204,6 +6207,15 @@ "@types/react": "*" } }, + "node_modules/@types/redux-logger": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@types/redux-logger/-/redux-logger-3.0.13.tgz", + "integrity": "sha512-jylqZXQfMxahkuPcO8J12AKSSCQngdEWQrw7UiLUJzMBcv1r4Qg77P6mjGLjM27e5gFQDPD8vwUMJ9AyVxFSsg==", + "dev": true, + "dependencies": { + "redux": "^5.0.0" + } + }, "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", @@ -8672,6 +8684,11 @@ } } }, + "node_modules/deep-diff": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz", + "integrity": "sha512-yVn6RZmHiGnxRKR9sJb3iVV2XTF1Ghh2DiWRZ3dMnGc43yUdWWF/kX6lQyk3+P84iprfWKU/8zFTrlkvtFm1ug==" + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -16511,6 +16528,19 @@ "node": ">= 10.13.0" } }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/redux-logger": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz", + "integrity": "sha512-JoCIok7bg/XpqA1JqCqXFypuqBbQzGQySrhFzewB7ThcnysTO30l4VCst86AuB9T9tuT03MAA56Jw2PNhRSNCg==", + "dependencies": { + "deep-diff": "^0.3.5" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", diff --git a/injeRecipe/package.json b/injeRecipe/package.json index 7f9ceec..cf38885 100644 --- a/injeRecipe/package.json +++ b/injeRecipe/package.json @@ -36,6 +36,8 @@ "react-native-vector-icons": "^10.0.3", "react-native-web": "^0.19.10", "react-redux": "^9.1.0", + "redux": "^5.0.1", + "redux-logger": "^3.0.6", "save-dev": "^0.0.1-security" }, "devDependencies": { @@ -52,6 +54,7 @@ "@types/react-native": "^0.73.0", "@types/react-native-vector-icons": "^6.4.18", "@types/react-test-renderer": "^18.0.0", + "@types/redux-logger": "^3.0.13", "babel-jest": "^29.6.3", "babel-loader": "^9.1.3", "babel-plugin-react-native-web": "^0.19.10", diff --git a/injeRecipe/src/assets/icons/googleIcon.png b/injeRecipe/src/assets/icons/googleIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..001e1a21d74893211d3b4e37350a42bb56e44715 GIT binary patch literal 20103 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 + const userData = await googleSigninConfigure() + console.log('hi user',userData) + } const navigation = useNavigation() useEffect(()=>{ - if(text == "구글을 통한 로그인"){ - googleSigninConfigure() + if(text == "구글 계정을 통한 로그인"){ + console.log('configure') + configureGoogleUser + setBtBgColor('white') + } + else{ + setBtBgColor ('#A25426') } },[text]) const onPressLogin = () =>{ console.log("???") if(value == "signin"){navigation.navigate('HomeStack',{screen:'SignIn'})} else if(value=="inje"){navigation.navigate('Bottom')} - + else if(value =="google"){ + const getUserData = async() => { + const res = await onPressGoogleSignIn() + console.log(res,'res') + // res 요 녀석을 전역 스테이트로 관리하면 오케이 + } + getUserData() + } } return( - {text} + onPress={onPressLogin}> + {btBgColor=='white'? + :null} + {text} ) } \ No newline at end of file diff --git a/injeRecipe/src/hooks/useSignIn.ts b/injeRecipe/src/hooks/useSignIn.ts index 47c1065..c3238fa 100644 --- a/injeRecipe/src/hooks/useSignIn.ts +++ b/injeRecipe/src/hooks/useSignIn.ts @@ -15,7 +15,9 @@ export const useSignIn =()=>{ try { await GoogleSignin.hasPlayServices() - await GoogleSignin.signIn() + const res =await GoogleSignin.signIn() + console.log('res',res) + return res //setState({ userInfo, error: undefined }); } catch (error:any) { @@ -34,8 +36,17 @@ export const useSignIn =()=>{ } } }; - const onPressGoogleSignIn = () =>{ - _signIn() + const onPressGoogleSignIn = async() =>{ + try{ + const signInResult =await _signIn() + return signInResult + } + catch(error){ + + } + + + } return{ googleSigninConfigure, diff --git a/injeRecipe/src/redux/action/actionLogin.ts b/injeRecipe/src/redux/action/actionLogin.ts new file mode 100644 index 0000000..980e0c6 --- /dev/null +++ b/injeRecipe/src/redux/action/actionLogin.ts @@ -0,0 +1,9 @@ +export const SET_LOGINED_USER = "SET_LOGINED_USER" + +export const setLoginedUser = (data:any) =>{ + return{ + type:SET_LOGINED_USER, + data:data + } + +} \ No newline at end of file diff --git a/injeRecipe/src/redux/reducer/loginReducer.ts b/injeRecipe/src/redux/reducer/loginReducer.ts new file mode 100644 index 0000000..a4ea542 --- /dev/null +++ b/injeRecipe/src/redux/reducer/loginReducer.ts @@ -0,0 +1,14 @@ +import { SET_LOGINED_USER } from "../action/actionLogin" + +const data ={ + +} +export const loginReducer = (state = data,action:any) =>{ + switch(action.type){ + case SET_LOGINED_USER:{ + return state + } + return null + } + return null +} \ No newline at end of file diff --git a/injeRecipe/src/redux/store.ts b/injeRecipe/src/redux/store.ts new file mode 100644 index 0000000..44ed30f --- /dev/null +++ b/injeRecipe/src/redux/store.ts @@ -0,0 +1,11 @@ +import { applyMiddleware, combineReducers, createStore } from 'redux' + +import { loginReducer } from './reducer/loginReducer' + +const rootReducer = combineReducers({ + login:loginReducer +}) +const store = createStore(rootReducer) + +export type RootReducerState = ReturnType +export default store \ No newline at end of file diff --git a/injeRecipe/yarn.lock b/injeRecipe/yarn.lock index 7a3693e..4b747b5 100644 --- a/injeRecipe/yarn.lock +++ b/injeRecipe/yarn.lock @@ -2590,6 +2590,13 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/redux-logger@^3.0.13": + version "3.0.13" + resolved "https://registry.npmjs.org/@types/redux-logger/-/redux-logger-3.0.13.tgz" + integrity sha512-jylqZXQfMxahkuPcO8J12AKSSCQngdEWQrw7UiLUJzMBcv1r4Qg77P6mjGLjM27e5gFQDPD8vwUMJ9AyVxFSsg== + dependencies: + redux "^5.0.0" + "@types/retry@0.12.0": version "0.12.0" resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" @@ -3991,6 +3998,11 @@ dedent@^1.0.0: resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== +deep-diff@^0.3.5: + version "0.3.8" + resolved "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz" + integrity sha512-yVn6RZmHiGnxRKR9sJb3iVV2XTF1Ghh2DiWRZ3dMnGc43yUdWWF/kX6lQyk3+P84iprfWKU/8zFTrlkvtFm1ug== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" @@ -7827,6 +7839,18 @@ rechoir@^0.8.0: dependencies: resolve "^1.20.0" +redux-logger@^3.0.6: + version "3.0.6" + resolved "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz" + integrity sha512-JoCIok7bg/XpqA1JqCqXFypuqBbQzGQySrhFzewB7ThcnysTO30l4VCst86AuB9T9tuT03MAA56Jw2PNhRSNCg== + dependencies: + deep-diff "^0.3.5" + +redux@^5.0.0, redux@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz" + integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w== + reflect.getprototypeof@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz"