diff --git a/bob_party/App.tsx b/bob_party/App.tsx
index 06e0f20..2568063 100644
--- a/bob_party/App.tsx
+++ b/bob_party/App.tsx
@@ -1,6 +1,12 @@
import React from 'react'
import MainTabNavigator from './src/navigation/AppNavigator'
+import store from './src/redux/store'
+import { Provider } from 'react-redux'
export default function App() {
- return
+ return(
+
+
+
+ );
}
diff --git a/bob_party/assets/BobsSkins/unlogged.png b/bob_party/assets/BobsSkins/unlogged.png
new file mode 100644
index 0000000..651da3e
Binary files /dev/null and b/bob_party/assets/BobsSkins/unlogged.png differ
diff --git a/bob_party/package-lock.json b/bob_party/package-lock.json
index 82b9d8b..4ae54bb 100644
--- a/bob_party/package-lock.json
+++ b/bob_party/package-lock.json
@@ -8,7 +8,7 @@
"name": "bob_party",
"version": "1.0.0",
"dependencies": {
- "@react-native-picker/picker": "^2.4.8",
+ "@react-native-community/datetimepicker": "6.2.0",
"@react-navigation/bottom-tabs": "^6.4.0",
"@react-navigation/native": "^6.0.13",
"@react-navigation/stack": "^6.3.2",
@@ -20,6 +20,7 @@
"react": "18.0.0",
"react-dom": "18.0.0",
"react-native": "^0.69.6",
+ "react-native-date-picker": "^4.2.5",
"react-native-dialog": "^9.2.2",
"react-native-dialog-input": "^1.0.8",
"react-native-gesture-handler": "~2.5.0",
@@ -3533,21 +3534,21 @@
}
},
"node_modules/@jest/expect-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz",
- "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==",
+ "version": "29.2.2",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz",
+ "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==",
"dev": true,
"dependencies": {
- "jest-get-type": "^29.0.0"
+ "jest-get-type": "^29.2.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/expect-utils/node_modules/jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -5700,13 +5701,12 @@
"node": ">=8"
}
},
- "node_modules/@react-native-picker/picker": {
- "version": "2.4.8",
- "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.4.8.tgz",
- "integrity": "sha512-5NQ5XPo1B03YNqKFrV6h9L3CQaHlB80wd4ETHUEABRP2iLh7FHLVObX2GfziD+K/VJb8G4KZcZ23NFBFP1f7bg==",
- "peerDependencies": {
- "react": ">=16",
- "react-native": ">=0.57"
+ "node_modules/@react-native-community/datetimepicker": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-6.2.0.tgz",
+ "integrity": "sha512-w1ZS+wYO3qSASliRp+B7mPphOhtVm++rhSbj1WsgXdgLgDXSkDxpMnAXXQu9M0XdcgBwVJ6wDExeIwuzU5Jtfg==",
+ "dependencies": {
+ "invariant": "^2.2.4"
}
},
"node_modules/@react-native/assets": {
@@ -6019,9 +6019,9 @@
}
},
"node_modules/@types/jest/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -6136,9 +6136,9 @@
}
},
"node_modules/@xmldom/xmldom": {
- "version": "0.7.6",
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.6.tgz",
- "integrity": "sha512-HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ==",
+ "version": "0.7.8",
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.8.tgz",
+ "integrity": "sha512-PrJx38EfpitFhwmILRl37jAdBlsww6AZ6rRVK4QS7T7RHLhX7mSs647sTmgr9GIxe3qjXdesmomEgbgaokrVFg==",
"engines": {
"node": ">=10.0.0"
}
@@ -6177,9 +6177,9 @@
}
},
"node_modules/acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
"bin": {
"acorn": "bin/acorn"
},
@@ -6385,9 +6385,9 @@
}
},
"node_modules/ast-types/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
},
"node_modules/astral-regex": {
"version": "1.0.0",
@@ -6865,9 +6865,9 @@
}
},
"node_modules/bplist-parser": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz",
- "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz",
+ "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==",
"dependencies": {
"big-integer": "1.6.x"
},
@@ -8000,9 +8000,9 @@
}
},
"node_modules/diff-sequences": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz",
- "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz",
+ "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -8388,25 +8388,25 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/expect": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz",
- "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==",
+ "version": "29.2.2",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz",
+ "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==",
"dev": true,
"dependencies": {
- "@jest/expect-utils": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2"
+ "@jest/expect-utils": "^29.2.2",
+ "jest-get-type": "^29.2.0",
+ "jest-matcher-utils": "^29.2.2",
+ "jest-message-util": "^29.2.1",
+ "jest-util": "^29.2.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/expect/node_modules/@jest/types": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz",
- "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz",
+ "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -8488,21 +8488,21 @@
}
},
"node_modules/expect/node_modules/jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/expect/node_modules/jest-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz",
- "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz",
+ "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.2.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
@@ -9274,9 +9274,9 @@
}
},
"node_modules/graphql-tag/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
},
"node_modules/growly": {
"version": "1.3.0",
@@ -10563,15 +10563,15 @@
}
},
"node_modules/jest-diff": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz",
- "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz",
+ "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
- "diff-sequences": "^29.0.0",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "diff-sequences": "^29.2.0",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.2.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -10636,18 +10636,18 @@
}
},
"node_modules/jest-diff/node_modules/jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/jest-diff/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -11307,15 +11307,15 @@
}
},
"node_modules/jest-matcher-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz",
- "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==",
+ "version": "29.2.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz",
+ "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
- "jest-diff": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "jest-diff": "^29.2.1",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.2.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -11380,18 +11380,18 @@
}
},
"node_modules/jest-matcher-utils/node_modules/jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/jest-matcher-utils/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -11433,18 +11433,18 @@
}
},
"node_modules/jest-message-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz",
- "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz",
+ "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.12.13",
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.2.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.2.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -11453,9 +11453,9 @@
}
},
"node_modules/jest-message-util/node_modules/@jest/types": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz",
- "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz",
+ "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -11537,9 +11537,9 @@
}
},
"node_modules/jest-message-util/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -12971,17 +12971,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/jscodeshift/node_modules/rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
"node_modules/jscodeshift/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -13152,16 +13141,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/json-schema-deref-sync/node_modules/md5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
- "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==",
- "dependencies": {
- "charenc": "~0.0.1",
- "crypt": "~0.0.1",
- "is-buffer": "~1.1.1"
- }
- },
"node_modules/json5": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
@@ -13358,13 +13337,13 @@
}
},
"node_modules/md5": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
- "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
+ "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==",
"dependencies": {
- "charenc": "0.0.2",
- "crypt": "0.0.2",
- "is-buffer": "~1.1.6"
+ "charenc": "~0.0.1",
+ "crypt": "~0.0.1",
+ "is-buffer": "~1.1.1"
}
},
"node_modules/md5-file": {
@@ -15352,6 +15331,14 @@
"nullthrows": "^1.1.1"
}
},
+ "node_modules/react-native-date-picker": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/react-native-date-picker/-/react-native-date-picker-4.2.5.tgz",
+ "integrity": "sha512-YjwiMpZEnVVS+ymLvmJDicVZ3pSR+nJHgtAhctMl6fO8f7iRNcYhY427gemlTBf2Ji+XIAK0Agyl255DhaemFw==",
+ "dependencies": {
+ "prop-types": "^15.8.1"
+ }
+ },
"node_modules/react-native-dialog": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/react-native-dialog/-/react-native-dialog-9.2.2.tgz",
@@ -15459,9 +15446,9 @@
}
},
"node_modules/react-native/node_modules/promise": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz",
- "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
+ "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
"dependencies": {
"asap": "~2.0.6"
}
@@ -15690,9 +15677,9 @@
}
},
"node_modules/recast/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
},
"node_modules/redux": {
"version": "4.2.0",
@@ -15940,9 +15927,9 @@
}
},
"node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dependencies": {
"glob": "^7.1.3"
},
@@ -16439,17 +16426,6 @@
"plist": "^3.0.5"
}
},
- "node_modules/simple-plist/node_modules/bplist-parser": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz",
- "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==",
- "dependencies": {
- "big-integer": "1.6.x"
- },
- "engines": {
- "node": ">= 5.10.0"
- }
- },
"node_modules/simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -20750,18 +20726,18 @@
}
},
"@jest/expect-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz",
- "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==",
+ "version": "29.2.2",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz",
+ "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==",
"dev": true,
"requires": {
- "jest-get-type": "^29.0.0"
+ "jest-get-type": "^29.2.0"
},
"dependencies": {
"jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true
}
}
@@ -22365,11 +22341,13 @@
"joi": "^17.2.1"
}
},
- "@react-native-picker/picker": {
- "version": "2.4.8",
- "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.4.8.tgz",
- "integrity": "sha512-5NQ5XPo1B03YNqKFrV6h9L3CQaHlB80wd4ETHUEABRP2iLh7FHLVObX2GfziD+K/VJb8G4KZcZ23NFBFP1f7bg==",
- "requires": {}
+ "@react-native-community/datetimepicker": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-6.2.0.tgz",
+ "integrity": "sha512-w1ZS+wYO3qSASliRp+B7mPphOhtVm++rhSbj1WsgXdgLgDXSkDxpMnAXXQu9M0XdcgBwVJ6wDExeIwuzU5Jtfg==",
+ "requires": {
+ "invariant": "^2.2.4"
+ }
},
"@react-native/assets": {
"version": "1.0.0",
@@ -22625,9 +22603,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -22735,9 +22713,9 @@
}
},
"@xmldom/xmldom": {
- "version": "0.7.6",
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.6.tgz",
- "integrity": "sha512-HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ=="
+ "version": "0.7.8",
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.8.tgz",
+ "integrity": "sha512-PrJx38EfpitFhwmILRl37jAdBlsww6AZ6rRVK4QS7T7RHLhX7mSs647sTmgr9GIxe3qjXdesmomEgbgaokrVFg=="
},
"abab": {
"version": "2.0.6",
@@ -22767,9 +22745,9 @@
}
},
"acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
},
"acorn-globals": {
"version": "6.0.0",
@@ -22923,9 +22901,9 @@
},
"dependencies": {
"tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
}
}
},
@@ -23309,9 +23287,9 @@
}
},
"bplist-parser": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz",
- "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz",
+ "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==",
"requires": {
"big-integer": "1.6.x"
}
@@ -24176,9 +24154,9 @@
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="
},
"diff-sequences": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz",
- "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz",
+ "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==",
"dev": true
},
"dir-glob": {
@@ -24468,22 +24446,22 @@
}
},
"expect": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz",
- "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==",
+ "version": "29.2.2",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz",
+ "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==",
"dev": true,
"requires": {
- "@jest/expect-utils": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2"
+ "@jest/expect-utils": "^29.2.2",
+ "jest-get-type": "^29.2.0",
+ "jest-matcher-utils": "^29.2.2",
+ "jest-message-util": "^29.2.1",
+ "jest-util": "^29.2.1"
},
"dependencies": {
"@jest/types": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz",
- "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz",
+ "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -24544,18 +24522,18 @@
"dev": true
},
"jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true
},
"jest-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz",
- "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz",
+ "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.2.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
@@ -25154,9 +25132,9 @@
},
"dependencies": {
"tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
}
}
},
@@ -26091,15 +26069,15 @@
}
},
"jest-diff": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz",
- "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz",
+ "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "diff-sequences": "^29.0.0",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "diff-sequences": "^29.2.0",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.2.1"
},
"dependencies": {
"ansi-styles": {
@@ -26143,15 +26121,15 @@
"dev": true
},
"jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -26649,15 +26627,15 @@
}
},
"jest-matcher-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz",
- "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==",
+ "version": "29.2.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz",
+ "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "jest-diff": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "jest-diff": "^29.2.1",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.2.1"
},
"dependencies": {
"ansi-styles": {
@@ -26701,15 +26679,15 @@
"dev": true
},
"jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -26743,26 +26721,26 @@
}
},
"jest-message-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz",
- "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz",
+ "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.12.13",
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.2.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.2.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
"dependencies": {
"@jest/types": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz",
- "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz",
+ "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -26823,9 +26801,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz",
+ "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -27910,14 +27888,6 @@
"to-regex": "^3.0.2"
}
},
- "rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -28038,18 +28008,6 @@
"memory-cache": "~0.2.0",
"traverse": "~0.6.6",
"valid-url": "~1.0.9"
- },
- "dependencies": {
- "md5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
- "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==",
- "requires": {
- "charenc": "~0.0.1",
- "crypt": "~0.0.1",
- "is-buffer": "~1.1.1"
- }
- }
}
},
"json5": {
@@ -28202,13 +28160,13 @@
}
},
"md5": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
- "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
+ "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==",
"requires": {
- "charenc": "0.0.2",
- "crypt": "0.0.2",
- "is-buffer": "~1.1.6"
+ "charenc": "~0.0.1",
+ "crypt": "~0.0.1",
+ "is-buffer": "~1.1.1"
}
},
"md5-file": {
@@ -29715,9 +29673,9 @@
},
"dependencies": {
"promise": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz",
- "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
+ "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
"requires": {
"asap": "~2.0.6"
}
@@ -29735,6 +29693,14 @@
"nullthrows": "^1.1.1"
}
},
+ "react-native-date-picker": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/react-native-date-picker/-/react-native-date-picker-4.2.5.tgz",
+ "integrity": "sha512-YjwiMpZEnVVS+ymLvmJDicVZ3pSR+nJHgtAhctMl6fO8f7iRNcYhY427gemlTBf2Ji+XIAK0Agyl255DhaemFw==",
+ "requires": {
+ "prop-types": "^15.8.1"
+ }
+ },
"react-native-dialog": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/react-native-dialog/-/react-native-dialog-9.2.2.tgz",
@@ -29974,9 +29940,9 @@
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
}
}
},
@@ -30175,9 +30141,9 @@
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
},
"rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"requires": {
"glob": "^7.1.3"
}
@@ -30572,16 +30538,6 @@
"bplist-creator": "0.1.0",
"bplist-parser": "0.3.1",
"plist": "^3.0.5"
- },
- "dependencies": {
- "bplist-parser": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz",
- "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==",
- "requires": {
- "big-integer": "1.6.x"
- }
- }
}
},
"simple-swizzle": {
diff --git a/bob_party/package.json b/bob_party/package.json
index 6741328..638c9af 100644
--- a/bob_party/package.json
+++ b/bob_party/package.json
@@ -9,7 +9,7 @@
"web": "expo start --web"
},
"dependencies": {
- "@react-native-picker/picker": "^2.4.8",
+ "@react-native-community/datetimepicker": "6.2.0",
"@react-navigation/bottom-tabs": "^6.4.0",
"@react-navigation/native": "^6.0.13",
"@react-navigation/stack": "^6.3.2",
@@ -21,6 +21,7 @@
"react": "18.0.0",
"react-dom": "18.0.0",
"react-native": "^0.69.6",
+ "react-native-date-picker": "^4.2.5",
"react-native-dialog": "^9.2.2",
"react-native-dialog-input": "^1.0.8",
"react-native-gesture-handler": "~2.5.0",
diff --git a/bob_party/src/components/PickerGreySmall.tsx b/bob_party/src/components/PickerGreySmall.tsx
new file mode 100644
index 0000000..ba0d5b3
--- /dev/null
+++ b/bob_party/src/components/PickerGreySmall.tsx
@@ -0,0 +1,21 @@
+import { FC} from "react"
+import { Pressable, Text} from "react-native"
+import React from "react"
+import styles from "./style/PickerGreySmall"
+import RNPickerSelect from "react-native-picker-select";
+
+export const PickerGreySmall:
+FC<{ valueChange: any, title: string, donePress?: any, values?: any;}>
+=
+({valueChange, donePress, title, values}) =>
+ {
+ return(
+
+ )
+ }
\ No newline at end of file
diff --git a/bob_party/src/components/Skin.tsx b/bob_party/src/components/Skin.tsx
index 2caf613..5008344 100644
--- a/bob_party/src/components/Skin.tsx
+++ b/bob_party/src/components/Skin.tsx
@@ -7,8 +7,9 @@ import { Skin } from "../core/skin"
Importing the correct stylesheet
*/
import styles from "./style/Skin.style"
-import { useDispatch } from "react-redux"
-import { updateSkin } from "../redux/features/currentUserSlice"
+import { useDispatch, useSelector } from "react-redux"
+import { loginUser } from "../redux/features/currentUserSlice"
+import { RootState } from "../redux/store"
export const SkinComponent :
/* Parameters :
@@ -19,6 +20,8 @@ FC<{skin: Skin, state: String}> =
({skin, state}) =>
{
const dispatch=useDispatch();
+
+ const currentUser = useSelector((state: RootState) => state.currentUserManager.currentUser);
/* The display of this component depends of the screen from where it has been called:
* From the TopBar (icon) : Small image in a circle
@@ -46,7 +49,7 @@ FC<{skin: Skin, state: String}> =
)
case 'liste':
return(
- dispatch(updateSkin(skin))} style={styles.imageWrapper}>
+ {currentUser.setCurrentSkin(skin); dispatch(loginUser(currentUser))}} style={styles.imageWrapper}>
{skin.getSkinName()}
=
({nav, state}) =>
{
- const currentUser = useSelector((state: RootState) => state.currentUser.value)[0];
+ const currentUser = useSelector((state: RootState) => state.currentUserManager.currentUser);
/* The display of this component depends of the screen from where it has been called:
* From the Settings (icon) : Name of the page + cross button
diff --git a/bob_party/src/components/style/PickerGreySmall.js b/bob_party/src/components/style/PickerGreySmall.js
new file mode 100644
index 0000000..3f12ac2
--- /dev/null
+++ b/bob_party/src/components/style/PickerGreySmall.js
@@ -0,0 +1,40 @@
+import { StyleSheet } from "react-native";
+
+export default StyleSheet.create(
+ {inputIOS: {
+ alignItems: 'center',
+ justifyContent: 'center',
+ padding: 3,
+ marginTop: 5,
+ borderRadius: 10,
+ backgroundColor: '#2D2C33',
+ paddingHorizontal: 10,
+ fontSize: 16,
+ fontWeight: 'bold',
+ letterSpacing: 0.25,
+ textAlign: 'center',
+ color: 'white',
+ },
+ placeholder: {
+ color: 'white',
+ },
+ },
+ {inputAndroid: {
+ alignItems: 'center',
+ justifyContent: 'center',
+ padding: 3,
+ marginTop: 5,
+ borderRadius: 10,
+ backgroundColor: '#2D2C33',
+ paddingHorizontal: 10,
+ fontSize: 16,
+ fontWeight: 'bold',
+ letterSpacing: 0.25,
+ textAlign: 'center',
+ color: 'white',
+ },
+ placeholder: {
+ color: 'white',
+ },
+ }
+)
\ No newline at end of file
diff --git a/bob_party/src/constSex.ts b/bob_party/src/constSex.ts
index 373c68d..4e955d5 100644
--- a/bob_party/src/constSex.ts
+++ b/bob_party/src/constSex.ts
@@ -1,7 +1,7 @@
const tabSex = [
{ label: "Homme", value: "Homme" },
- { label: "Femmme", value: "Femmme" },
+ { label: "Femme", value: "Femme" },
{ label: "Non-binaire", value: "Non-binaire" },
{ label: "Autre", value: "Autre" },
]
diff --git a/bob_party/src/core/Auth/login.ts b/bob_party/src/core/Auth/login.ts
new file mode 100644
index 0000000..971d454
--- /dev/null
+++ b/bob_party/src/core/Auth/login.ts
@@ -0,0 +1,26 @@
+import { loginUser } from '../../redux/features/currentUserSlice';
+import { updateIncorrectCredentials } from '../../redux/features/credentialErrorsSlice';
+import tabUS from "../../constUser";
+import { useSelector } from 'react-redux';
+import { RootState } from '../../redux/store';
+
+
+
+
+
+export const checkCredentials = (login: string, password: string, dispatch: any, nav: any) => {
+ if((tabUS.map((User) => User.getUsername()).indexOf(login)) !== -1){
+ let id = (tabUS.map((User) => User.getUsername()).indexOf(login))
+ if ((tabUS.map((User) => User.getUsername()).indexOf(login) === id) && ( tabUS[id].getPassword() === password) ){
+ dispatch(loginUser(tabUS[id]));
+ nav.navigate('HomeTab')
+ }
+ else{
+ dispatch(updateIncorrectCredentials(true))
+ }
+ }
+ else{
+ dispatch(updateIncorrectCredentials(true));
+ }
+};
+
diff --git a/bob_party/src/core/Auth/newUser.ts b/bob_party/src/core/Auth/newUser.ts
new file mode 100644
index 0000000..d8a357c
--- /dev/null
+++ b/bob_party/src/core/Auth/newUser.ts
@@ -0,0 +1,71 @@
+
+import { loginUser } from '../../redux/features/currentUserSlice';
+import tabUS from "../../constUser";
+import { User } from '../User/user';
+import { updateAlreadyUsedPseudo,updateImpossibleBirthDate,updateUndefinedBirthDate,updateUndefinedNationality,updateTooLongPseudo,updateUndefinedPseudo,updateUndefinedSex, updateTooShortPassword, updateInvalidPassword, updateInvalidPseudo, updateUndefinedPassword } from '../../redux/features/credentialErrorsSlice';
+
+function max(array: User[]){
+ let max: string = "";
+ for (let index = 0; index < array.length; index++) {
+ const element = array[index].getId();
+ if (element > max) max = element;
+ }
+ return max;
+}
+
+
+export const checkNewUserValidity = (login: string, password: string, dateOfBirth: Date, nationality: string, sexe: string, dispatch: any, nav: any) => {
+ let actualDate : number = Date.now();
+ let givenDate : number = dateOfBirth.getTime();
+ let passwordRegex : RegExp = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-])(?!.*?[.\n\\{}[\],]).{8,}$/;
+ let loginRegex : RegExp = /^[A-Za-z0-9_-]{1,22}$/;
+
+ switch(true){
+ case (login === ''):
+ dispatch(updateUndefinedPseudo(true));
+ break;
+
+ case (password === ''):
+ dispatch(updateUndefinedPassword(true));
+ break;
+
+ case (givenDate == null):
+ dispatch(updateUndefinedBirthDate(true));
+ break;
+
+ case (nationality == ''):
+ dispatch(updateUndefinedNationality(true))
+ break;
+
+ case (sexe == ''):
+ dispatch(updateUndefinedSex(true));
+ break;
+
+ case (login.length > 22):
+ dispatch(updateTooLongPseudo(true));
+ break;
+
+ case (! loginRegex.test(login)):
+ dispatch(updateInvalidPseudo(true));
+ break;
+
+ //ALREADY USED PSEUDO
+
+ case (password.length < 8):
+ dispatch(updateTooShortPassword(true));
+ break;
+
+ case (! passwordRegex.test(password)):
+ dispatch(updateInvalidPassword(true));
+ break;
+
+ case ((actualDate-givenDate) < 409968000000):
+ dispatch(updateImpossibleBirthDate(true));
+ break;
+
+ default:
+ const newUser : User = new User("0",login,password,nationality,sexe,dateOfBirth);
+ dispatch(loginUser(newUser));
+ nav.navigate('HomeTab');
+ }
+};
\ No newline at end of file
diff --git a/bob_party/src/navigation/AppNavigator.tsx b/bob_party/src/navigation/AppNavigator.tsx
index c9821e3..0a299bd 100644
--- a/bob_party/src/navigation/AppNavigator.tsx
+++ b/bob_party/src/navigation/AppNavigator.tsx
@@ -11,7 +11,7 @@ import Profile from '../screens/Profile'
import SkinList from '../screens/SkinList'
import GameChoice from '../screens/GameChoice'
import SignIn from '../screens/SignIn'
-//import SignUp from '../screens/SignUp'
+import SignUp from '../screens/SignUp'
@@ -87,6 +87,7 @@ function MainTabNavigator() {
+
)
diff --git a/bob_party/src/redux/features/credentialErrorsSlice.ts b/bob_party/src/redux/features/credentialErrorsSlice.ts
new file mode 100644
index 0000000..8376956
--- /dev/null
+++ b/bob_party/src/redux/features/credentialErrorsSlice.ts
@@ -0,0 +1,174 @@
+import { createSlice, PayloadAction } from "@reduxjs/toolkit"
+
+var incorrectCredentialsBool : boolean = false;
+var tooLongPseudodBool : boolean = false;
+var tooShortPasswordBool : boolean = false;
+var invalidPseudoBool : boolean = false;
+var invalidPasswordBool : boolean = false;
+var impossibleBirthDateBool : boolean = false;
+var undefinedPseudoBool : boolean = false;
+var undefinedPasswordBool : boolean = false;
+var undefinedBirthDateBool : boolean = false;
+var undefinedNationalityBool : boolean = false;
+var undefinedSexBool : boolean = false;
+var alreadyUsedPseudoBool : boolean = false;
+
+
+export const credentialErrorsSlice = createSlice({
+ name: "credentialErrors",
+ initialState:{
+ newUserErrorList : {
+ tooLongPseudo: tooLongPseudodBool,
+ tooShortPassword : tooShortPasswordBool,
+ invalidPseudo: invalidPseudoBool,
+ invalidPassword: invalidPasswordBool,
+ impossibleBirthDate: impossibleBirthDateBool,
+ undefinedPseudo: undefinedPseudoBool,
+ undefinedPassword: undefinedPasswordBool,
+ undefinedBirthDate: undefinedBirthDateBool,
+ undefinedNationality: undefinedNationalityBool,
+ undefinedSex: undefinedSexBool,
+ alreadyUsedPseudo: alreadyUsedPseudoBool,
+ },
+ loginErrorList : {
+ incorrectCredentials: incorrectCredentialsBool,
+ }
+ },
+ reducers: {
+ updateIncorrectCredentials: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ incorrectCredentials: action.payload
+ }
+ }
+ },
+ updateTooLongPseudo: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ tooShortPseudo: action.payload
+ }
+ }
+ },
+ updateTooLongPassword: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ tooLongPassword: action.payload
+ }
+ }
+ },
+ updateTooShortPassword: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ tooShortPassword: action.payload
+ }
+ }
+ },
+ updateInvalidPseudo: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ invalidPseudo: action.payload
+ }
+ }
+ },
+ updateInvalidPassword: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ invalidPassword: action.payload
+ }
+ }
+ },
+ updateImpossibleBirthDate: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ impossibleBirthDate: action.payload
+ }
+ }
+ },
+ updateUndefinedPseudo: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ undefinedPseudo: action.payload
+ }
+ }
+ },
+ updateUndefinedPassword: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ undefinedPassword: action.payload
+ }
+ }
+ },
+ updateUndefinedBirthDate: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ undefinedBirthDate: action.payload
+ }
+ }
+ },
+ updateUndefinedNationality: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ undefinedNationality: action.payload
+ }
+ }
+ },
+ updateUndefinedSex: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ undefinedSex: action.payload
+ }
+ }
+ },
+ updateAlreadyUsedPseudo: (state, action: PayloadAction) => {
+ return {
+ ...state,
+ newUserErrorList:{
+ ...state.newUserErrorList,
+ alreadyUsedPseudo: action.payload
+ }
+ }
+ },
+ },
+});
+
+export const { updateIncorrectCredentials } = credentialErrorsSlice.actions
+export const { updateTooShortPassword } = credentialErrorsSlice.actions
+export const { updateTooLongPseudo } = credentialErrorsSlice.actions
+export const { updateTooLongPassword } = credentialErrorsSlice.actions
+export const { updateInvalidPseudo } = credentialErrorsSlice.actions
+export const { updateInvalidPassword } = credentialErrorsSlice.actions
+export const { updateImpossibleBirthDate } = credentialErrorsSlice.actions
+export const { updateUndefinedPseudo } = credentialErrorsSlice.actions
+export const { updateUndefinedPassword } = credentialErrorsSlice.actions
+export const { updateUndefinedBirthDate } = credentialErrorsSlice.actions
+export const { updateUndefinedNationality } = credentialErrorsSlice.actions
+export const { updateUndefinedSex } = credentialErrorsSlice.actions
+export const { updateAlreadyUsedPseudo } = credentialErrorsSlice.actions
+
+
+
+export default credentialErrorsSlice.reducer;
\ No newline at end of file
diff --git a/bob_party/src/redux/features/currentUserSlice.ts b/bob_party/src/redux/features/currentUserSlice.ts
index 460ad02..99823ae 100644
--- a/bob_party/src/redux/features/currentUserSlice.ts
+++ b/bob_party/src/redux/features/currentUserSlice.ts
@@ -2,50 +2,65 @@ import { createSlice, PayloadAction } from "@reduxjs/toolkit"
import { Skin } from "../../core/Skin";
import { User } from "../../core/User/user";
-interface currentUserState {
- value: User[]
-}
+const dateNull = new Date();
-const initialState: currentUserState = {
- value: [],
-}
+const userNull:User= new User("","","","","",dateNull);
+
+var currentUser:User = userNull;
export const currentUserSlice = createSlice({
- name: "currentUser",
- initialState,
+ name: "currentUserManager",
+ initialState : {
+ currentUser
+ },
reducers: {
loginUser: (state, action: PayloadAction) => {
- state.value.push(action.payload);
+ const newUser : User = new User(action.payload.getId(), action.payload.getUsername(),action.payload.getPassword(),action.payload.getNationality(),action.payload.getSexe(),action.payload.getDateOfBirth(), action.payload.getCurrentCoins(), action.payload.getTotalCoins(),action.payload.getGamePlayed(),action.payload.getCurrentSkin(),action.payload.getTabSkin(), action.payload.getTabConv())
+
+ state.currentUser = newUser;
},
updateSkin: (state, action: PayloadAction) =>{
- const newUser = state.value[0]
+
+
+ const newUser : User = new User(currentUser.getId(), currentUser.getUsername(),currentUser.getPassword(),currentUser.getNationality(),currentUser.getSexe(),currentUser.getDateOfBirth(), currentUser.getCurrentCoins(), currentUser.getTotalCoins(),currentUser.getGamePlayed(),currentUser.getCurrentSkin(),currentUser.getTabSkin(), currentUser.getTabConv())
+
newUser.setCurrentSkin(action.payload);
- state.value.pop();
- state.value.push(newUser);
+
+ state.currentUser = newUser;
},
updatePseudo: (state, action: PayloadAction) =>{
- const newUser = state.value[0]
+ const newUser: User = new User(currentUser.getId(), currentUser.getUsername(), currentUser.getPassword(), currentUser.getNationality(), currentUser.getSexe(), currentUser.getDateOfBirth());
+
+ console.log(currentUser);
newUser.setUsername(action.payload);
- state.value.pop();
- state.value.push(newUser);
+ return {
+ ...state,
+ currentUser: newUser,
+ }
},
updatePassword: (state, action: PayloadAction) =>{
- const newUser = state.value[0]
- newUser.setPassword(action.payload);
- state.value.pop();
- state.value.push(newUser);
+ const newUser = state.currentUser;
+ currentUser.setPassword(action.payload)
+ return {
+ ...state,
+ currentUser: newUser,
+ }
},
updateNationality: (state, action: PayloadAction) =>{
- const newUser = state.value[0]
- newUser.setNationality(action.payload);
- state.value.pop();
- state.value.push(newUser);
+ const newUser = state.currentUser;
+ currentUser.setNationality(action.payload)
+ return {
+ ...state,
+ currentUser: newUser,
+ }
},
updateSex: (state, action: PayloadAction) =>{
- const newUser = state.value[0]
- newUser.setSexe(action.payload);
- state.value.pop();
- state.value.push(newUser);
+ const newUser = state.currentUser;
+ currentUser.setSexe(action.payload)
+ return {
+ ...state,
+ currentUser: newUser,
+ }
}
},
});
diff --git a/bob_party/src/redux/store.ts b/bob_party/src/redux/store.ts
index 2f9f420..f8ece5b 100644
--- a/bob_party/src/redux/store.ts
+++ b/bob_party/src/redux/store.ts
@@ -1,5 +1,6 @@
import { configureStore } from "@reduxjs/toolkit";
import currentUserReducer from "./features/currentUserSlice";
+import credentialErrorsSlice from "./features/credentialErrorsSlice";
import { getDefaultMiddleware } from '@reduxjs/toolkit';
const customizedMiddleware = getDefaultMiddleware({
@@ -8,7 +9,8 @@ const customizedMiddleware = getDefaultMiddleware({
const store = configureStore({
reducer: {
- currentUser: currentUserReducer,
+ currentUserManager: currentUserReducer,
+ credentialErrors: credentialErrorsSlice,
},
middleware: (getDefaultMiddleware) => customizedMiddleware,
})
diff --git a/bob_party/src/screens/Chat.tsx b/bob_party/src/screens/Chat.tsx
index dedaabf..3e9b1d1 100644
--- a/bob_party/src/screens/Chat.tsx
+++ b/bob_party/src/screens/Chat.tsx
@@ -12,7 +12,7 @@ import { RootState } from '../redux/store';
function Chat(props: { navigation: any; }) {
const { navigation } = props
- const currentUser = useSelector((state: RootState) => state.currentUser.value[0]);
+ const currentUser = useSelector((state: RootState) => state.currentUserManager.currentUser);
return (
diff --git a/bob_party/src/screens/GameChoice.tsx b/bob_party/src/screens/GameChoice.tsx
index ab41c9e..d2f0257 100644
--- a/bob_party/src/screens/GameChoice.tsx
+++ b/bob_party/src/screens/GameChoice.tsx
@@ -15,7 +15,6 @@ let tabConv:Conversation[]=[];
const msc = require('../../assets/Icons/FondGris.png');
-const UserActu=new User("14", "leBg", "MdpDeOuf", "ouioui", "grand", new Date(2022,12,12), 12222, 123324, 12, tabSkinApp[0], tabSkinApp, tabConv);
const jeuTest= new GameSolo("SNAKE", require('../../assets/Icons/UnSelected/Gamepad.png'),"ouin", 1, 1,new Map);
function GameChoice(props: { navigation: any; }) {
const { navigation } = props
diff --git a/bob_party/src/screens/Home.tsx b/bob_party/src/screens/Home.tsx
index bd27d71..aa7c070 100644
--- a/bob_party/src/screens/Home.tsx
+++ b/bob_party/src/screens/Home.tsx
@@ -17,8 +17,6 @@ let tabConv:Conversation[]=[];
function Home(props: { navigation: any; }) {
const { navigation } = props
- const currentUser = useSelector((state: RootState) => state.currentUser.value[0]);
-
return (
state.currentUser.value)[0];
-
+ const currentUser = useSelector((state: RootState) => state.currentUserManager.currentUser);
return (
state.currentUser.value)[0];
+ const currentUser = useSelector((state: RootState) => state.currentUserManager.currentUser);
const [dialogPseudoVisible, setDialogPseudoVisible] = useState(false);
const [dialogPasswordVisible, setDialogPasswordVisible] = useState(false);
- const [dialogNationalityVisible, setDialogNationalityVisible] = useState(false);
- const [dialogSexVisible, setDialogSexVisible] = useState(false);
const [selectedSex, setSelectedSex] = useState("");
const [selectedNationality, setSelectedNationality] = useState("");
@@ -50,11 +49,11 @@ function Settings(props: { navigation: any; }) {
Nationalité: {currentUser.getNationality()}
- setDialogNationalityVisible(true)} title='Changer la nationnalité'/>
+ setSelectedNationality(value)} donePress={() => dispatch(updateNationality(selectedNationality))} values={tabNat} />
Sexe: {currentUser.getSexe()}
- setDialogSexVisible(true)} title='Changer le sexe'/>
+ setSelectedSex(value)} donePress={() => dispatch(updateSex(selectedSex))} values={tabSex} />
ID: {currentUser.getId()}
@@ -78,32 +77,6 @@ function Settings(props: { navigation: any; }) {
closeDialog={ () => {setDialogPasswordVisible(false)}}>
-
- Changer de nationalité
-
- setSelectedNationality(value)}
- items={tabNat}
- />
-
- setDialogNationalityVisible(false)} />
- {dispatch(updateNationality(selectedNationality)); setDialogNationalityVisible(false)}} />
-
-
-
- Changer de sexe
-
- setSelectedSex(value)}
- items={tabSex}
- />
-
- setDialogSexVisible(false)} />
- {dispatch(updateSex(selectedSex)); setDialogSexVisible(false)}} />
-
-
);
}
diff --git a/bob_party/src/screens/SignIn.tsx b/bob_party/src/screens/SignIn.tsx
index ad7414b..ce1e681 100644
--- a/bob_party/src/screens/SignIn.tsx
+++ b/bob_party/src/screens/SignIn.tsx
@@ -1,13 +1,16 @@
import { StatusBar } from 'expo-status-bar'
-import { View, Pressable, Text} from 'react-native'
+import { View, Pressable, Text, Alert} from 'react-native'
import React, { useState } from 'react';
import stylesScreen from './style/screens.style'
import { TextInput } from 'react-native-gesture-handler';
-import tabUS from "../constUser";
-import styles from "./style/SignIn.style"
-import { useDispatch, } from 'react-redux';
+import styles from "./style/SignIn.style";
+import { useDispatch, useSelector } from 'react-redux';
+import tabUS from '../constUser';
import { loginUser } from '../redux/features/currentUserSlice';
-
+import { checkCredentials } from '../core/Auth/login';
+import { RootState } from '../redux/store';
+import { updateIncorrectCredentials } from '../redux/features/credentialErrorsSlice';
+import Dialog from "react-native-dialog";
@@ -15,34 +18,39 @@ import { loginUser } from '../redux/features/currentUserSlice';
function SignIn(props: { navigation: any; }) {
const { navigation } = props
+ const errorList = useSelector((state: RootState) => state.credentialErrors.loginErrorList);
+
const [pseudo, setPseudo] = useState('');
const [password, setPassword] = useState('');
-
const dispatch=useDispatch();
- function userVerif(login: string, password: string, nav: any){
- if((tabUS.map((User) => User.getUsername()).indexOf(login)) !== -1){
- let id = (tabUS.map((User) => User.getUsername()).indexOf(login))
- if ((tabUS.map((User) => User.getUsername()).indexOf(login) === id) && ( tabUS[id].getPassword() === password) ){
- dispatch(loginUser(tabUS[id]));
- nav.navigate('HomeTab');
- }
- }
+ if (errorList.incorrectCredentials){
+ Alert.alert("Pseudo ou Mot de passe incorrect");
+ dispatch(updateIncorrectCredentials(true));
}
-
+
return (
setPseudo(val)} autoCapitalize='none' />
- setPassword(val)} autoCapitalize='none' />
- userVerif(pseudo, password, navigation)}>
+ setPassword(val)} autoCapitalize='none' secureTextEntry={true}/>
+ checkCredentials(pseudo, password, dispatch, navigation)}>
Se connecter
navigation.navigate('SignUp')}>
- Pas de compte? Inscrivez vous !
+ Pas de compte? Inscrivez vous !
+
+ Ce pseudo n'exsite pas
+ dispatch(updateIncorrectCredentials(false))} />
+
+
+ Mot de passe incorrect
+ dispatch(updateIncorrectCredentials(false))} />
+
+
);
}
diff --git a/bob_party/src/screens/SignUp.tsx b/bob_party/src/screens/SignUp.tsx
index 69d2d66..3a14bc3 100644
--- a/bob_party/src/screens/SignUp.tsx
+++ b/bob_party/src/screens/SignUp.tsx
@@ -1,29 +1,142 @@
-// import { StatusBar } from 'expo-status-bar'
-// import { StyleSheet, View, ImageSourcePropType, Pressable, Text} from 'react-native'
-// import React from 'react';
-// import stylesScreen from './style/screens.style'
-// import { TextInput } from 'react-native-gesture-handler';
-// import { ButtonGameTypeChoice } from '../components/ButtonGameTypeChoice';
-
-// import styles from "./style/SignIn.style"
-
-// function SignUp(props: { navigation: any; }) {
-// const { navigation } = props
-// return (
-//
-//
-//
-//
-//
-//
-//
-//
-//
-// S'inscrire
-//
-//
-//
-// );
-// }
-
-// export default SignUp
+import { StatusBar } from 'expo-status-bar'
+import { StyleSheet, View, ImageSourcePropType, Pressable, Text, Alert} from 'react-native'
+import React, { useState } from 'react';
+import stylesScreen from './style/screens.style'
+import { TextInput } from 'react-native-gesture-handler';
+import { ButtonGameTypeChoice } from '../components/ButtonGameTypeChoice';
+import styleScreen from "./style/screens.style";
+import styles from "./style/SignUp.style";
+import { useDispatch, useSelector } from 'react-redux';
+import { checkNewUserValidity } from '../core/Auth/newUser';
+import DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';
+import RNPickerSelect from "react-native-picker-select";
+import tabSex from '../constSex';
+import tabNat from '../constNat';
+import { PickerGreySmall } from '../components/PickerGreySmall';
+import { loginUser } from '../redux/features/currentUserSlice';
+import { RootState } from '../redux/store';
+import { updateImpossibleBirthDate, updateInvalidPassword, updateInvalidPseudo, updateTooLongPseudo, updateTooShortPassword, updateUndefinedBirthDate, updateUndefinedNationality, updateUndefinedPassword, updateUndefinedPseudo, updateUndefinedSex } from '../redux/features/credentialErrorsSlice';
+import { getSystemErrorMap } from 'util';
+import RNDateTimePicker from '@react-native-community/datetimepicker';
+
+function SignUp(props: { navigation: any; }) {
+ const { navigation } = props
+
+ const [pseudo, setPseudo] = useState('');
+ const [password, setPassword] = useState('');
+ const [date, setDate] = useState(new Date())
+
+
+ function onDateSelected(event : DateTimePickerEvent, value : Date | undefined) {
+ console.log(value);
+ if (value != undefined) {
+ setDate(value);
+ }
+ }
+
+ const [selectedSex, setSelectedSex] = useState('');
+ const [selectedNationality, setSelectedNationality] = useState('')
+
+ const errorList = useSelector((state: RootState) => state.credentialErrors.newUserErrorList);
+
+
+ const dispatch=useDispatch();
+
+ switch(true){
+ case (errorList.undefinedPseudo):
+ Alert.alert("Veuillez définir un pseudo");
+ dispatch(updateUndefinedPseudo(false));
+ break;
+
+ case (errorList.undefinedPassword):
+ Alert.alert("Veuillez définir un mot de passe");
+ dispatch(updateUndefinedPassword(false));
+ break;
+
+ case (errorList.undefinedBirthDate):
+ Alert.alert("Veuillez définir une date de naissance");
+ dispatch(updateUndefinedBirthDate(false));
+ break;
+
+ case (errorList.undefinedNationality):
+ Alert.alert("Veuillez définir une nationalité");
+ dispatch(updateUndefinedNationality(false))
+ break;
+
+ case (errorList.undefinedSex):
+ Alert.alert("Veuillez définir un sexe");
+ dispatch(updateUndefinedSex(false));
+ break;
+
+ case (errorList.tooLongPseudo):
+ Alert.alert("Votre pseudo ne doit pas dépasser 22 caractères");
+ dispatch(updateTooLongPseudo(false));
+ break;
+
+ case (errorList.invalidPseudo):
+ Alert.alert("Votre pseudo doit contenir uniquement des lettres des chiffres et des - ou _");
+ dispatch(updateInvalidPseudo(false));
+ break;
+
+ //ALREADY USED PSEUDO
+
+ case (errorList.tooShortPassword):
+ Alert.alert("Votre mot de passe doit faire au moins 8 caractères");
+ dispatch(updateTooShortPassword(false));
+ break;
+
+ case (errorList.invalidPassword):
+ Alert.alert("Votre pseudo doit contenir au moins une majuscule, une majuscule, un chiffre et un caractère spécial (#?!@$%^&*-)");
+ dispatch(updateInvalidPassword(false));
+ break;
+
+ case (errorList.impossibleBirthDate):
+ Alert.alert("Vous devez avoir au moins 13 ans");
+ dispatch(updateImpossibleBirthDate(false));
+ break;
+ }
+
+ return (
+
+
+
+
+ Login
+ setPseudo(val)} autoCapitalize='none' />
+
+
+
+ Password
+ setPassword(val)} autoCapitalize='none' />
+
+
+
+
+ Date de naissance
+
+ onDateSelected(event, value)} mode='date' value={date} themeVariant='dark'/>
+
+
+
+
+ Nationalité
+
+ setSelectedNationality(value)} values={tabNat} />
+
+
+
+ Sexe
+ setSelectedSex(value)} values={tabSex} />
+
+ checkNewUserValidity(pseudo,password,date,selectedNationality,selectedSex, dispatch, navigation)}>
+ S'inscrire
+
+ navigation.navigate('SignIn')}>
+ J'ai déjà un compte
+
+
+
+ );
+}
+
+export default SignUp
diff --git a/bob_party/src/screens/SkinList.tsx b/bob_party/src/screens/SkinList.tsx
index 94b5faa..d7d8d00 100644
--- a/bob_party/src/screens/SkinList.tsx
+++ b/bob_party/src/screens/SkinList.tsx
@@ -16,8 +16,6 @@ import { RootState } from '../redux/store';
function SkinList(props: { navigation: any; }) {
const { navigation } = props
- const currentUser = useSelector((state: RootState) => state.currentUser.value[0]);
-
return (
state.currentUser.value[0]);
+ const currentUser = useSelector((state: RootState) => state.currentUserManager.currentUser);
return (
diff --git a/bob_party/yarn.lock b/bob_party/yarn.lock
index c806614..fe5d035 100644
--- a/bob_party/yarn.lock
+++ b/bob_party/yarn.lock
@@ -3,36 +3,43 @@
"@ampproject/remapping@^2.1.0":
- version "2.2.0"
- resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz"
- integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
+ "integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w=="
+ "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz"
+ "version" "2.2.0"
dependencies:
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@babel/code-frame@7.10.4", "@babel/code-frame@~7.10.4":
- version "7.10.4"
- resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz"
- integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6":
+ "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q=="
+ "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz"
+ "version" "7.18.6"
+ dependencies:
+ "@babel/highlight" "^7.18.6"
+
+"@babel/code-frame@~7.10.4":
+ "integrity" "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="
+ "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz"
+ "version" "7.10.4"
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6":
- version "7.18.6"
- resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz"
- integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
+"@babel/code-frame@7.10.4":
+ "integrity" "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="
+ "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz"
+ "version" "7.10.4"
dependencies:
- "@babel/highlight" "^7.18.6"
+ "@babel/highlight" "^7.10.4"
"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3", "@babel/compat-data@^7.19.4":
"integrity" "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw=="
"resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz"
"version" "7.19.4"
-"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.12.9", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.7.5":
- version "7.19.3"
- resolved "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz"
- integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==
+"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.12.9", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.5":
+ "integrity" "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ=="
+ "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz"
+ "version" "7.19.3"
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6"
@@ -44,11 +51,11 @@
"@babel/template" "^7.18.10"
"@babel/traverse" "^7.19.3"
"@babel/types" "^7.19.3"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.2.1"
- semver "^6.3.0"
+ "convert-source-map" "^1.7.0"
+ "debug" "^4.1.0"
+ "gensync" "^1.0.0-beta.2"
+ "json5" "^2.2.1"
+ "semver" "^6.3.0"
"@babel/generator@^7.14.0", "@babel/generator@^7.19.3", "@babel/generator@^7.19.4":
"integrity" "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg=="
@@ -1483,12 +1490,12 @@
"@types/node" "*"
"jest-mock" "^26.6.2"
-"@jest/expect-utils@^29.1.2":
- "integrity" "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg=="
- "resolved" "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz"
- "version" "29.1.2"
+"@jest/expect-utils@^29.2.2":
+ "integrity" "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg=="
+ "resolved" "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz"
+ "version" "29.2.2"
dependencies:
- "jest-get-type" "^29.0.0"
+ "jest-get-type" "^29.2.0"
"@jest/fake-timers@^26.6.2":
"integrity" "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA=="
@@ -1623,10 +1630,10 @@
"@types/yargs" "^16.0.0"
"chalk" "^4.0.0"
-"@jest/types@^29.1.2":
- "integrity" "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg=="
- "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz"
- "version" "29.1.2"
+"@jest/types@^29.2.1":
+ "integrity" "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw=="
+ "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz"
+ "version" "29.2.1"
dependencies:
"@jest/schemas" "^29.0.0"
"@types/istanbul-lib-coverage" "^2.0.0"
@@ -1882,16 +1889,18 @@
"prompts" "^2.4.0"
"semver" "^6.3.0"
+"@react-native-community/datetimepicker@6.2.0":
+ "integrity" "sha512-w1ZS+wYO3qSASliRp+B7mPphOhtVm++rhSbj1WsgXdgLgDXSkDxpMnAXXQu9M0XdcgBwVJ6wDExeIwuzU5Jtfg=="
+ "resolved" "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-6.2.0.tgz"
+ "version" "6.2.0"
+ dependencies:
+ "invariant" "^2.2.4"
+
"@react-native-picker/picker@^1.8.3":
"integrity" "sha512-pacdQDX6V6EmjF+HoiIh6u++qx4mTK0WnhgUHRc01B+Qt5eoeUwseBqmqfTSXTx/aHDEd6PiIw7UGvKgFoqgFQ=="
"resolved" "https://registry.npmjs.org/@react-native-picker/picker/-/picker-1.16.8.tgz"
"version" "1.16.8"
-"@react-native-picker/picker@^2.4.8":
- "integrity" "sha512-5NQ5XPo1B03YNqKFrV6h9L3CQaHlB80wd4ETHUEABRP2iLh7FHLVObX2GfziD+K/VJb8G4KZcZ23NFBFP1f7bg=="
- "resolved" "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.4.8.tgz"
- "version" "2.4.8"
-
"@react-native/assets@1.0.0":
"integrity" "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ=="
"resolved" "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz"
@@ -2197,9 +2206,9 @@
"wonka" "^4.0.14"
"@xmldom/xmldom@~0.7.0":
- "integrity" "sha512-HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ=="
- "resolved" "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.6.tgz"
- "version" "0.7.6"
+ "integrity" "sha512-PrJx38EfpitFhwmILRl37jAdBlsww6AZ6rRVK4QS7T7RHLhX7mSs647sTmgr9GIxe3qjXdesmomEgbgaokrVFg=="
+ "resolved" "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.8.tgz"
+ "version" "0.7.8"
"abab@^2.0.3", "abab@^2.0.5":
"integrity" "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="
@@ -2245,9 +2254,9 @@
"version" "7.4.1"
"acorn@^8.2.4":
- "integrity" "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
- "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz"
- "version" "8.8.0"
+ "integrity" "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
+ "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz"
+ "version" "8.8.1"
"agent-base@6":
"integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="
@@ -2674,14 +2683,7 @@
dependencies:
"stream-buffers" "2.2.x"
-"bplist-parser@^0.3.1":
- "integrity" "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ=="
- "resolved" "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz"
- "version" "0.3.2"
- dependencies:
- "big-integer" "1.6.x"
-
-"bplist-parser@0.3.1":
+"bplist-parser@^0.3.1", "bplist-parser@0.3.1":
"integrity" "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA=="
"resolved" "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz"
"version" "0.3.1"
@@ -2915,7 +2917,7 @@
"resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
"version" "1.0.2"
-"charenc@~0.0.1", "charenc@0.0.2":
+"charenc@~0.0.1":
"integrity" "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="
"resolved" "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz"
"version" "0.0.2"
@@ -3224,7 +3226,7 @@
"shebang-command" "^2.0.0"
"which" "^2.0.1"
-"crypt@~0.0.1", "crypt@0.0.2":
+"crypt@~0.0.1":
"integrity" "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="
"resolved" "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz"
"version" "0.0.2"
@@ -3457,10 +3459,10 @@
"resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz"
"version" "26.6.2"
-"diff-sequences@^29.0.0":
- "integrity" "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA=="
- "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz"
- "version" "29.0.0"
+"diff-sequences@^29.2.0":
+ "integrity" "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw=="
+ "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz"
+ "version" "29.2.0"
"dir-glob@^3.0.1":
"integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="
@@ -3676,15 +3678,15 @@
"jest-regex-util" "^26.0.0"
"expect@^29.0.0":
- "integrity" "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw=="
- "resolved" "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz"
- "version" "29.1.2"
+ "integrity" "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw=="
+ "resolved" "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz"
+ "version" "29.2.2"
dependencies:
- "@jest/expect-utils" "^29.1.2"
- "jest-get-type" "^29.0.0"
- "jest-matcher-utils" "^29.1.2"
- "jest-message-util" "^29.1.2"
- "jest-util" "^29.1.2"
+ "@jest/expect-utils" "^29.2.2"
+ "jest-get-type" "^29.2.0"
+ "jest-matcher-utils" "^29.2.2"
+ "jest-message-util" "^29.2.1"
+ "jest-util" "^29.2.1"
"expo-application@~4.2.2":
"integrity" "sha512-bFEaFRUdV6aK2iBd+HzkHNPYsyj88EAhaQW5leznmO0qQMJxpAQ3eoUXMey1hfDBh1qgkkHgSyCZ9BIgMAGJ1g=="
@@ -4517,7 +4519,7 @@
"resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz"
"version" "0.3.2"
-"is-buffer@^1.1.5", "is-buffer@~1.1.1", "is-buffer@~1.1.6":
+"is-buffer@^1.1.5", "is-buffer@~1.1.1":
"integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
"resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
"version" "1.1.6"
@@ -4865,15 +4867,15 @@
"jest-get-type" "^26.3.0"
"pretty-format" "^26.6.2"
-"jest-diff@^29.1.2":
- "integrity" "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ=="
- "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz"
- "version" "29.1.2"
+"jest-diff@^29.2.1":
+ "integrity" "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA=="
+ "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz"
+ "version" "29.2.1"
dependencies:
"chalk" "^4.0.0"
- "diff-sequences" "^29.0.0"
- "jest-get-type" "^29.0.0"
- "pretty-format" "^29.1.2"
+ "diff-sequences" "^29.2.0"
+ "jest-get-type" "^29.2.0"
+ "pretty-format" "^29.2.1"
"jest-docblock@^26.0.0":
"integrity" "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w=="
@@ -4923,10 +4925,10 @@
"resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz"
"version" "26.3.0"
-"jest-get-type@^29.0.0":
- "integrity" "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw=="
- "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz"
- "version" "29.0.0"
+"jest-get-type@^29.2.0":
+ "integrity" "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA=="
+ "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz"
+ "version" "29.2.0"
"jest-haste-map@^26.6.2":
"integrity" "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w=="
@@ -5011,15 +5013,15 @@
"jest-get-type" "^26.3.0"
"pretty-format" "^26.6.2"
-"jest-matcher-utils@^29.1.2":
- "integrity" "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw=="
- "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz"
- "version" "29.1.2"
+"jest-matcher-utils@^29.2.2":
+ "integrity" "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw=="
+ "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz"
+ "version" "29.2.2"
dependencies:
"chalk" "^4.0.0"
- "jest-diff" "^29.1.2"
- "jest-get-type" "^29.0.0"
- "pretty-format" "^29.1.2"
+ "jest-diff" "^29.2.1"
+ "jest-get-type" "^29.2.0"
+ "pretty-format" "^29.2.1"
"jest-message-util@^26.6.2":
"integrity" "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA=="
@@ -5036,18 +5038,18 @@
"slash" "^3.0.0"
"stack-utils" "^2.0.2"
-"jest-message-util@^29.1.2":
- "integrity" "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ=="
- "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz"
- "version" "29.1.2"
+"jest-message-util@^29.2.1":
+ "integrity" "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw=="
+ "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz"
+ "version" "29.2.1"
dependencies:
"@babel/code-frame" "^7.12.13"
- "@jest/types" "^29.1.2"
+ "@jest/types" "^29.2.1"
"@types/stack-utils" "^2.0.0"
"chalk" "^4.0.0"
"graceful-fs" "^4.2.9"
"micromatch" "^4.0.4"
- "pretty-format" "^29.1.2"
+ "pretty-format" "^29.2.1"
"slash" "^3.0.0"
"stack-utils" "^2.0.3"
@@ -5218,12 +5220,12 @@
"graceful-fs" "^4.2.9"
"picomatch" "^2.2.3"
-"jest-util@^29.1.2":
- "integrity" "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ=="
- "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz"
- "version" "29.1.2"
+"jest-util@^29.2.1":
+ "integrity" "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g=="
+ "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz"
+ "version" "29.2.1"
dependencies:
- "@jest/types" "^29.1.2"
+ "@jest/types" "^29.2.1"
"@types/node" "*"
"chalk" "^4.0.0"
"ci-info" "^3.2.0"
@@ -5647,16 +5649,7 @@
dependencies:
"buffer-alloc" "^1.1.0"
-"md5@^2.2.1":
- "integrity" "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g=="
- "resolved" "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz"
- "version" "2.3.0"
- dependencies:
- "charenc" "0.0.2"
- "crypt" "0.0.2"
- "is-buffer" "~1.1.6"
-
-"md5@~2.2.0":
+"md5@^2.2.1", "md5@~2.2.0":
"integrity" "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ=="
"resolved" "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz"
"version" "2.2.1"
@@ -6703,18 +6696,18 @@
"react-is" "^17.0.1"
"pretty-format@^29.0.0":
- "integrity" "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg=="
- "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz"
- "version" "29.1.2"
+ "integrity" "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA=="
+ "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz"
+ "version" "29.2.1"
dependencies:
"@jest/schemas" "^29.0.0"
"ansi-styles" "^5.0.0"
"react-is" "^18.0.0"
-"pretty-format@^29.1.2":
- "integrity" "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg=="
- "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz"
- "version" "29.1.2"
+"pretty-format@^29.2.1":
+ "integrity" "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA=="
+ "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz"
+ "version" "29.2.1"
dependencies:
"@jest/schemas" "^29.0.0"
"ansi-styles" "^5.0.0"
@@ -6743,9 +6736,9 @@
"asap" "~2.0.3"
"promise@^8.2.0":
- "integrity" "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg=="
- "resolved" "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz"
- "version" "8.2.0"
+ "integrity" "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg=="
+ "resolved" "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz"
+ "version" "8.3.0"
dependencies:
"asap" "~2.0.6"
@@ -6757,7 +6750,7 @@
"kleur" "^3.0.3"
"sisteransi" "^1.0.5"
-"prop-types@^15.7.2":
+"prop-types@^15.7.2", "prop-types@^15.8.1":
"integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="
"resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
"version" "15.8.1"
@@ -6895,6 +6888,13 @@
"jscodeshift" "^0.13.1"
"nullthrows" "^1.1.1"
+"react-native-date-picker@^4.2.5":
+ "integrity" "sha512-YjwiMpZEnVVS+ymLvmJDicVZ3pSR+nJHgtAhctMl6fO8f7iRNcYhY427gemlTBf2Ji+XIAK0Agyl255DhaemFw=="
+ "resolved" "https://registry.npmjs.org/react-native-date-picker/-/react-native-date-picker-4.2.5.tgz"
+ "version" "4.2.5"
+ dependencies:
+ "prop-types" "^15.8.1"
+
"react-native-dialog-input@^1.0.8":
"integrity" "sha512-W9YNMt6r+rUUMDEkOR1WMuGfSJw97ujB8H1xp8TjJTOnYVSlsf4aEP6t+J8tVk3XZaDcTawXgDjxH6E1WVWRog=="
"resolved" "https://registry.npmjs.org/react-native-dialog-input/-/react-native-dialog-input-1.0.8.tgz"
@@ -7019,7 +7019,7 @@
"object-assign" "^4.1.1"
"react-is" "^16.12.0 || ^17.0.0 || ^18.0.0"
-"react@*", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.8 || ^17.0 || ^18.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.9.0 || ^17.0.0 || ^18", "react@^17.0.2 || ^18.0.0", "react@^18.0.0", "react@>=16", "react@>=17.0.0", "react@18.0.0":
+"react@*", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.8 || ^17.0 || ^18.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.9.0 || ^17.0.0 || ^18", "react@^17.0.2 || ^18.0.0", "react@^18.0.0", "react@>=17.0.0", "react@18.0.0":
"integrity" "sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A=="
"resolved" "https://registry.npmjs.org/react/-/react-18.0.0.tgz"
"version" "18.0.0"
@@ -7276,10 +7276,10 @@
"resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
"version" "1.0.4"
-"rimraf@^2.5.4", "rimraf@^2.6.2":
- "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="
- "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
- "version" "2.7.1"
+"rimraf@^2.5.4", "rimraf@^2.6.2", "rimraf@~2.6.2":
+ "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="
+ "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz"
+ "version" "2.6.3"
dependencies:
"glob" "^7.1.3"
@@ -7309,13 +7309,6 @@
dependencies:
"glob" "^6.0.1"
-"rimraf@~2.6.2":
- "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="
- "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz"
- "version" "2.6.3"
- dependencies:
- "glob" "^7.1.3"
-
"rsvp@^4.8.4":
"integrity" "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA=="
"resolved" "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz"
@@ -8112,14 +8105,14 @@
"version" "1.14.1"
"tslib@^2.0.1":
- "integrity" "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz"
- "version" "2.4.0"
+ "integrity" "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
+ "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz"
+ "version" "2.4.1"
"tslib@^2.1.0":
- "integrity" "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz"
- "version" "2.4.0"
+ "integrity" "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
+ "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz"
+ "version" "2.4.1"
"type-check@~0.3.2":
"integrity" "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg=="
diff --git a/create.sql b/create.sql
deleted file mode 100644
index 398fa4b..0000000
--- a/create.sql
+++ /dev/null
@@ -1,108 +0,0 @@
-#Drop all the tables
-
-DROP TABLE Battle;
-DROP TABLE Own;
-DROP TABLE Message;
-DROP TABLE Belong;
-DROP TABLE ConvGroup;
-DROP TABLE User;
-DROP TABLE Skin;
-DROP TABLE Game;
-
-
-
-
-#Create the User table
-
-CREATE TABLE User (
- ID char(5) PRIMARY KEY,
- Username varchar(20) NOT NULL,
- Password varchar(20) NOT NULL,
- Nationality varchar(20) NOT NULL,
- Sex char(1) NOT NULL,
- DateOfBirth date NOT NULL,
- CurrentBobCoins bigint(255) DEFAULT 0,
- TotalBobCoins bigint(255) DEFAULT 0,
- NbGamePlayed bigint(255) DEFAULT 0
-);
-
-
-
-#Create the Skin table
-
-CREATE TABLE Skin (
- ID char(5) PRIMARY KEY,
- Name varchar(20) UNIQUE NOT NULL,
- Image varchar(20) UNIQUE NOT NULL
-);
-
-
-
-#Create the Own table
-
-CREATE TABLE Own (
- IDSkin char(5),
- IDUser char(5),
- CONSTRAINT FK_Skin FOREIGN KEY (IDSkin) REFERENCES User(ID),
- CONSTRAINT FK_User FOREIGN KEY (IDUser) REFERENCES Skin(ID),
- PRIMARY KEY (IDUser, IDSkin)
-);
-
-
-
-#Create the Game table
-
-CREATE TABLE Game (
- ID char(5) PRIMARY KEY,
- Name varchar(20) UNIQUE NOT NULL
-);
-
-
-
-#Create the Match table
-
-CREATE TABLE Battle (
- ID char(5) PRIMARY KEY,
- Winner char(5) NOT NULL,
- Loser char(5) NOT NULL,
- Game char(5) NOT NULL,
- CONSTRAINT Fk_Winner FOREIGN KEY (Winner) REFERENCES User(ID),
- CONSTRAINT Fk_Loser FOREIGN KEY (Loser) REFERENCES User(ID),
- CONSTRAINT Fk_Game FOREIGN KEY (Game) REFERENCES Game(ID)
-);
-
-
-
-#Create the Group table
-
-CREATE TABLE ConvGroup (
- ID char(5) PRIMARY KEY,
- Name varchar(20) NOT NULL
-);
-
-
-
-#Create the Message table
-
-CREATE TABLE Message (
- ID char(5) PRIMARY KEY,
- Message text NOT NULL,
- IDSender char(5) NOT NULL,
- IDUserReceiver char(5),
- IDGroupReceiver char(5),
- CONSTRAINT Fk_Sender FOREIGN KEY (IDSender) REFERENCES User(ID),
- CONSTRAINT Fk_UsRec FOREIGN KEY (IDUserReceiver) REFERENCES User(ID),
- CONSTRAINT Fk_GrRec FOREIGN KEY (IDGroupReceiver) REFERENCES ConvGroup(ID)
-);
-
-
-
-#Create the Belong Table
-
-CREATE TABLE Belong (
- IDUser char(5),
- IDGroup char(5),
- CONSTRAINT Fk_UserID FOREIGN KEY (IDUser) REFERENCES User(ID),
- CONSTRAINT Fk_Group FOREIGN KEY (IDGroup) REFERENCES ConvGroup(ID),
- PRIMARY KEY (IDUser, IDGroup)
-);
\ No newline at end of file