Browse Source

약관 동의 화면 / i18n 작업

khjde1207 6 years ago
parent
commit
300864d53b
5 changed files with 124 additions and 58 deletions
  1. 26 4
      App.js
  2. 14 0
      Src/I18n/ko.js
  3. 43 0
      Src/Pages/_2_AcceptTerms.js
  4. 40 54
      package-lock.json
  5. 1 0
      package.json

+ 26 - 4
App.js

@@ -9,8 +9,20 @@ import {
 } from 'react-native';
 
 import KeepAwake from 'react-native-keep-awake';
-import LoginPage from './Src/Pages/_1_Login'
-  
+
+//페이지 import 
+import LoginPage from './Src/Pages/_1_Login';
+import AcceptTerms from './Src/Pages/_2_AcceptTerms';
+
+//팝업 임포트 
+
+//다국어 
+import i18n from  "i18n-js";
+import KO from "./Src/I18n/ko"
+i18n.translations["ko"] = KO;
+i18n.locale = "ko";
+
+//모듈 임포트
 import * as RN from 'react-native'
 import * as EL from 'react-native-elements'
 
@@ -20,7 +32,7 @@ C.addComp(RN);
 C.addComp(EL, "EL");
 
 const App = () => {
-
+ 
   useEffect(() => {
         console.log(">>>>>>>>>>>>>>>>>>:")
         __DEV__ && KeepAwake.activate();
@@ -31,10 +43,20 @@ const App = () => {
   return (
     <Fragment>
       <C.SafeAreaView  cls="flx1">
-        <LoginPage/>
+        <AcceptTerms/>
       </C.SafeAreaView>
     </Fragment>
   );
 };
 
 export default App;
+
+
+ // let setLang = async ()  =>{
+  //   // let lan = await AsyncStorage.getItem('user:lan')
+  //   // if(!lan){
+  //   //   lan = "en";
+  //   // }
+  //   // console.log(">>>>>>>>>>>>>>>" , lan);
+  //   i18n.locale = "ko";
+  // }

+ 14 - 0
Src/I18n/ko.js

@@ -0,0 +1,14 @@
+export default {
+    Login : {
+
+    },
+    AcceptTerms : {
+        termsTitle : ["서비스 약관", "개인정보보호 정책","마케팅 이용동의"],
+        termsContents : [
+            "당사는 A 라 하며 .....",
+            "개인정보는 ......",
+            "수집한 정보는 ........."
+            ]
+    }
+
+}

+ 43 - 0
Src/Pages/_2_AcceptTerms.js

@@ -0,0 +1,43 @@
+import React from 'react';
+ 
+import i18n from  "i18n-js";
+
+import C from 'rn-class'
+C.addColor("#03cf5d", "color-naver");
+
+
+export default (props)=>{
+    // 다국어 처리 영역 
+    let {termsTitle}  = i18n.t("AcceptTerms");
+
+    console.log(termsTitle);
+    return (
+        <C.View cls="flx1 bgc-color-white"> 
+            <C.EL.Header
+                
+            />
+            {/* body */}
+
+            <C.View cls="w100% ai-c"> 
+
+                {
+                    termsTitle.map((title , idx)=>{
+
+                        return (
+                            <C.View key={`terms_${idx}`} cls="w80% pt5"> 
+                                <C.Text cls="f2" >{title}</C.Text>  
+                                <C.EL.Button title={title} ccls="w100% "/>
+                                <C.EL.CheckBox title='동의합니다'/>
+                            </C.View> 
+
+                        )
+                    })
+                }
+
+            </C.View>
+        </C.View>
+    )
+
+
+}
+

+ 40 - 54
package-lock.json

@@ -2369,15 +2369,6 @@
         "object-keys": "1.1.1"
       }
     },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "requires": {
-        "is-descriptor": "1.0.2",
-        "isobject": "3.0.1"
-      }
-    },
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -2411,15 +2402,6 @@
       "integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==",
       "dev": true
     },
-    "doctrine": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-      "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-      "dev": true,
-      "requires": {
-        "esutils": "2.0.2"
-      }
-    },
     "dom-walk": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
@@ -2642,8 +2624,14 @@
       "integrity": "sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ==",
       "dev": true,
       "requires": {
-        "escape-string-regexp": "1.0.5",
-        "ignore": "5.1.2"
+        "escape-string-regexp": "1.0.5"
+      },
+      "dependencies": {
+        "ignore": {
+          "version": "4.0.6",
+          "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz",
+          "integrity": "sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ=="
+        }
       }
     },
     "eslint-plugin-flowtype": {
@@ -2678,12 +2666,21 @@
       "dev": true,
       "requires": {
         "array-includes": "3.0.3",
-        "doctrine": "2.1.0",
         "has": "1.0.3",
         "jsx-ast-utils": "2.2.1",
         "object.fromentries": "2.0.0",
         "prop-types": "15.7.2",
         "resolve": "1.11.1"
+      },
+      "dependencies": {
+        "doctrine": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+          "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+          "requires": {
+            "esutils": "2.0.2"
+          }
+        }
       }
     },
     "eslint-plugin-react-hooks": {
@@ -2931,25 +2928,6 @@
       "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
       "dev": true
     },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "requires": {
-        "assign-symbols": "1.0.0",
-        "is-extendable": "1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "requires": {
-            "is-plain-object": "2.0.4"
-          }
-        }
-      }
-    },
     "external-editor": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -3961,6 +3939,11 @@
         "sshpk": "1.16.1"
       }
     },
+    "i18n-js": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/i18n-js/-/i18n-js-3.3.0.tgz",
+      "integrity": "sha512-+m8jh84IIWlFwEJgwrWCkeIwIES9ilJKBOj5qx8ZTLLmlPz7bjKnCdxf254wRf6M4pkQHtgXGT9r9lGk0e9aug=="
+    },
     "iconv-lite": {
       "version": "0.4.24",
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -3969,12 +3952,6 @@
         "safer-buffer": "2.1.2"
       }
     },
-    "ignore": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz",
-      "integrity": "sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ==",
-      "dev": true
-    },
     "image-size": {
       "version": "0.6.3",
       "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz",
@@ -5085,8 +5062,14 @@
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
       "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
       "requires": {
-        "pify": "4.0.1",
         "semver": "5.7.0"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
+        }
       }
     },
     "makeerror": {
@@ -6034,8 +6017,6 @@
         "arr-diff": "4.0.0",
         "array-unique": "0.3.2",
         "braces": "2.3.2",
-        "define-property": "2.0.2",
-        "extend-shallow": "3.0.2",
         "extglob": "2.0.4",
         "fragment-cache": "0.2.1",
         "kind-of": "6.0.2",
@@ -6046,6 +6027,16 @@
         "to-regex": "3.0.2"
       },
       "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ=="
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+          "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg="
+        },
         "is-extendable": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
@@ -6816,11 +6807,6 @@
       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
       "dev": true
     },
-    "pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
-    },
     "pinkie": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",

+ 1 - 0
package.json

@@ -8,6 +8,7 @@
     "lint": "eslint ."
   },
   "dependencies": {
+    "i18n-js": "^3.3.0",
     "react": "16.8.6",
     "react-native": "0.60.3",
     "react-native-elements": "^1.1.0",