From d52b47a2c19df40d9659d285f1a2d2f59d2d1267 Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Fri, 5 Aug 2022 23:16:04 -0600 Subject: [PATCH 01/16] mobile home component --- .expo/README.md | 15 ++++++++ .expo/settings.json | 8 +++++ mobile-ui/App.js | 34 +++++------------- .../{Logo_Katoikia.png => logo-katoikia.png} | Bin mobile-ui/components/Home.js | 28 +++++++++++++++ 5 files changed, 59 insertions(+), 26 deletions(-) create mode 100644 .expo/README.md create mode 100644 .expo/settings.json rename mobile-ui/assets/{Logo_Katoikia.png => logo-katoikia.png} (100%) create mode 100644 mobile-ui/components/Home.js diff --git a/.expo/README.md b/.expo/README.md new file mode 100644 index 00000000..fd146b4d --- /dev/null +++ b/.expo/README.md @@ -0,0 +1,15 @@ +> Why do I have a folder named ".expo" in my project? + +The ".expo" folder is created when an Expo project is started using "expo start" command. + +> What do the files contain? + +- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds. +- "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator. +- "settings.json": contains the server configuration that is used to serve the application manifest. + +> Should I commit the ".expo" folder? + +No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine. + +Upon project creation, the ".expo" folder is already added to your ".gitignore" file. diff --git a/.expo/settings.json b/.expo/settings.json new file mode 100644 index 00000000..92bc513b --- /dev/null +++ b/.expo/settings.json @@ -0,0 +1,8 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null, + "https": false +} diff --git a/mobile-ui/App.js b/mobile-ui/App.js index 0b181475..169933a1 100644 --- a/mobile-ui/App.js +++ b/mobile-ui/App.js @@ -18,6 +18,7 @@ import { } from "native-base"; import NativeBaseIcon from "./components/NativeBaseIcon"; import { Platform } from "react-native"; +import logo from "./assets/logo-katoikia.png" // Define the config const config = { @@ -31,17 +32,18 @@ colors: { brown: "#D7A86E" } }); -//const logo = require('./assets/') +// const logo = require('./assets/logo-katoikia.png') + export default function App() { return (
- {/* Katoikia logo */} + Katoikia logo Continuar - - {/* - I'm a new user. - */} - - Regístrese aquí - - +
diff --git a/mobile-ui/assets/Logo_Katoikia.png b/mobile-ui/assets/logo-katoikia.png similarity index 100% rename from mobile-ui/assets/Logo_Katoikia.png rename to mobile-ui/assets/logo-katoikia.png diff --git a/mobile-ui/components/Home.js b/mobile-ui/components/Home.js new file mode 100644 index 00000000..cce81831 --- /dev/null +++ b/mobile-ui/components/Home.js @@ -0,0 +1,28 @@ +import React from "react"; +import { + Text, + Link, + HStack, + Center, + Heading, + Switch, + useColorMode, + NativeBaseProvider, + extendTheme, + VStack, + Box, + FormControl, + Input, + Button, + Image + } from "native-base"; + +export default function Home(){ + + return ( + + + + + ) +} \ No newline at end of file From ec0d604e34a151b6433531a0d2e34efb3f976db2 Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Tue, 9 Aug 2022 16:03:48 -0600 Subject: [PATCH 02/16] insert react navigation and home component --- mobile-ui/App.js | 123 +---- mobile-ui/components/Home.js | 38 +- mobile-ui/components/LogIn.js | 88 ++++ mobile-ui/components/RecoverPassword.js | 13 + mobile-ui/package-lock.json | 592 ++++++++++++++++++++++++ mobile-ui/package.json | 7 + 6 files changed, 738 insertions(+), 123 deletions(-) create mode 100644 mobile-ui/components/LogIn.js create mode 100644 mobile-ui/components/RecoverPassword.js diff --git a/mobile-ui/App.js b/mobile-ui/App.js index 169933a1..9f43ccee 100644 --- a/mobile-ui/App.js +++ b/mobile-ui/App.js @@ -1,120 +1,27 @@ import React from "react"; import { - Text, - Link, - HStack, - Center, - Heading, - Switch, - useColorMode, - NativeBaseProvider, - extendTheme, - VStack, - Box, - FormControl, - Input, - Button, - Image + NativeBaseProvider } from "native-base"; -import NativeBaseIcon from "./components/NativeBaseIcon"; -import { Platform } from "react-native"; -import logo from "./assets/logo-katoikia.png" - -// Define the config -const config = { - useSystemColorMode: false, - initialColorMode: "dark", -}; - -// extend the theme -export const theme = extendTheme({ config, -colors: { - brown: "#D7A86E" -} }); - -// const logo = require('./assets/logo-katoikia.png') +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import LogIn from "./components/LogIn"; +import Home from "./components/Home"; +import RecoverPassword from "./components/RecoverPassword"; +const Stack = createNativeStackNavigator(); export default function App() { return ( -
- - Katoikia logo - - Bienvenido a Katoikia - - - Su app de comunidad de confianza - - - - - Correo Electrónico - - - - Contraseña - - - Recuperar contraseña - - - - - - - -
+ + + + + + +
); -} - -// Color Switch Component -function ToggleDarkMode() { - const { colorMode, toggleColorMode } = useColorMode(); - return ( - - Dark - - Light - - ); -} +} \ No newline at end of file diff --git a/mobile-ui/components/Home.js b/mobile-ui/components/Home.js index cce81831..04070bb0 100644 --- a/mobile-ui/components/Home.js +++ b/mobile-ui/components/Home.js @@ -1,28 +1,36 @@ import React from "react"; import { Text, - Link, HStack, - Center, - Heading, - Switch, - useColorMode, NativeBaseProvider, - extendTheme, - VStack, + IconButton, Box, - FormControl, - Input, - Button, - Image + StatusBar, + Icon, + MaterialIcons, + Center } from "native-base"; export default function Home(){ return ( - - - - +
+ + + + + } /> + + Home + + + + } /> + } /> + } /> + + +
+ ) } \ No newline at end of file diff --git a/mobile-ui/components/LogIn.js b/mobile-ui/components/LogIn.js new file mode 100644 index 00000000..ed542d83 --- /dev/null +++ b/mobile-ui/components/LogIn.js @@ -0,0 +1,88 @@ +import React from "react"; +import { + Text, + Link, + HStack, + Center, + Heading, + Switch, + useColorMode, + NativeBaseProvider, + extendTheme, + VStack, + Box, + FormControl, + Input, + Button, + Image +} from "native-base"; +import logo from "../assets/logo-katoikia.png"; + + +export default function LogIn({navigation}) { + return ( + + +
+ + Katoikia logo + + + Bienvenido a Katoikia + + + Su app de comunidad de confianza + + + + + Correo Electrónico + + + + Contraseña + + navigation.navigate('Password')} + > + Recuperar contraseña + + + + + + + +
+ + + ); +} \ No newline at end of file diff --git a/mobile-ui/components/RecoverPassword.js b/mobile-ui/components/RecoverPassword.js new file mode 100644 index 00000000..62dce460 --- /dev/null +++ b/mobile-ui/components/RecoverPassword.js @@ -0,0 +1,13 @@ +import { Center } from "native-base"; +import React from "react"; + +export default function RecoverPassword () { + +return ( + +
+ + +
+) +} \ No newline at end of file diff --git a/mobile-ui/package-lock.json b/mobile-ui/package-lock.json index 51face23..860e1166 100644 --- a/mobile-ui/package-lock.json +++ b/mobile-ui/package-lock.json @@ -9,13 +9,20 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "@react-native-community/masked-view": "^0.1.11", + "@react-navigation/native": "^6.0.11", + "@react-navigation/native-stack": "^6.7.0", + "@react-navigation/stack": "^6.2.2", "expo": "^44.0.0", "expo-status-bar": "~1.2.0", "native-base": "3.4.0", "react": "17.0.1", "react-dom": "17.0.1", "react-native": "0.64.3", + "react-native-gesture-handler": "~2.1.0", + "react-native-reanimated": "~2.3.1", "react-native-safe-area-context": "3.3.2", + "react-native-screens": "~3.10.1", "react-native-svg": "12.1.1", "react-native-web": "0.17.1" }, @@ -1810,6 +1817,17 @@ "node": ">=0.1.95" } }, + "node_modules/@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "dependencies": { + "@types/hammerjs": "^2.0.36" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@expo/config": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/@expo/config/-/config-6.0.6.tgz", @@ -3490,6 +3508,16 @@ "node": ">= 4.0.0" } }, + "node_modules/@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==", + "deprecated": "Repository was moved to @react-native-masked-view/masked-view", + "peerDependencies": { + "react": ">=16.0", + "react-native": ">=0.57" + } + }, "node_modules/@react-native/assets": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", @@ -3505,6 +3533,116 @@ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" }, + "node_modules/@react-navigation/core": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.2.2.tgz", + "integrity": "sha512-gEJ1gRqt1EIqRrnJIpSQ0wWJRue9maAQNKYrlQ0a/LSKErF3g6w+sD2wW4Bbb1yj88pGhKeuI4wdB9MVK766Pg==", + "dependencies": { + "@react-navigation/routers": "^6.1.1", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.23", + "query-string": "^7.0.0", + "react-is": "^16.13.0" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@react-navigation/core/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-navigation/core/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/@react-navigation/elements": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.4.tgz", + "integrity": "sha512-O0jICpjn3jskVo4yiWzZozmj7DZy1ZBbn3O7dbenuUjZSj/cscjwaapmZZFGcI/IMmjmx8UTKsybhCFEIbGf3g==", + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/native": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.0.11.tgz", + "integrity": "sha512-z0YTB7Czdb9SNjxfzcFNB3Vym0qmUcxpiYGOOXX8PH0s+xlIs/w+2RVp6YAvAC48A30o7MMCYqy5OeR6lrtWHg==", + "dependencies": { + "@react-navigation/core": "^6.2.2", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-navigation/native-stack": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.7.0.tgz", + "integrity": "sha512-03CuSwbBvP9+iXgjrTRRw+aog+KZXbhPzqCWVExzIWNOzf5/PJEcdtlm9KDrx2aHHDtDA6LRLKQA4UIlJOmNzA==", + "dependencies": { + "@react-navigation/elements": "^1.3.4", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/native/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-navigation/routers": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.1.tgz", + "integrity": "sha512-mWWj2yh4na/OBaE7bWrft4kdAtxnG8MlV6ph3Bi6tHqgcnxENX+dnQY6y0qg/6E7cmMlaJg5nAC5y4Enr5ir8A==", + "dependencies": { + "nanoid": "^3.1.23" + } + }, + "node_modules/@react-navigation/stack": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.2.2.tgz", + "integrity": "sha512-P9ZfmluOXNmbs7YdG1UWS1fAh87Yse9aX8TgqOz4FlHEm5q7g5eaM35QgWByt+wif3UiqE40D8wXpqRQvMgPWg==", + "dependencies": { + "@react-navigation/elements": "^1.3.4", + "color": "^4.2.3", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-gesture-handler": ">= 1.0.0", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, "node_modules/@react-stately/checkbox": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.2.0.tgz", @@ -3947,6 +4085,16 @@ "@types/node": "*" } }, + "node_modules/@types/hammerjs": { + "version": "2.0.41", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz", + "integrity": "sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA==" + }, + "node_modules/@types/invariant": { + "version": "2.2.35", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.35.tgz", + "integrity": "sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg==" + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -4843,6 +4991,18 @@ "node": ">=0.10.0" } }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -4856,6 +5016,31 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", @@ -5860,6 +6045,11 @@ "node": ">=0.10.0" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, "node_modules/fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -5929,6 +6119,14 @@ "node": ">=8" } }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -6306,6 +6504,19 @@ "node": ">=8" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -7960,6 +8171,11 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mockdate": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/mockdate/-/mockdate-3.0.5.tgz", + "integrity": "sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==" + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7975,6 +8191,17 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -8749,6 +8976,23 @@ "once": "^1.3.1" } }, + "node_modules/query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -8835,6 +9079,17 @@ "react": "17.0.1" } }, + "node_modules/react-freeze": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", + "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=17.0.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -8898,6 +9153,18 @@ "nullthrows": "^1.1.1" } }, + "node_modules/react-native-gesture-handler": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.1.3.tgz", + "integrity": "sha512-y5W2MVB+J6vjIT/mUidDv0BqVRbWXn0cP7R2o6fsSYsHh9M0btT979+bCI7nPuhmRHjkhg5xCm4HNMIH0IQO4w==", + "dependencies": { + "@egjs/hammerjs": "^2.0.17", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "lodash": "^4.17.21", + "prop-types": "^15.7.2" + } + }, "node_modules/react-native-iphone-x-helper": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", @@ -8918,6 +9185,25 @@ "react-native": ">=0.48.4" } }, + "node_modules/react-native-reanimated": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-2.3.3.tgz", + "integrity": "sha512-uQofwsWUoKLY4QDgSdNbRxnqQDaQEPLLBNO9SP64JfQ2fDRJD5rjb4d3S29F0z9FqTnsWEwTL2Sl0spdx9xvHA==", + "dependencies": { + "@babel/plugin-transform-object-assign": "^7.10.4", + "@types/invariant": "^2.2.35", + "invariant": "^2.2.4", + "lodash.isequal": "^4.5.0", + "mockdate": "^3.0.2", + "react-native-screens": "^3.4.0", + "string-hash-64": "^1.0.3" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-gesture-handler": "*" + } + }, "node_modules/react-native-safe-area-context": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", @@ -8927,6 +9213,19 @@ "react-native": "*" } }, + "node_modules/react-native-screens": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.10.2.tgz", + "integrity": "sha512-bMKSpwMeqAoXBqTJiDEG1ogM1cMk66sEmpp/4dGqdX59v+OwMqPeTuBk37qaSuS7gPOFFKsNW2X3ymGvBT4iEw==", + "dependencies": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-svg": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.1.tgz", @@ -9690,6 +9989,19 @@ "plist": "^3.0.5" } }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -9948,6 +10260,14 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "deprecated": "See https://github.com/lydell/source-map-url#deprecated" }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -10089,6 +10409,14 @@ "node": ">= 0.10.0" } }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "engines": { + "node": ">=4" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -10097,6 +10425,11 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string-hash-64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string-hash-64/-/string-hash-64-1.0.3.tgz", + "integrity": "sha512-D5OKWKvDhyVWWn2x5Y9b+37NUllks34q1dCDhk/vYcso9fmhs+Tl3KR/gE4v5UNj2UA35cnX4KdVVGkG1deKqw==" + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -10643,6 +10976,11 @@ "makeerror": "1.0.12" } }, + "node_modules/warn-once": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", + "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==" + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -12132,6 +12470,14 @@ "minimist": "^1.2.0" } }, + "@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "requires": { + "@types/hammerjs": "^2.0.36" + } + }, "@expo/config": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/@expo/config/-/config-6.0.6.tgz", @@ -13485,6 +13831,12 @@ "ora": "^3.4.0" } }, + "@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==", + "requires": {} + }, "@react-native/assets": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", @@ -13500,6 +13852,81 @@ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" }, + "@react-navigation/core": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.2.2.tgz", + "integrity": "sha512-gEJ1gRqt1EIqRrnJIpSQ0wWJRue9maAQNKYrlQ0a/LSKErF3g6w+sD2wW4Bbb1yj88pGhKeuI4wdB9MVK766Pg==", + "requires": { + "@react-navigation/routers": "^6.1.1", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.23", + "query-string": "^7.0.0", + "react-is": "^16.13.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "@react-navigation/elements": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.4.tgz", + "integrity": "sha512-O0jICpjn3jskVo4yiWzZozmj7DZy1ZBbn3O7dbenuUjZSj/cscjwaapmZZFGcI/IMmjmx8UTKsybhCFEIbGf3g==", + "requires": {} + }, + "@react-navigation/native": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.0.11.tgz", + "integrity": "sha512-z0YTB7Czdb9SNjxfzcFNB3Vym0qmUcxpiYGOOXX8PH0s+xlIs/w+2RVp6YAvAC48A30o7MMCYqy5OeR6lrtWHg==", + "requires": { + "@react-navigation/core": "^6.2.2", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@react-navigation/native-stack": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.7.0.tgz", + "integrity": "sha512-03CuSwbBvP9+iXgjrTRRw+aog+KZXbhPzqCWVExzIWNOzf5/PJEcdtlm9KDrx2aHHDtDA6LRLKQA4UIlJOmNzA==", + "requires": { + "@react-navigation/elements": "^1.3.4", + "warn-once": "^0.1.0" + } + }, + "@react-navigation/routers": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.1.tgz", + "integrity": "sha512-mWWj2yh4na/OBaE7bWrft4kdAtxnG8MlV6ph3Bi6tHqgcnxENX+dnQY6y0qg/6E7cmMlaJg5nAC5y4Enr5ir8A==", + "requires": { + "nanoid": "^3.1.23" + } + }, + "@react-navigation/stack": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.2.2.tgz", + "integrity": "sha512-P9ZfmluOXNmbs7YdG1UWS1fAh87Yse9aX8TgqOz4FlHEm5q7g5eaM35QgWByt+wif3UiqE40D8wXpqRQvMgPWg==", + "requires": { + "@react-navigation/elements": "^1.3.4", + "color": "^4.2.3", + "warn-once": "^0.1.0" + } + }, "@react-stately/checkbox": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.2.0.tgz", @@ -13846,6 +14273,16 @@ "@types/node": "*" } }, + "@types/hammerjs": { + "version": "2.0.41", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz", + "integrity": "sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA==" + }, + "@types/invariant": { + "version": "2.2.35", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.35.tgz", + "integrity": "sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg==" + }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -14551,6 +14988,30 @@ "object-visit": "^1.0.0" } }, + "color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -14564,6 +15025,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", @@ -15360,6 +15830,11 @@ } } }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, "fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -15423,6 +15898,11 @@ "to-regex-range": "^5.0.1" } }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -15704,6 +16184,21 @@ "source-map": "^0.7.3" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, "http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -17044,6 +17539,11 @@ "minimist": "^1.2.6" } }, + "mockdate": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/mockdate/-/mockdate-3.0.5.tgz", + "integrity": "sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -17059,6 +17559,11 @@ "thenify-all": "^1.0.0" } }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -17645,6 +18150,17 @@ "once": "^1.3.1" } }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -17696,6 +18212,12 @@ "scheduler": "^0.20.1" } }, + "react-freeze": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", + "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "requires": {} + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -17765,6 +18287,18 @@ "nullthrows": "^1.1.1" } }, + "react-native-gesture-handler": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.1.3.tgz", + "integrity": "sha512-y5W2MVB+J6vjIT/mUidDv0BqVRbWXn0cP7R2o6fsSYsHh9M0btT979+bCI7nPuhmRHjkhg5xCm4HNMIH0IQO4w==", + "requires": { + "@egjs/hammerjs": "^2.0.17", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "lodash": "^4.17.21", + "prop-types": "^15.7.2" + } + }, "react-native-iphone-x-helper": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", @@ -17780,12 +18314,35 @@ "react-native-iphone-x-helper": "^1.0.3" } }, + "react-native-reanimated": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-2.3.3.tgz", + "integrity": "sha512-uQofwsWUoKLY4QDgSdNbRxnqQDaQEPLLBNO9SP64JfQ2fDRJD5rjb4d3S29F0z9FqTnsWEwTL2Sl0spdx9xvHA==", + "requires": { + "@babel/plugin-transform-object-assign": "^7.10.4", + "@types/invariant": "^2.2.35", + "invariant": "^2.2.4", + "lodash.isequal": "^4.5.0", + "mockdate": "^3.0.2", + "react-native-screens": "^3.4.0", + "string-hash-64": "^1.0.3" + } + }, "react-native-safe-area-context": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", "integrity": "sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==", "requires": {} }, + "react-native-screens": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.10.2.tgz", + "integrity": "sha512-bMKSpwMeqAoXBqTJiDEG1ogM1cMk66sEmpp/4dGqdX59v+OwMqPeTuBk37qaSuS7gPOFFKsNW2X3ymGvBT4iEw==", + "requires": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + } + }, "react-native-svg": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.1.tgz", @@ -18384,6 +18941,21 @@ "plist": "^3.0.5" } }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -18592,6 +19164,11 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -18703,6 +19280,11 @@ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==" }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -18711,6 +19293,11 @@ "safe-buffer": "~5.1.0" } }, + "string-hash-64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string-hash-64/-/string-hash-64-1.0.3.tgz", + "integrity": "sha512-D5OKWKvDhyVWWn2x5Y9b+37NUllks34q1dCDhk/vYcso9fmhs+Tl3KR/gE4v5UNj2UA35cnX4KdVVGkG1deKqw==" + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -19111,6 +19698,11 @@ "makeerror": "1.0.12" } }, + "warn-once": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", + "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==" + }, "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", diff --git a/mobile-ui/package.json b/mobile-ui/package.json index beda4bbf..7b717cc6 100644 --- a/mobile-ui/package.json +++ b/mobile-ui/package.json @@ -17,13 +17,20 @@ "eject": "expo eject" }, "dependencies": { + "@react-native-community/masked-view": "^0.1.11", + "@react-navigation/native": "^6.0.11", + "@react-navigation/native-stack": "^6.7.0", + "@react-navigation/stack": "^6.2.2", "expo": "^44.0.0", "expo-status-bar": "~1.2.0", "native-base": "3.4.0", "react": "17.0.1", "react-dom": "17.0.1", "react-native": "0.64.3", + "react-native-gesture-handler": "~2.1.0", + "react-native-reanimated": "~2.3.1", "react-native-safe-area-context": "3.3.2", + "react-native-screens": "~3.10.1", "react-native-svg": "12.1.1", "react-native-web": "0.17.1" }, From 4b08969ebe5933ca3fc308d5d6da584d39825c02 Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Fri, 12 Aug 2022 21:56:58 -0600 Subject: [PATCH 03/16] navigation and more components --- mobile-ui/components/Home.js | 5 +-- mobile-ui/components/LogIn.js | 32 +++++++++------ mobile-ui/components/Profile.js | 0 mobile-ui/components/RecoverPassword.js | 53 ++++++++++++++++++++++--- 4 files changed, 69 insertions(+), 21 deletions(-) create mode 100644 mobile-ui/components/Profile.js diff --git a/mobile-ui/components/Home.js b/mobile-ui/components/Home.js index 04070bb0..6f35a009 100644 --- a/mobile-ui/components/Home.js +++ b/mobile-ui/components/Home.js @@ -2,7 +2,6 @@ import React from "react"; import { Text, HStack, - NativeBaseProvider, IconButton, Box, StatusBar, @@ -14,10 +13,10 @@ import { export default function Home(){ return ( -
+
- + } /> diff --git a/mobile-ui/components/LogIn.js b/mobile-ui/components/LogIn.js index ed542d83..c5b5e76d 100644 --- a/mobile-ui/components/LogIn.js +++ b/mobile-ui/components/LogIn.js @@ -2,22 +2,20 @@ import React from "react"; import { Text, Link, - HStack, + View, Center, Heading, - Switch, - useColorMode, - NativeBaseProvider, - extendTheme, VStack, Box, FormControl, Input, Button, - Image + Image, + TextInput } from "native-base"; import logo from "../assets/logo-katoikia.png"; - +import { Entypo } from '@expo/vector-icons'; +import { MaterialCommunityIcons } from '@expo/vector-icons'; export default function LogIn({navigation}) { return ( @@ -54,12 +52,20 @@ export default function LogIn({navigation}) { - Correo Electrónico - + Correo Electrónico + + + + + + - Contraseña - + Contraseña + + + + navigation.navigate('Password')} + > + Recuperar contraseña @@ -82,7 +90,5 @@ export default function LogIn({navigation}) {
- - ); } \ No newline at end of file diff --git a/mobile-ui/components/Profile.js b/mobile-ui/components/Profile.js new file mode 100644 index 00000000..e69de29b diff --git a/mobile-ui/components/RecoverPassword.js b/mobile-ui/components/RecoverPassword.js index 62dce460..a16522f5 100644 --- a/mobile-ui/components/RecoverPassword.js +++ b/mobile-ui/components/RecoverPassword.js @@ -1,13 +1,56 @@ -import { Center } from "native-base"; import React from "react"; - +import { + Text, + Link, + Center, + Heading, + VStack, + Box, + FormControl, + Input, + Button + } from "native-base"; export default function RecoverPassword () { return ( +
+ + + Recupere su contraseña + + + Se le enviaran las instrucciones al correo electrónico + -
+ + + Correo Electrónico + + + + + + + +
- -
) } \ No newline at end of file From 235e3f7bc95bbdb488bfcdd4557b697e45415cb8 Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Mon, 15 Aug 2022 23:16:44 -0600 Subject: [PATCH 04/16] fix css mobile issues --- mobile-ui/components/LogIn.js | 48 ++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/mobile-ui/components/LogIn.js b/mobile-ui/components/LogIn.js index c5b5e76d..a5e0d12c 100644 --- a/mobile-ui/components/LogIn.js +++ b/mobile-ui/components/LogIn.js @@ -2,7 +2,6 @@ import React from "react"; import { Text, Link, - View, Center, Heading, VStack, @@ -10,12 +9,40 @@ import { FormControl, Input, Button, - Image, - TextInput + Image } from "native-base"; import logo from "../assets/logo-katoikia.png"; import { Entypo } from '@expo/vector-icons'; import { MaterialCommunityIcons } from '@expo/vector-icons'; +import { View, TextInput, StyleSheet } from "react-native"; + +const styles = StyleSheet.create({ + input: { + height: 40, + margin: 10, + borderWidth: 0.5, + padding: 5, + flex: 1, + paddingTop: 10, + paddingRight: 10, + paddingBottom: 10, + paddingLeft: 0, + marginTop: 50, + marginBottom: 10 + }, + + iconStyle: { + padding: 10, + }, + + viewSection: { + flex: 1, + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center', + marginTop: 5 + } +}) export default function LogIn({navigation}) { return ( @@ -54,17 +81,17 @@ export default function LogIn({navigation}) { Correo Electrónico - - - + + + Contraseña - - - + + +
); + + + } \ No newline at end of file From dcb77ae10eec9e3e23036ce38efbae9fcc534c0b Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Tue, 16 Aug 2022 14:27:34 -0600 Subject: [PATCH 05/16] home nav --- mobile-ui/App.js | 2 +- mobile-ui/components/Home.js | 69 ++++++++++++++++++++++++----------- mobile-ui/components/LogIn.js | 15 ++++++-- 3 files changed, 59 insertions(+), 27 deletions(-) diff --git a/mobile-ui/App.js b/mobile-ui/App.js index 9f43ccee..8c45b000 100644 --- a/mobile-ui/App.js +++ b/mobile-ui/App.js @@ -18,7 +18,7 @@ export default function App() { - + diff --git a/mobile-ui/components/Home.js b/mobile-ui/components/Home.js index 6f35a009..f344f44c 100644 --- a/mobile-ui/components/Home.js +++ b/mobile-ui/components/Home.js @@ -1,35 +1,60 @@ -import React from "react"; +import React from 'react'; import { Text, HStack, - IconButton, Box, - StatusBar, Icon, MaterialIcons, - Center + Center, + Pressable } from "native-base"; -export default function Home(){ +import { MaterialCommunityIcons } from '@expo/vector-icons'; + +export default function Home({navigation}){ + + const [selected, setSelected] = React.useState(1); return ( -
- - - - - } /> - - Home - + + +
+ + setSelected(0)}> +
+ } color="white" size="sm" /> + + Inicio + +
+
+ setSelected(1)}> +
+ } color="white" size="sm" /> + + Comunicados + +
+
+ setSelected(2)}> +
+ } color="white" size="sm" /> + + Reservas + +
+
+ setSelected(3)}> +
+ } color="white" size="sm" /> + + Perfil + +
+
- - } /> - } /> - } /> - -
-
+ + - ) + ); } \ No newline at end of file diff --git a/mobile-ui/components/LogIn.js b/mobile-ui/components/LogIn.js index a5e0d12c..fd63d793 100644 --- a/mobile-ui/components/LogIn.js +++ b/mobile-ui/components/LogIn.js @@ -9,7 +9,8 @@ import { FormControl, Input, Button, - Image + Image, + Container } from "native-base"; import logo from "../assets/logo-katoikia.png"; import { Entypo } from '@expo/vector-icons'; @@ -40,7 +41,11 @@ const styles = StyleSheet.create({ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', - marginTop: 5 + margin: 10 + }, + + container: { + } }) @@ -77,7 +82,8 @@ export default function LogIn({navigation}) { Su app de comunidad de confianza - + + Correo Electrónico @@ -114,7 +120,8 @@ export default function LogIn({navigation}) { Continuar - + + ); From 50995a06e39470b9af6c559bdb27f2b31a23894c Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Wed, 17 Aug 2022 10:36:33 -0600 Subject: [PATCH 06/16] reservas screen --- mobile-ui/App.js | 30 ++++++- mobile-ui/components/Home.js | 143 ++++++++++++++++++----------- mobile-ui/components/LogIn.js | 6 +- mobile-ui/components/Profile.js | 15 ++++ mobile-ui/components/Reservas.js | 148 +++++++++++++++++++++++++++++++ mobile-ui/package-lock.json | 28 ++++++ mobile-ui/package.json | 1 + 7 files changed, 314 insertions(+), 57 deletions(-) create mode 100644 mobile-ui/components/Reservas.js diff --git a/mobile-ui/App.js b/mobile-ui/App.js index 8c45b000..61dbd821 100644 --- a/mobile-ui/App.js +++ b/mobile-ui/App.js @@ -4,24 +4,48 @@ import { } from "native-base"; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import { createBottomTabNavigator} from '@react-navigation/bottom-tabs'; import LogIn from "./components/LogIn"; import Home from "./components/Home"; import RecoverPassword from "./components/RecoverPassword"; +import Reservas from "./components/Reservas"; +import Profile from "./components/Profile"; const Stack = createNativeStackNavigator(); +const Tab = createBottomTabNavigator(); + +function HomeTab() { + + return ( + + + + + + ) +} export default function App() { return ( - - + + + + - ); } \ No newline at end of file diff --git a/mobile-ui/components/Home.js b/mobile-ui/components/Home.js index f344f44c..d8806dc9 100644 --- a/mobile-ui/components/Home.js +++ b/mobile-ui/components/Home.js @@ -1,60 +1,103 @@ -import React from 'react'; +import React from "react"; import { Text, HStack, + Badge, Box, - Icon, - MaterialIcons, - Center, - Pressable +Pressable, + Spacer, + Flex, + Center } from "native-base"; + import { MaterialCommunityIcons } from '@expo/vector-icons'; +export default function Home(){ -import { MaterialCommunityIcons } from '@expo/vector-icons'; - -export default function Home({navigation}){ - - const [selected, setSelected] = React.useState(1); - + const [selected, setSelected] = React.useState(0); return ( + + + console.log("I'm Pressed")} rounded="8" overflow="hidden" borderWidth="1" borderColor="coolGray.300" maxW="96" shadow="3" bg="coolGray.100" p="5" marginTop="4"> + + + + Comunicado + + + + 1 month ago + + + + Administrador de Comunidad + + + Notificacion sobre la aplicacion + + + + + console.log("I'm Pressed")} rounded="8" overflow="hidden" borderWidth="1" borderColor="coolGray.300" maxW="96" shadow="3" bg="coolGray.100" p="5" marginTop="4"> + + + + Comunicado + + + + 1 month ago + + + + Administrador General + + + Notificacion sobre la aplicacion + + + + + + //
+ + // + // + + // setSelected(0) && navigation.navigate('Home')}> + //
+ // } color="white" size="md" /> + // + // Inicio + // + //
+ //
+ + + // setSelected(1) && ( () => navigation.navigate('Reservas'))}> + //
+ // } color="white" size="md" /> + // + // Reservas + // + //
+ //
- -
- - setSelected(0)}> -
- } color="white" size="sm" /> - - Inicio - -
-
- setSelected(1)}> -
- } color="white" size="sm" /> - - Comunicados - -
-
- setSelected(2)}> -
- } color="white" size="sm" /> - - Reservas - -
-
- setSelected(3)}> -
- } color="white" size="sm" /> - - Perfil - -
-
-
-
- - ); + // setSelected(2)}> + //
+ // } color="white" size="md" /> + // + // Perfil + // + //
+ //
+ + + //
+ //
+ + ) } \ No newline at end of file diff --git a/mobile-ui/components/LogIn.js b/mobile-ui/components/LogIn.js index fd63d793..63e5ba83 100644 --- a/mobile-ui/components/LogIn.js +++ b/mobile-ui/components/LogIn.js @@ -7,10 +7,8 @@ import { VStack, Box, FormControl, - Input, Button, - Image, - Container + Image } from "native-base"; import logo from "../assets/logo-katoikia.png"; import { Entypo } from '@expo/vector-icons'; @@ -115,7 +113,7 @@ export default function LogIn({navigation}) { - diff --git a/mobile-ui/components/Profile.js b/mobile-ui/components/Profile.js index e69de29b..5c75931c 100644 --- a/mobile-ui/components/Profile.js +++ b/mobile-ui/components/Profile.js @@ -0,0 +1,15 @@ +import React from "react"; + +import { + Box + } from "native-base"; + +export default function Profile(){ + + return ( + + + + + ) +} \ No newline at end of file diff --git a/mobile-ui/components/Reservas.js b/mobile-ui/components/Reservas.js new file mode 100644 index 00000000..08af073f --- /dev/null +++ b/mobile-ui/components/Reservas.js @@ -0,0 +1,148 @@ +import React from "react"; +import { + Text, + HStack, + AntDesign, + Heading, + Stack, + Box, + ScrollView, + Fab, + Icon +} from "native-base"; +import logo from "../assets/logo-katoikia.png"; +import { Entypo } from '@expo/vector-icons'; +import { MaterialCommunityIcons } from '@expo/vector-icons'; +import { View, TextInput, StyleSheet } from "react-native"; + +const styles = StyleSheet.create({ + input: { + height: 40, + margin: 10, + borderWidth: 0.5, + padding: 5, + flex: 1, + paddingTop: 10, + paddingRight: 10, + paddingBottom: 10, + paddingLeft: 0, + marginTop: 50, + marginBottom: 10 + }, + + iconStyle: { + padding: 10, + }, + + viewSection: { + flex: 1, + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center', + margin: 10 + }, + + container: { + + } +}) + +export default function Reservas({navigation}) { + return ( + + + + + + + + + + + Reserva #1 + + + horario de Reserva + + + + Descripcion + + + + + 6 mins ago + + + + + + + + + + + + + + Reserva #1 + + + horario de Reserva + + + + Descripcion + + + + + 6 mins ago + + + + + + + + + } /> + + + ); + + + +} \ No newline at end of file diff --git a/mobile-ui/package-lock.json b/mobile-ui/package-lock.json index 860e1166..45d893cb 100644 --- a/mobile-ui/package-lock.json +++ b/mobile-ui/package-lock.json @@ -10,6 +10,7 @@ "license": "MIT", "dependencies": { "@react-native-community/masked-view": "^0.1.11", + "@react-navigation/bottom-tabs": "^6.3.2", "@react-navigation/native": "^6.0.11", "@react-navigation/native-stack": "^6.7.0", "@react-navigation/stack": "^6.2.2", @@ -3533,6 +3534,23 @@ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" }, + "node_modules/@react-navigation/bottom-tabs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.3.2.tgz", + "integrity": "sha512-uS0XV2aH7bAW54Zuf5ks2V60riarbMALyMz3cB3204l4aGhx41UPUIr/K72pGAVdIPizpjz8Fk8qwczAwex9eg==", + "dependencies": { + "@react-navigation/elements": "^1.3.4", + "color": "^4.2.3", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, "node_modules/@react-navigation/core": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.2.2.tgz", @@ -13852,6 +13870,16 @@ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" }, + "@react-navigation/bottom-tabs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.3.2.tgz", + "integrity": "sha512-uS0XV2aH7bAW54Zuf5ks2V60riarbMALyMz3cB3204l4aGhx41UPUIr/K72pGAVdIPizpjz8Fk8qwczAwex9eg==", + "requires": { + "@react-navigation/elements": "^1.3.4", + "color": "^4.2.3", + "warn-once": "^0.1.0" + } + }, "@react-navigation/core": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.2.2.tgz", diff --git a/mobile-ui/package.json b/mobile-ui/package.json index 7b717cc6..43ee388e 100644 --- a/mobile-ui/package.json +++ b/mobile-ui/package.json @@ -18,6 +18,7 @@ }, "dependencies": { "@react-native-community/masked-view": "^0.1.11", + "@react-navigation/bottom-tabs": "^6.3.2", "@react-navigation/native": "^6.0.11", "@react-navigation/native-stack": "^6.7.0", "@react-navigation/stack": "^6.2.2", From 7416803b1ab94bd8316bafaa462996edb7d3b10d Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Wed, 17 Aug 2022 15:08:38 -0600 Subject: [PATCH 07/16] css fixes --- mobile-ui/App.js | 15 ++++++---- mobile-ui/components/LogIn.js | 2 +- mobile-ui/components/Profile.js | 52 +++++++++++++++++++++++++++++---- 3 files changed, 58 insertions(+), 11 deletions(-) diff --git a/mobile-ui/App.js b/mobile-ui/App.js index 61dbd821..bb44f0fe 100644 --- a/mobile-ui/App.js +++ b/mobile-ui/App.js @@ -1,6 +1,7 @@ -import React from "react"; +import React,{useState} from "react"; import { - NativeBaseProvider + NativeBaseProvider, + Icon } from "native-base"; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; @@ -10,24 +11,28 @@ import Home from "./components/Home"; import RecoverPassword from "./components/RecoverPassword"; import Reservas from "./components/Reservas"; import Profile from "./components/Profile"; +import { MaterialCommunityIcons } from '@expo/vector-icons'; const Stack = createNativeStackNavigator(); const Tab = createBottomTabNavigator(); + function HomeTab() { +const [selected, setSelected] = useState(0); + return ( + }, tabBarIcon: () => (} color="#D7A86E" size="md" />)}} onclick={() => setSelected(0)} /> + }, tabBarIcon: () => (} color="#D7A86E" size="md" />)} } onclick={() => setSelected(1)} /> + }, tabBarIcon: () => (} color="#D7A86E" size="md" />)}} onclick={() => setSelected(2)} /> ) } diff --git a/mobile-ui/components/LogIn.js b/mobile-ui/components/LogIn.js index 63e5ba83..77b203bb 100644 --- a/mobile-ui/components/LogIn.js +++ b/mobile-ui/components/LogIn.js @@ -113,7 +113,7 @@ export default function LogIn({navigation}) { - diff --git a/mobile-ui/components/Profile.js b/mobile-ui/components/Profile.js index 5c75931c..3bdbcddc 100644 --- a/mobile-ui/components/Profile.js +++ b/mobile-ui/components/Profile.js @@ -1,15 +1,57 @@ import React from "react"; import { - Box + Box, + Heading, + VStack, + FormControl, + Input, + Button, + Center } from "native-base"; export default function Profile(){ return ( - - - - +
+ + + Welcome + + + Sign up to continue! + + + + Nombre + + + + Correo Electrónico + + + + Teléfono + + + + Contraseña actual + + + + + + + +
+ ) } \ No newline at end of file From 37e764de60057e6f67611a12d5fd7d7ab28ec912 Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Wed, 17 Aug 2022 16:47:48 -0600 Subject: [PATCH 08/16] reservar screen movil --- mobile-ui/App.js | 2 ++ mobile-ui/components/AreaComun.js | 53 +++++++++++++++++++++++++++++++ mobile-ui/components/Home.js | 2 -- mobile-ui/components/Profile.js | 14 ++++---- mobile-ui/components/Reservas.js | 4 +-- 5 files changed, 64 insertions(+), 11 deletions(-) create mode 100644 mobile-ui/components/AreaComun.js diff --git a/mobile-ui/App.js b/mobile-ui/App.js index bb44f0fe..8d44c4c4 100644 --- a/mobile-ui/App.js +++ b/mobile-ui/App.js @@ -12,6 +12,7 @@ import RecoverPassword from "./components/RecoverPassword"; import Reservas from "./components/Reservas"; import Profile from "./components/Profile"; import { MaterialCommunityIcons } from '@expo/vector-icons'; +import AreaComun from "./components/AreaComun"; const Stack = createNativeStackNavigator(); const Tab = createBottomTabNavigator(); @@ -47,6 +48,7 @@ export default function App() { }}} /> + diff --git a/mobile-ui/components/AreaComun.js b/mobile-ui/components/AreaComun.js new file mode 100644 index 00000000..ddd29bd2 --- /dev/null +++ b/mobile-ui/components/AreaComun.js @@ -0,0 +1,53 @@ +import React from "react"; + +import { + Box, + Heading, + VStack, + FormControl, + Input, + Button, + Center + } from "native-base"; + +export default function AreaComun({navigation}){ + + return ( +
+ + + Katoikia + + + Reserve su área común + + + + Hora de inicio + + + + Hora de finalización + + + + Lugar + + + + + + + +
+ + ) +} \ No newline at end of file diff --git a/mobile-ui/components/Home.js b/mobile-ui/components/Home.js index d8806dc9..ab60fb52 100644 --- a/mobile-ui/components/Home.js +++ b/mobile-ui/components/Home.js @@ -6,8 +6,6 @@ import { Box, Pressable, Spacer, - Flex, - Center } from "native-base"; import { MaterialCommunityIcons } from '@expo/vector-icons'; export default function Home(){ diff --git a/mobile-ui/components/Profile.js b/mobile-ui/components/Profile.js index 3bdbcddc..79e4b9b5 100644 --- a/mobile-ui/components/Profile.js +++ b/mobile-ui/components/Profile.js @@ -10,7 +10,7 @@ import { Center } from "native-base"; -export default function Profile(){ +export default function Profile({navigation}){ return (
@@ -18,25 +18,25 @@ export default function Profile(){ - Welcome + Katoikia - Sign up to continue! + Modifique sus datos Nombre - + Correo Electrónico - + Teléfono - + Contraseña actual @@ -46,7 +46,7 @@ export default function Profile(){ - diff --git a/mobile-ui/components/Reservas.js b/mobile-ui/components/Reservas.js index 08af073f..dd5b8532 100644 --- a/mobile-ui/components/Reservas.js +++ b/mobile-ui/components/Reservas.js @@ -133,12 +133,12 @@ export default function Reservas({navigation}) { - - } /> + } color="white" size="sm" />} onPress={() => navigation.navigate('area')}/> ); From 77b0755a8e23f5325d391bebeccc327ee03044a9 Mon Sep 17 00:00:00 2001 From: Maria Sanchez Date: Thu, 18 Aug 2022 16:02:50 -0600 Subject: [PATCH 09/16] mobile log in --- mobile-ui/App.js | 4 ++- mobile-ui/components/LogIn.js | 50 +++++++++++++++++++++++++++++++++-- mobile-ui/package-lock.json | 44 +++++++++++++++++++++++++++++- mobile-ui/package.json | 3 ++- 4 files changed, 96 insertions(+), 5 deletions(-) diff --git a/mobile-ui/App.js b/mobile-ui/App.js index 8d44c4c4..fd210975 100644 --- a/mobile-ui/App.js +++ b/mobile-ui/App.js @@ -48,7 +48,9 @@ export default function App() { }}} /> - + diff --git a/mobile-ui/components/LogIn.js b/mobile-ui/components/LogIn.js index 77b203bb..eeb75cb9 100644 --- a/mobile-ui/components/LogIn.js +++ b/mobile-ui/components/LogIn.js @@ -1,4 +1,5 @@ import React from "react"; +import Cookies from 'universal-cookie'; import { Text, Link, @@ -15,6 +16,9 @@ import { Entypo } from '@expo/vector-icons'; import { MaterialCommunityIcons } from '@expo/vector-icons'; import { View, TextInput, StyleSheet } from "react-native"; +const baseURL = "http://localhost:4000/user/loginUser"; +const cookies = new Cookies(); + const styles = StyleSheet.create({ input: { height: 40, @@ -47,17 +51,58 @@ const styles = StyleSheet.create({ } }) +const iniciarSesion = async() => { + + try { + + await fetch(baseURL, { + cache: 'no-cache', + method: 'POST', + body: JSON.stringify(), + headers: { + 'Content-Type': 'application/json' + } + }) + .then(response => { + if (response.status != 201){ + console.log('ocurrio un error '); + }else{ + return response.json(); + } + }) + .then( response => { + const user = response.message + + if(user.user_type == '3'){ + cookies.set('id',user._id, {path: "/"} ) + cookies.set('name',user.name, {path: "/"} ) + cookies.set('email',user.email, {path: "/"} ) + cookies.set('type',user.user_type, {path: "/"} ) + } + }) + + } catch (error) { + + } + + +} + export default function LogIn({navigation}) { return (
- + Katoikia logo +
+ = 0.6" + } + }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -10824,6 +10838,15 @@ "node": ">=0.10.0" } }, + "node_modules/universal-cookie": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz", + "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==", + "dependencies": { + "@types/cookie": "^0.3.3", + "cookie": "^0.4.0" + } + }, "node_modules/universalify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", @@ -14293,6 +14316,11 @@ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" }, + "@types/cookie": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz", + "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==" + }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -15173,6 +15201,11 @@ "safe-buffer": "~5.1.1" } }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -19605,6 +19638,15 @@ } } }, + "universal-cookie": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz", + "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==", + "requires": { + "@types/cookie": "^0.3.3", + "cookie": "^0.4.0" + } + }, "universalify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", diff --git a/mobile-ui/package.json b/mobile-ui/package.json index 43ee388e..9fa4b879 100644 --- a/mobile-ui/package.json +++ b/mobile-ui/package.json @@ -33,7 +33,8 @@ "react-native-safe-area-context": "3.3.2", "react-native-screens": "~3.10.1", "react-native-svg": "12.1.1", - "react-native-web": "0.17.1" + "react-native-web": "0.17.1", + "universal-cookie": "^4.0.4" }, "devDependencies": { "@babel/core": "^7.12.9" From 210b30c5a6d675d8cd1ae531fc938ac1a20fa768 Mon Sep 17 00:00:00 2001 From: Traym17 <51390112+Traym17@users.noreply.github.com> Date: Thu, 18 Aug 2022 21:18:10 -0600 Subject: [PATCH 10/16] File del registro del comunicado --- web-ui/web-react/src/components/RegistroComunicado.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 web-ui/web-react/src/components/RegistroComunicado.js diff --git a/web-ui/web-react/src/components/RegistroComunicado.js b/web-ui/web-react/src/components/RegistroComunicado.js new file mode 100644 index 00000000..e69de29b From cc0fae132c017aabf1f4d06d97e649879b0e5e06 Mon Sep 17 00:00:00 2001 From: Traym17 <51390112+Traym17@users.noreply.github.com> Date: Thu, 18 Aug 2022 23:21:29 -0600 Subject: [PATCH 11/16] Registro y lista de los comunicados de las comunidades --- web-ui/web-react/package-lock.json | 43 ++++- web-ui/web-react/package.json | 3 +- web-ui/web-react/src/App.js | 7 +- .../src/components/RegistroComunicado.js | 165 ++++++++++++++++++ 4 files changed, 215 insertions(+), 3 deletions(-) diff --git a/web-ui/web-react/package-lock.json b/web-ui/web-react/package-lock.json index e9ff9cd3..6699ac1c 100644 --- a/web-ui/web-react/package-lock.json +++ b/web-ui/web-react/package-lock.json @@ -17,7 +17,8 @@ "@fullcalendar/interaction": "^5.7.2", "@fullcalendar/react": "^5.7.0", "@fullcalendar/timegrid": "^5.7.2", - "axios": "^0.19.0", + "axios": "^0.19.2", + "bootstrap": "^5.2.0", "chart.js": "3.3.2", "classnames": "^2.2.6", "cors": "^2.8.5", @@ -2288,6 +2289,16 @@ "node": ">= 6" } }, + "node_modules/@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", @@ -4210,6 +4221,24 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, + "node_modules/bootstrap": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0.tgz", + "integrity": "sha512-qlnS9GL6YZE6Wnef46GxGv1UpGGzAwO0aPL1yOjzDIJpeApeMvqV24iL+pjr2kU4dduoBA9fINKWKgMToobx9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.5" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -19688,6 +19717,12 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "peer": true + }, "@svgr/babel-plugin-add-jsx-attribute": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", @@ -21217,6 +21252,12 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, + "bootstrap": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0.tgz", + "integrity": "sha512-qlnS9GL6YZE6Wnef46GxGv1UpGGzAwO0aPL1yOjzDIJpeApeMvqV24iL+pjr2kU4dduoBA9fINKWKgMToobx9A==", + "requires": {} + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", diff --git a/web-ui/web-react/package.json b/web-ui/web-react/package.json index 12dd1f1d..4cb7843c 100644 --- a/web-ui/web-react/package.json +++ b/web-ui/web-react/package.json @@ -17,7 +17,8 @@ "@fullcalendar/interaction": "^5.7.2", "@fullcalendar/react": "^5.7.0", "@fullcalendar/timegrid": "^5.7.2", - "axios": "^0.19.0", + "axios": "^0.19.2", + "bootstrap": "^5.2.0", "chart.js": "3.3.2", "classnames": "^2.2.6", "cors": "^2.8.5", diff --git a/web-ui/web-react/src/App.js b/web-ui/web-react/src/App.js index ef05324a..17674ed3 100644 --- a/web-ui/web-react/src/App.js +++ b/web-ui/web-react/src/App.js @@ -34,6 +34,8 @@ import GuardasSeguridad from './components/GuardasSeguridad'; import Communities from './components/ComunidadViviendas'; import Inquilinos from './components/Inquilinos'; import InquilinosCompletar from "./components/InquilinosCompletar.js"; +import RegistroComunicado from './components/RegistroComunicado'; +import "../node_modules/bootstrap/dist/css/bootstrap.min.css"; import Crud from './pages/Crud'; import EmptyPage from './pages/EmptyPage'; @@ -200,6 +202,9 @@ const App = () => { icon: PrimeIcons.BUILDING, to: '/areasComunes', }, + + { label: 'Comunicados', icon: PrimeIcons.COMMENTS, to: '/registroComunicado'}, + ] }, ] @@ -440,7 +445,6 @@ const App = () => { <> - ) @@ -465,6 +469,7 @@ const App = () => { + diff --git a/web-ui/web-react/src/components/RegistroComunicado.js b/web-ui/web-react/src/components/RegistroComunicado.js index e69de29b..e2d756a9 100644 --- a/web-ui/web-react/src/components/RegistroComunicado.js +++ b/web-ui/web-react/src/components/RegistroComunicado.js @@ -0,0 +1,165 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { InputText } from 'primereact/inputtext'; +import { Button } from 'primereact/button'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { useCookies } from "react-cookie"; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Toast } from 'primereact/toast'; +import { Dialog } from 'primereact/dialog'; +import { Toolbar } from 'primereact/toolbar'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faHome, faUserAlt } from '@fortawesome/free-solid-svg-icons'; +import { faCommentAlt } from '@fortawesome/free-solid-svg-icons'; +import { faPhoneAlt } from '@fortawesome/free-solid-svg-icons'; +import { faAt } from '@fortawesome/free-solid-svg-icons'; +import { faIdCardAlt } from '@fortawesome/free-solid-svg-icons'; +import { faEllipsis } from '@fortawesome/free-solid-svg-icons'; +import { faHomeAlt } from '@fortawesome/free-solid-svg-icons'; +import { Dropdown } from 'primereact/dropdown'; +import classNames from 'classnames'; +const RegistroComunicado = () => { + + let emptyComunicado = { + _id: null, + post: '', + user_id: '', + community_id: '' + }; + + useEffect(()=>{ + listaComunis(); + },[]) + + + const [comunicado, setComunicado] = useState(emptyComunicado); + const [comunicados,setComuicados]=useState([]); + const [comunicadoId, setComunicadoId] = useState(null); + const [submitted, setSubmitted] = useState(false); + const toast = useRef(null); + const dt = useRef(null); + const [cookies, setCookie] = useCookies(); + const [globalFilter, setGlobalFilter] = useState(null); + + async function listaComunis() { + let comunicadosA=await fetch('http://localhost:4000/post/allPosts', {method:'GET'}); + let comunicadosRes= await comunicadosA.json(); + setComuicados(comunicadosRes.message); + console.log(comunicadosRes.message); + } + + + const saveComunicado = () => { + var data = { + post: document.getElementById('txt_comunicado').value, + user_id: cookies.id, + community_id: cookies.community_id + }; + + fetch('http://localhost:4000/post/createPost', { + cache: 'no-cache', + method: 'POST', + body: JSON.stringify(data), + headers: { + 'Content-Type': 'application/json' + } + }) + .then( + function (response) { + if (response.status != 201) + console.log('Ocurrió un error con el servicio: ' + response.status); + else + return response.json(); + } + ) + .then( + function (response) { + + } + ) + .catch( + err => console.log('Ocurrió un error con el fetch', err) + ); + } + + const header = ( + + +
+
Comunicados de la comunidad
+ + + setGlobalFilter(e.target.value)} placeholder="Buscar..." /> + +
+
+ ); + const headerPost = ( + <> +

+ {' '} + {' '} + Descripción comunicado

+ + ) + + const leftToolbarTemplate = () => { + return ( + +
+
+
+ ) +} + +const rightToolbarTemplate = () => { + return ( + +