From e69fcc7f2e6a237b37169bf866aadb42c7454188 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 13 Nov 2022 15:18:56 -0400
Subject: [PATCH 001/109] Update login form
---
package.json | 1 +
src/components/Background.js | 24 ++
src/components/Link.js | 20 +
src/components/LoginComponents/LoginForm.js | 383 ++++++++++----------
src/pages/Login/LoginPage.js | 18 +-
src/styled-components/colors.js | 16 +-
yarn.lock | 5 +
7 files changed, 254 insertions(+), 213 deletions(-)
create mode 100644 src/components/Background.js
create mode 100644 src/components/Link.js
diff --git a/package.json b/package.json
index 0819155..5a84ae0 100644
--- a/package.json
+++ b/package.json
@@ -30,6 +30,7 @@
"react-native": "0.70.5",
"react-native-ionicons": "^4.6.5",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
+ "react-native-linear-gradient": "^2.6.2",
"react-native-safe-area-context": "3.3.2",
"react-native-screens": "^3.18.2",
"react-native-svg": "12.1.1",
diff --git a/src/components/Background.js b/src/components/Background.js
new file mode 100644
index 0000000..c84971b
--- /dev/null
+++ b/src/components/Background.js
@@ -0,0 +1,24 @@
+import React from 'react'
+import { View, StyleSheet } from 'react-native'
+import Svg, { Defs, Rect, LinearGradient, Stop } from 'react-native-svg'
+
+import colors from '../styled-components/colors';
+
+const Background = ({ children }) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ {children}
+
+ );
+};
+
+export default Background;
\ No newline at end of file
diff --git a/src/components/Link.js b/src/components/Link.js
new file mode 100644
index 0000000..9b4007f
--- /dev/null
+++ b/src/components/Link.js
@@ -0,0 +1,20 @@
+import { Link } from 'native-base'
+
+import colors from '../styled-components/colors'
+
+const StyledLink = ({ url, text }) => {
+ return (
+
+ {text}
+
+ )
+}
+
+export default StyledLink
\ No newline at end of file
diff --git a/src/components/LoginComponents/LoginForm.js b/src/components/LoginComponents/LoginForm.js
index be59167..3fa0a3b 100644
--- a/src/components/LoginComponents/LoginForm.js
+++ b/src/components/LoginComponents/LoginForm.js
@@ -35,6 +35,7 @@ import { emailValidator, passwordValidator } from '../../utilities/functions'
import EdenLogo from '../../assets/logo/eden.png'
import colors from '../../styled-components/colors'
+import StyledLink from '../Link'
const LoginForm = () => {
@@ -77,241 +78,231 @@ const LoginForm = () => {
minW='100%'
minH='100%'
>
-
+
+
+
+ Bienvenido a
+
+
+
+
+
+
- Bienvenido a
+ Ingresa tu usuario y contraseña para entrar a tu perfil
-
-
-
+
-
-
-
+ (
+
- Ingresa tu usuario y contraseña para entrar a tu perfil
-
-
-
-
-
- (
-
+ Correo electrónico
+
+
+
+
}
- >
-
- Correo electrónico
-
-
-
-
+ />
+ {emailValidator(value) ? null : (
+
}
- />
- {emailValidator(value) ? null : (
-
- }
+ >
+ El correo electrónico no es válido
+
+ )}
+
+ )}
+ />
+
+ (
+
+
+ Contraseña
+
+
- El correo electrónico no es válido
-
- )}
-
- )}
- />
-
- (
-
+
}
- >
-
- Contraseña
-
-
+ setShow(!show)}
>
-
- }
- InputRightElement={
-
- setShow(!show)}
- >
-
-
-
+
+
+ }
+ />
+ {passwordValidator(value) ? null : (
+
}
- />
- {passwordValidator(value) ? null : (
-
- }
- >
- La contraseña no es válida
-
- )}
-
- )}
- />
+ >
+ La contraseña no es válida
+
+ )}
+
+ )}
+ />
+
+
+ Ingresar
+
-
+
- Ingresar
-
-
-
-
- ¿No recuerdas alguno de tus datos?
-
-
-
- No te preocupes,
-
-
- ingresa aquí
-
-
-
-
-
-
-
-
-
+ ¿No recuerdas alguno de tus datos?
+
-
- ¿No tienes cuenta?
+ No te preocupes,
-
- Regístrate aquí
-
+
+
+
+
+
+
+ ¿No tienes cuenta?
+
+
+
+
-
+
+
+
)
}
diff --git a/src/pages/Login/LoginPage.js b/src/pages/Login/LoginPage.js
index 4df0985..0f18b3b 100644
--- a/src/pages/Login/LoginPage.js
+++ b/src/pages/Login/LoginPage.js
@@ -2,25 +2,25 @@ import React from 'react'
import { ScrollView, VStack } from 'native-base'
import LoginForm from '../../components/LoginComponents/LoginForm'
-
-import colors from '../../styled-components/colors'
+import Background from '../../components/Background'
const LoginPage = ({ navigation }) => {
return (
-
-
-
+
+
+
+
+
)
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 31d415c..739b749 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -1,9 +1,9 @@
const colors = {
base: '#f4f4f4',
- primary: '#bef002',
+ primary: '#00C28D',
secondary: '#066598',
- bgPrimary: '#e9fce6',
- bgSecondary: '#31383E',
+ bgPrimary: '#152C43',
+ bgSecondary: '#016F6C',
error: {
primary: '#d95f5f',
secondary: '#f52556',
@@ -21,13 +21,13 @@ const colors = {
secondary: 'rgba(42,53,60, .75)',
},
button: {
- bgPrimary: '#87c326',
- bgSecondary: '#066598',
- fontPrimary: '#31383E',
- fontSecondary: '#e9fce6'
+ bgPrimary: '#48CBC5',
+ bgSecondary: '#00C28D',
+ fontPrimary: '#1E9C98',
+ fontSecondary: '#80DCDA'
},
link: {
- color: '#87c326'
+ color: '#2CA29F'
}
}
diff --git a/yarn.lock b/yarn.lock
index 20fa80d..7f3b468 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7066,6 +7066,11 @@ react-native-keyboard-aware-scroll-view@^0.9.5:
prop-types "^15.6.2"
react-native-iphone-x-helper "^1.0.3"
+react-native-linear-gradient@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.6.2.tgz#56598a76832724b2afa7889747635b5c80948f38"
+ integrity sha512-Z8Xxvupsex+9BBFoSYS87bilNPWcRfRsGC0cpJk72Nxb5p2nEkGSBv73xZbEHnW2mUFvP+huYxrVvjZkr/gRjQ==
+
react-native-ratings@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/react-native-ratings/-/react-native-ratings-8.1.0.tgz#3fa9ad29128dc3a88e59518ba151e61c59dd0647"
From 68f8b08725cc88beb227585aaefe31d0a9c8370c Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 13 Nov 2022 16:09:08 -0400
Subject: [PATCH 002/109] Update README.md
---
README.md | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/README.md b/README.md
index cd9876a..9cde463 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,16 @@
![languages](https://img.shields.io/github/languages/count/gustavoerivero/EdenMobile)
![porc](https://img.shields.io/github/languages/top/gustavoerivero/EdenMobile)
+
+
"Edén: Servicio de juegos" is an information system structured by three components,
including a CRM, an information portal and a mobile application. Eden is a
From bff8afe3a4b0e4fd38e1c45c862343d002c6ddbb Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 13 Nov 2022 16:10:03 -0400
Subject: [PATCH 003/109] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 9cde463..d888e1b 100644
--- a/README.md
+++ b/README.md
@@ -158,4 +158,4 @@ carried out by the Thoteam subgroup, formed by;
---
-⌨️ made with❤️ by [Thoteam]
+⌨️ made with ❤️ by [Thoteam]
From 8df242558950067c023877097dd0124ed949bf7e Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 13 Nov 2022 16:21:06 -0400
Subject: [PATCH 004/109] Create README-ES.md
---
README-ES.md | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 163 insertions(+)
create mode 100644 README-ES.md
diff --git a/README-ES.md b/README-ES.md
new file mode 100644
index 0000000..8100d16
--- /dev/null
+++ b/README-ES.md
@@ -0,0 +1,163 @@
+
+
+
+
+
+![dependencies](https://img.shields.io/depfu/dependencies/github/gustavoerivero/EdenMobile)
+![nodeV](https://img.shields.io/node/v/react-native)
+![size](https://img.shields.io/github/repo-size/gustavoerivero/EdenMobile)
+![version](https://img.shields.io/github/package-json/v/gustavoerivero/EdenMobile)
+![license](https://img.shields.io/github/license/gustavoerivero/EdenMobile)
+![collabs](https://img.shields.io/github/contributors/gustavoerivero/EdenMobile)
+![lastcommit](https://img.shields.io/github/last-commit/gustavoerivero/EdenMobile)
+![languages](https://img.shields.io/github/languages/count/gustavoerivero/EdenMobile)
+![porc](https://img.shields.io/github/languages/top/gustavoerivero/EdenMobile)
+
+
+
+
+"Edén: Servicio de juegos" es un sistema de información estructurado por tres componentes,
+incluyendo un CRM, un portal informativo y una aplicación móvil. Eden es un
+sistema de gestión logística y de información para la administración de
+clubes sociales y deportivos, que apoya especialmente las disciplinas deportivas de "bolas
+criollas" y dominó.
+
+Este repositorio corresponde al componente de la aplicación móvil, que está
+especialmente enfocado a la visualización de datos del club, notificaciones, perfiles de
+usuarios y/o perfiles de los jugadores y, si se dan los permisos correspondientes
+la gestión de los partidos deportivos.
+
+## Comenzando 🚀
+
+La aplicación está desarrollada con React Native para el frontend y PHP con Laravel para el
+backend y también hace uso de otras librerías que son necesarias para el correcto funcionamiento
+de la aplicación.
+
+### Prerrequisitos 📋
+
+* [Node.js](https://nodejs.org/en/) versión 18.12.1
+
+* [Postman](https://www.postman.com/) para las peticiones HTTP.
+
+* Para el proyecto se utilizó [Visual Studio Code](https://code.visualstudio.com/) como editor de texto tanto para el frontend como para el backend, pero también se puede utilizar cualquier editor de texto.
+
+### Instalación 🔧
+
+Para comenzar, se procede a la descarga del repositorio. Para ello, se abre la consola,
+ir a la carpeta donde se desea guardar el proyecto y ejecutar el siguiente comando:
+
+```bash
+ git clone https://github.com/gustavoerivero/EdenMobile.git
+```
+
+A continuación, se debe acceder a la carpeta clonada en el repositorio "EdenMobile".
+
+Para un sistema operativo Windows, con el comando:
+
+```bash
+cd EdenMobile
+```
+
+A continuación, se procede a la instalación de las librerías y dependencias necesarias para su ejecución.
+
+```bash
+npm install
+```
+
+O, como alternativa;
+
+```bash
+yarn install
+```
+
+Si ninguna de las opciones anteriores funciona, intentar con;
+
+```bash
+npm i -f
+```
+
+Una vez que la instalación de las dependencias es exitosa, el proyecto está listo para desplegar.
+
+## Despliegue 📦
+
+Para realizar un despliegue local, se procede ejecutando los siguientes comandos:
+
+### Primer paso: Iniciar Metro
+
+En primer lugar, es necesario iniciar Metro, el bundler de JavaScript que viene con React Native.
+
+Para iniciar Metro, hay que ejecutar ```npx react-native start``` o, ```yarn react-native start```
+dentro de la carpeta del proyecto Eden:
+
+```bash
+ npx react-native start
+```
+
+o
+
+```bash
+ yarn react-native start
+```
+
+Esto permitirá iniciar el Metro Bundler.
+
+### Segundo paso: Iniciar el proyecto
+
+Dejar que Metro Bundler se ejecute en el terminal. Ahora bien, abrir un nuevo terminal dentro del proyecto Eden . Consecuentemente, se debe ejecutar lo siguiente:
+
+```bash
+ npx react-native run-android
+```
+
+o
+
+```bash
+ yarn react-native run-android
+```
+
+Si todo está configurado correctamente, se debería ver la aplicación funcionando en
+un emulador de Android en breve.
+
+```npx react-native run-android``` o ```yarn react-native run-android```, son formas de ejecutar la aplicación, pero también se puede ejecutar directamente desde Android Studio.
+
+Para más información, es posible acceder directamente a la [documentación de React Native](https://reactnative.dev/docs/environment-setup).
+
+## Documentación 📕
+
+Para conocer la documentación utilizada para el desarrollo de la aplicación, es posible visitar la [documentación](https://drive.google.com/drive/folders/1mAbI0DoGZUTUPalTCa9e0e3yG1RdAi9N).
+
+## Autores 💻
+
+El proyecto ha sido concebido, diseñado y desarrollado por estudiantes del último semestre de Ingeniería Informática de la Universidad Centroccidental "Lisandro Alvarado" de la LXIII promoción agrupados bajo el nombre de "Eurus".
+
+### Thoteam ✒️
+Sin embargo, para el desarrollo de la aplicación móvil, el desarrollo fue
+llevado a cabo por el subgrupo Thoteam, formado por;
+
+* @gustavoerivero - [gustavoerivero](https://github.com/gustavoerivero)
+* @joseriveroc - [joseriveroc](https://github.com/joseriveroc)
+* @luisv98 - [luisv98](https://github.com/luisv98)
+
+---
+
+
+
+
+
+
+
+
+
+
+
+
+---
+⌨️ hecho con ❤️ por [Thoteam]
From c306e02a308a56db3826a1be5d6741a252c2b520 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 13 Nov 2022 18:15:17 -0400
Subject: [PATCH 005/109] Add the Eden Logo svg file
---
.vscode/settings.json | 5 +-
README-ES.md | 2 +-
README.md | 2 +-
metro.config.js | 32 ++-
package.json | 1 +
public/assets/eden.svg | 1 +
src/assets/logo/eden.svg | 1 +
src/components/LoginComponents/LoginForm.js | 39 ++--
src/components/StyledField.js | 6 +-
yarn.lock | 228 +++++++++++++++++++-
10 files changed, 277 insertions(+), 40 deletions(-)
create mode 100644 public/assets/eden.svg
create mode 100644 src/assets/logo/eden.svg
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 1133129..fd87bb6 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,3 +1,6 @@
{
- "java.configuration.updateBuildConfiguration": "automatic"
+ "java.configuration.updateBuildConfiguration": "automatic",
+ "files.associations": {
+ "ostream": "cpp"
+ }
}
\ No newline at end of file
diff --git a/README-ES.md b/README-ES.md
index 8100d16..406e398 100644
--- a/README-ES.md
+++ b/README-ES.md
@@ -1,6 +1,6 @@
-
+
![dependencies](https://img.shields.io/depfu/dependencies/github/gustavoerivero/EdenMobile)
diff --git a/README.md b/README.md
index d888e1b..d9bb4bb 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-
+
![dependencies](https://img.shields.io/depfu/dependencies/github/gustavoerivero/EdenMobile)
diff --git a/metro.config.js b/metro.config.js
index e91aba9..a54a64a 100644
--- a/metro.config.js
+++ b/metro.config.js
@@ -5,13 +5,25 @@
* @format
*/
-module.exports = {
- transformer: {
- getTransformOptions: async () => ({
- transform: {
- experimentalImportSupport: false,
- inlineRequires: true,
- },
- }),
- },
-};
+const { getDefaultConfig } = require("metro-config");
+
+module.exports = (async () => {
+ const {
+ resolver: { sourceExts, assetExts }
+ } = await getDefaultConfig();
+ return {
+ transformer: {
+ getTransformOptions: async () => ({
+ transform: {
+ experimentalImportSupport: false,
+ inlineRequires: false
+ }
+ }),
+ babelTransformerPath: require.resolve("react-native-svg-transformer")
+ },
+ resolver: {
+ assetExts: assetExts.filter(ext => ext !== "svg"),
+ sourceExts: [...sourceExts, "svg"]
+ }
+ };
+})();
\ No newline at end of file
diff --git a/package.json b/package.json
index 5a84ae0..45e048c 100644
--- a/package.json
+++ b/package.json
@@ -34,6 +34,7 @@
"react-native-safe-area-context": "3.3.2",
"react-native-screens": "^3.18.2",
"react-native-svg": "12.1.1",
+ "react-native-svg-transformer": "^1.0.0",
"react-native-vector-icons": "^9.2.0",
"react-redux": "^8.0.5",
"yup": "^0.32.11"
diff --git a/public/assets/eden.svg b/public/assets/eden.svg
new file mode 100644
index 0000000..87401d6
--- /dev/null
+++ b/public/assets/eden.svg
@@ -0,0 +1 @@
+Logo EdenPeqRecurso 4_1
\ No newline at end of file
diff --git a/src/assets/logo/eden.svg b/src/assets/logo/eden.svg
new file mode 100644
index 0000000..87401d6
--- /dev/null
+++ b/src/assets/logo/eden.svg
@@ -0,0 +1 @@
+Logo EdenPeqRecurso 4_1
\ No newline at end of file
diff --git a/src/components/LoginComponents/LoginForm.js b/src/components/LoginComponents/LoginForm.js
index 3fa0a3b..8a4baa1 100644
--- a/src/components/LoginComponents/LoginForm.js
+++ b/src/components/LoginComponents/LoginForm.js
@@ -1,4 +1,4 @@
-import React, { useState } from 'react'
+import React, { useState, useRef } from 'react'
import { TouchableOpacity } from 'react-native'
@@ -8,12 +8,10 @@ import {
Text,
VStack,
Stack,
- Image,
FormControl,
WarningOutlineIcon,
Button,
Divider,
- Link,
HStack,
} from 'native-base'
@@ -32,7 +30,7 @@ import Icon from 'react-native-vector-icons/Ionicons'
import { emailValidator, passwordValidator } from '../../utilities/functions'
-import EdenLogo from '../../assets/logo/eden.png'
+import Eden from '../../assets/logo/eden.svg'
import colors from '../../styled-components/colors'
import StyledLink from '../Link'
@@ -71,6 +69,8 @@ const LoginForm = () => {
const [show, setShow] = useState(false)
+ const ref = useRef()
+
return (
{
shadow={8}
alignItems='center'
justifyContent='center'
- my={10}
+ my={5}
>
-
+
{
-
+
{
Correo electrónico
{
}
@@ -189,11 +185,12 @@ const LoginForm = () => {
Contraseña
{
}
diff --git a/src/components/StyledField.js b/src/components/StyledField.js
index 0ffdfe6..e2cdba8 100644
--- a/src/components/StyledField.js
+++ b/src/components/StyledField.js
@@ -1,9 +1,9 @@
-import React from 'react'
+import React, { forwardRef } from 'react'
import { Input } from 'native-base'
import colors from '../styled-components/colors'
-const StyledField = ({ style = {}, ...props }) => {
+const StyledField = ({ style = {}, ...props }, ref) => {
const inputStyle = {
...style
}
@@ -25,4 +25,4 @@ const StyledField = ({ style = {}, ...props }) => {
)
}
-export default StyledField
\ No newline at end of file
+export default forwardRef(StyledField)
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 7f3b468..46c875d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -29,7 +29,7 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30"
integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==
-"@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":
+"@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.19.6", "@babel/core@^7.7.5":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92"
integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==
@@ -2279,11 +2279,108 @@
dependencies:
"@sinonjs/commons" "^1.7.0"
+"@svgr/babel-plugin-add-jsx-attribute@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba"
+ integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==
+
+"@svgr/babel-plugin-remove-jsx-attribute@*":
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz#652bfd4ed0a0699843585cda96faeb09d6e1306e"
+ integrity sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==
+
+"@svgr/babel-plugin-remove-jsx-empty-expression@*":
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz#4b78994ab7d39032c729903fc2dd5c0fa4565cb8"
+ integrity sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==
+
+"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60"
+ integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==
+
+"@svgr/babel-plugin-svg-dynamic-title@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4"
+ integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==
+
+"@svgr/babel-plugin-svg-em-dimensions@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217"
+ integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==
+
+"@svgr/babel-plugin-transform-react-native-svg@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305"
+ integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==
+
+"@svgr/babel-plugin-transform-svg-component@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250"
+ integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==
+
+"@svgr/babel-preset@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828"
+ integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==
+ dependencies:
+ "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1"
+ "@svgr/babel-plugin-remove-jsx-attribute" "*"
+ "@svgr/babel-plugin-remove-jsx-empty-expression" "*"
+ "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1"
+ "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1"
+ "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1"
+ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1"
+ "@svgr/babel-plugin-transform-svg-component" "^6.5.1"
+
+"@svgr/core@^6.1.2":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a"
+ integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==
+ dependencies:
+ "@babel/core" "^7.19.6"
+ "@svgr/babel-preset" "^6.5.1"
+ "@svgr/plugin-jsx" "^6.5.1"
+ camelcase "^6.2.0"
+ cosmiconfig "^7.0.1"
+
+"@svgr/hast-util-to-babel-ast@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2"
+ integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==
+ dependencies:
+ "@babel/types" "^7.20.0"
+ entities "^4.4.0"
+
+"@svgr/plugin-jsx@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072"
+ integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==
+ dependencies:
+ "@babel/core" "^7.19.6"
+ "@svgr/babel-preset" "^6.5.1"
+ "@svgr/hast-util-to-babel-ast" "^6.5.1"
+ svg-parser "^2.0.4"
+
+"@svgr/plugin-svgo@^6.1.2":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84"
+ integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==
+ dependencies:
+ cosmiconfig "^7.0.1"
+ deepmerge "^4.2.2"
+ svgo "^2.8.0"
+
"@tootallnate/once@1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
"@tsconfig/react-native@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@tsconfig/react-native/-/react-native-2.0.2.tgz#ac9b8ceb1de91e2f23ab89f915490a1a4afd65a0"
@@ -2396,6 +2493,11 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
"@types/prettier@^2.0.0":
version "2.7.1"
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e"
@@ -3190,7 +3292,7 @@ camelcase@^5.0.0, camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-camelcase@^6.0.0:
+camelcase@^6.0.0, camelcase@^6.2.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
@@ -3386,6 +3488,11 @@ command-exists@^1.2.8:
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69"
integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
commander@^9.4.0:
version "9.4.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd"
@@ -3473,6 +3580,17 @@ cosmiconfig@^5.0.5, cosmiconfig@^5.1.0:
js-yaml "^3.13.1"
parse-json "^4.0.0"
+cosmiconfig@^7.0.1:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6"
+ integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.10.0"
+
cross-spawn@^6.0.0:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -3511,7 +3629,18 @@ css-select@^2.1.0:
domutils "^1.7.0"
nth-check "^1.0.2"
-css-tree@^1.0.0-alpha.39:
+css-select@^4.1.3:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+ integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.0.1"
+ domhandler "^4.3.1"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
+
+css-tree@^1.0.0-alpha.39, css-tree@^1.1.2, css-tree@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
@@ -3524,6 +3653,18 @@ css-what@^3.2.1:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
+css-what@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+ integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
+csso@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+ dependencies:
+ css-tree "^1.1.2"
+
cssom@^0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
@@ -3713,12 +3854,21 @@ dom-serializer@0:
domelementtype "^2.0.1"
entities "^2.0.0"
+dom-serializer@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+ integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
domelementtype@1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-domelementtype@^2.0.1:
+domelementtype@^2.0.1, domelementtype@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
@@ -3730,6 +3880,13 @@ domexception@^2.0.1:
dependencies:
webidl-conversions "^5.0.0"
+domhandler@^4.2.0, domhandler@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
domutils@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
@@ -3738,6 +3895,15 @@ domutils@^1.7.0:
dom-serializer "0"
domelementtype "1"
+domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -3782,6 +3948,11 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+entities@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
+ integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
+
envinfo@^7.7.2:
version "7.8.1"
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
@@ -6527,6 +6698,13 @@ nth-check@^1.0.2:
dependencies:
boolbase "~1.0.0"
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
nullthrows@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
@@ -6799,6 +6977,11 @@ pascalcase@^0.1.1:
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==
+path-dirname@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
+
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -7096,6 +7279,15 @@ react-native-size-matters@^0.4.0:
resolved "https://registry.yarnpkg.com/react-native-size-matters/-/react-native-size-matters-0.4.0.tgz#01bfd0d59454318f4e0b13fe9c1eb0523d70f2e0"
integrity sha512-8/C0htHrFWeUm9N8JegmadovUfgTWkGBkDPZ1N3YkXtDWb+98Ya2gThiKcu445r8c7YhcrBfnHz/mYsXIusaOQ==
+react-native-svg-transformer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/react-native-svg-transformer/-/react-native-svg-transformer-1.0.0.tgz#7a707e5e95d20321b5f3dcfd0c3c8762ebd0221b"
+ integrity sha512-ALHU5VvLLyKM/BvyEG7VYJmqglvaXtU7mGRCxrEwwpJO/GBf1ZMUzc4AeJAjSodj7yYtlDYRxNSt9ySWpaa6JQ==
+ dependencies:
+ "@svgr/core" "^6.1.2"
+ "@svgr/plugin-svgo" "^6.1.2"
+ path-dirname "^1.0.2"
+
react-native-svg@12.1.1:
version "12.1.1"
resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-12.1.1.tgz#5f292410b8bcc07bbc52b2da7ceb22caf5bcaaee"
@@ -7791,6 +7983,11 @@ stable-hash@^0.0.2:
resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.2.tgz#a909deaa5b9d430b100ca0a10132a533f2665e94"
integrity sha512-tPwQ3c1rLIwbJpq59duoznegEbmgfV630C2n4R4G96LKBFljgK8j+O9AxjqB6cAzu4gE7s4pByrLWtZel8E+Mg==
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+ integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+
stack-utils@^2.0.2:
version "2.0.6"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f"
@@ -7969,6 +8166,24 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+svg-parser@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
+ integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+
+svgo@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24"
+ integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^4.1.3"
+ css-tree "^1.1.3"
+ csso "^4.2.0"
+ picocolors "^1.0.0"
+ stable "^0.1.8"
+
symbol-tree@^3.2.4:
version "3.2.4"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
@@ -8569,6 +8784,11 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+yaml@^1.10.0:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
yargs-parser@^18.1.2:
version "18.1.3"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
From be872b6e27f09ea8158b639b71e1524335b3a83a Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 13 Nov 2022 18:21:36 -0400
Subject: [PATCH 006/109] Add the Eden Logo svg file
---
src/components/LoginComponents/LoginForm.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/LoginComponents/LoginForm.js b/src/components/LoginComponents/LoginForm.js
index 8a4baa1..2716549 100644
--- a/src/components/LoginComponents/LoginForm.js
+++ b/src/components/LoginComponents/LoginForm.js
@@ -86,7 +86,7 @@ const LoginForm = () => {
shadow={8}
alignItems='center'
justifyContent='center'
- my={5}
+ my={10}
>
Date: Tue, 15 Nov 2022 20:03:39 +0000
Subject: [PATCH 007/109] Update all of typescript-eslint to version 5.43.0
---
package.json | 4 +--
yarn.lock | 98 ++++++++++++++++++++++++++--------------------------
2 files changed, 51 insertions(+), 51 deletions(-)
diff --git a/package.json b/package.json
index 45e048c..75194ad 100644
--- a/package.json
+++ b/package.json
@@ -48,8 +48,8 @@
"@types/react": "^18.0.21",
"@types/react-native": "^0.70.6",
"@types/react-test-renderer": "^18.0.0",
- "@typescript-eslint/eslint-plugin": "^5.37.0",
- "@typescript-eslint/parser": "^5.37.0",
+ "@typescript-eslint/eslint-plugin": "^5.43.0",
+ "@typescript-eslint/parser": "^5.43.0",
"babel-jest": "^26.6.3",
"eslint": "^7.32.0",
"jest": "^26.6.3",
diff --git a/yarn.lock b/yarn.lock
index 46c875d..7e3328e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2602,14 +2602,14 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/eslint-plugin@^5.37.0":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz#696b9cc21dfd4749c1c8ad1307f76a36a00aa0e3"
- integrity sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==
- dependencies:
- "@typescript-eslint/scope-manager" "5.42.1"
- "@typescript-eslint/type-utils" "5.42.1"
- "@typescript-eslint/utils" "5.42.1"
+"@typescript-eslint/eslint-plugin@^5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz#4a5248eb31b454715ddfbf8cfbf497529a0a78bc"
+ integrity sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.43.0"
+ "@typescript-eslint/type-utils" "5.43.0"
+ "@typescript-eslint/utils" "5.43.0"
debug "^4.3.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
@@ -2639,31 +2639,31 @@
"@typescript-eslint/typescript-estree" "3.10.1"
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/parser@^5.37.0":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.1.tgz#3e66156f2f74b11690b45950d8f5f28a62751d35"
- integrity sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==
+"@typescript-eslint/parser@^5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.43.0.tgz#9c86581234b88f2ba406f0b99a274a91c11630fd"
+ integrity sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug==
dependencies:
- "@typescript-eslint/scope-manager" "5.42.1"
- "@typescript-eslint/types" "5.42.1"
- "@typescript-eslint/typescript-estree" "5.42.1"
+ "@typescript-eslint/scope-manager" "5.43.0"
+ "@typescript-eslint/types" "5.43.0"
+ "@typescript-eslint/typescript-estree" "5.43.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.42.1":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz#05e5e1351485637d466464237e5259b49f609b18"
- integrity sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==
+"@typescript-eslint/scope-manager@5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz#566e46303392014d5d163704724872e1f2dd3c15"
+ integrity sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==
dependencies:
- "@typescript-eslint/types" "5.42.1"
- "@typescript-eslint/visitor-keys" "5.42.1"
+ "@typescript-eslint/types" "5.43.0"
+ "@typescript-eslint/visitor-keys" "5.43.0"
-"@typescript-eslint/type-utils@5.42.1":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz#21328feb2d4b193c5852b35aabd241ccc1449daa"
- integrity sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==
+"@typescript-eslint/type-utils@5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz#91110fb827df5161209ecca06f70d19a96030be6"
+ integrity sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg==
dependencies:
- "@typescript-eslint/typescript-estree" "5.42.1"
- "@typescript-eslint/utils" "5.42.1"
+ "@typescript-eslint/typescript-estree" "5.43.0"
+ "@typescript-eslint/utils" "5.43.0"
debug "^4.3.4"
tsutils "^3.21.0"
@@ -2672,10 +2672,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727"
integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==
-"@typescript-eslint/types@5.42.1":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.1.tgz#0d4283c30e9b70d2aa2391c36294413de9106df2"
- integrity sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==
+"@typescript-eslint/types@5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.43.0.tgz#e4ddd7846fcbc074325293515fa98e844d8d2578"
+ integrity sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==
"@typescript-eslint/typescript-estree@3.10.1":
version "3.10.1"
@@ -2691,29 +2691,29 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/typescript-estree@5.42.1":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz#f9a223ecb547a781d37e07a5ac6ba9ff681eaef0"
- integrity sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==
+"@typescript-eslint/typescript-estree@5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz#b6883e58ba236a602c334be116bfc00b58b3b9f2"
+ integrity sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==
dependencies:
- "@typescript-eslint/types" "5.42.1"
- "@typescript-eslint/visitor-keys" "5.42.1"
+ "@typescript-eslint/types" "5.43.0"
+ "@typescript-eslint/visitor-keys" "5.43.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.42.1":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.1.tgz#2789b1cd990f0c07aaa3e462dbe0f18d736d5071"
- integrity sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==
+"@typescript-eslint/utils@5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.43.0.tgz#00fdeea07811dbdf68774a6f6eacfee17fcc669f"
+ integrity sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.42.1"
- "@typescript-eslint/types" "5.42.1"
- "@typescript-eslint/typescript-estree" "5.42.1"
+ "@typescript-eslint/scope-manager" "5.43.0"
+ "@typescript-eslint/types" "5.43.0"
+ "@typescript-eslint/typescript-estree" "5.43.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
@@ -2725,12 +2725,12 @@
dependencies:
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/visitor-keys@5.42.1":
- version "5.42.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz#df10839adf6605e1cdb79174cf21e46df9be4872"
- integrity sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==
+"@typescript-eslint/visitor-keys@5.43.0":
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz#cbbdadfdfea385310a20a962afda728ea106befa"
+ integrity sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==
dependencies:
- "@typescript-eslint/types" "5.42.1"
+ "@typescript-eslint/types" "5.43.0"
eslint-visitor-keys "^3.3.0"
abab@^2.0.3, abab@^2.0.5:
From eaeeba9871b62958eed4bf6d9a46376f6b1facb8 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 16 Nov 2022 00:12:00 +0000
Subject: [PATCH 008/109] Update react-hook-form to version 7.39.4
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 45e048c..1506b68 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,7 @@
"native-base": "^3.4.21",
"react": "18.1.0",
"react-dom": "^18.2.0",
- "react-hook-form": "^7.39.3",
+ "react-hook-form": "^7.39.4",
"react-native": "0.70.5",
"react-native-ionicons": "^4.6.5",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
diff --git a/yarn.lock b/yarn.lock
index 46c875d..37b92cb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7196,10 +7196,10 @@ react-freeze@^1.0.0:
resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.3.tgz#5e3ca90e682fed1d73a7cb50c2c7402b3e85618d"
integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==
-react-hook-form@^7.39.3:
- version "7.39.3"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.39.3.tgz#d5e66dae44187606992ba01f26460cca2565ea58"
- integrity sha512-H/vwk1vBf+TiXuyW6+hWz+zCujiDO6NqHlN5sPE/a+NGKKGK95XTM65DZz3NmEgs2M20Wka+g4uv4VD367wDBA==
+react-hook-form@^7.39.4:
+ version "7.39.4"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.39.4.tgz#7d9edf4e778a0cec4383f0119cd0699e3826a14a"
+ integrity sha512-B0e78r9kR9L2M4A4AXGbHoA/vyv34sB/n8QWJAw33TFz8f5t9helBbYAeqnbvcQf1EYzJxKX/bGQQh9K+evCyQ==
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.1.0:
version "18.2.0"
From da283a5727ec376e207a535d82d1a129eaf6e872 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 16 Nov 2022 16:41:06 +0000
Subject: [PATCH 009/109] Update native-base to version 3.4.22
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 45e048c..1f189fc 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"formik": "^2.2.9",
"jwt-decode": "^3.1.2",
"mime": "^3.0.0",
- "native-base": "^3.4.21",
+ "native-base": "^3.4.22",
"react": "18.1.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.39.3",
diff --git a/yarn.lock b/yarn.lock
index 46c875d..943aff1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6539,10 +6539,10 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-native-base@^3.4.21:
- version "3.4.21"
- resolved "https://registry.yarnpkg.com/native-base/-/native-base-3.4.21.tgz#c64fb97701721d5b4979a5f8af91f2bed71415b6"
- integrity sha512-5HlwohfIKwZVtjqtnaI48dDkmUmNfCfFtQZaQR4yJgHmDMdi7+mNwGJAiCUc6YDhRoknlGMR0MirLIuvRFhV5w==
+native-base@^3.4.22:
+ version "3.4.22"
+ resolved "https://registry.yarnpkg.com/native-base/-/native-base-3.4.22.tgz#ad175f4741806e5fa02b3f2e8a98be1db6ea6109"
+ integrity sha512-OmIrbE9b9zbGc/m8+cnBzVeunziB7LTupf81FWFs3ByNKOoMp7QP7XM2vpwJW+RA9lZQothRu084zE59dMNydg==
dependencies:
"@react-aria/focus" "3.2.3"
"@react-aria/utils" "^3.6.0"
From 5c60dde7bc96415f68335fea189ee18594f015fc Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Sat, 19 Nov 2022 17:35:43 +0000
Subject: [PATCH 010/109] Update typescript to version 4.9.3
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index c86c311..ee1d693 100644
--- a/package.json
+++ b/package.json
@@ -55,7 +55,7 @@
"jest": "^26.6.3",
"metro-react-native-babel-preset": "0.72.3",
"react-test-renderer": "18.1.0",
- "typescript": "^4.8.3"
+ "typescript": "^4.9.3"
},
"jest": {
"preset": "react-native",
diff --git a/yarn.lock b/yarn.lock
index 0b89221..b03e75e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8407,10 +8407,10 @@ typedarray-to-buffer@^3.1.5:
dependencies:
is-typedarray "^1.0.0"
-typescript@^4.8.3:
- version "4.8.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
- integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
+typescript@^4.9.3:
+ version "4.9.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db"
+ integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==
uglify-es@^3.1.9:
version "3.3.9"
From 943ef850796ad9a2fe5b3fd6caa6311d4da9bfff Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sat, 19 Nov 2022 13:36:22 -0400
Subject: [PATCH 011/109] Update LICENSE
From 588ac5f5abd0a61388dd4ca44092ff72b72b8bc2 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sat, 19 Nov 2022 19:27:06 -0400
Subject: [PATCH 012/109] Add navbar
---
package.json | 4 +
src/components/Background.js | 6 +-
src/components/Container.js | 27 +++++
src/components/LoginComponents/LoginForm.js | 4 +-
src/components/NavBar.js | 18 ++++
src/navigation/BottomNavigation.js | 107 ++++++++++++++++++++
src/navigation/StackNavigation.js | 14 ++-
src/navigation/styled-components/styles.js | 22 ++++
src/pages/Login/LoginPage.js | 8 +-
src/pages/Main/CalendarPage.js | 19 ++++
src/pages/Main/HomePage.js | 14 +++
src/pages/Main/NotificationPage.js | 19 ++++
src/pages/Main/PostPage.js | 19 ++++
src/pages/Main/UserPage.js | 19 ++++
src/styled-components/colors.js | 7 ++
yarn.lock | 39 +++++++
16 files changed, 338 insertions(+), 8 deletions(-)
create mode 100644 src/components/Container.js
create mode 100644 src/components/NavBar.js
create mode 100644 src/navigation/BottomNavigation.js
create mode 100644 src/navigation/styled-components/styles.js
create mode 100644 src/pages/Main/CalendarPage.js
create mode 100644 src/pages/Main/HomePage.js
create mode 100644 src/pages/Main/NotificationPage.js
create mode 100644 src/pages/Main/PostPage.js
create mode 100644 src/pages/Main/UserPage.js
diff --git a/package.json b/package.json
index ee1d693..9c895c9 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,10 @@
"lint": "eslint . --ext .js,.jsx,.ts,.tsx"
},
"dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.2.1",
+ "@fortawesome/free-brands-svg-icons": "^6.2.1",
+ "@fortawesome/free-solid-svg-icons": "^6.2.1",
+ "@fortawesome/react-native-fontawesome": "^0.3.0",
"@hookform/resolvers": "^2.9.10",
"@react-native-async-storage/async-storage": "^1.17.11",
"@react-navigation/bottom-tabs": "^6.4.0",
diff --git a/src/components/Background.js b/src/components/Background.js
index c84971b..98d1aaa 100644
--- a/src/components/Background.js
+++ b/src/components/Background.js
@@ -4,14 +4,14 @@ import Svg, { Defs, Rect, LinearGradient, Stop } from 'react-native-svg'
import colors from '../styled-components/colors';
-const Background = ({ children }) => {
+const Background = ({ topColor, bottomColor, children }) => {
return (
-
-
+
+
diff --git a/src/components/Container.js b/src/components/Container.js
new file mode 100644
index 0000000..81aec42
--- /dev/null
+++ b/src/components/Container.js
@@ -0,0 +1,27 @@
+import React from 'react'
+import { ScrollView } from 'react-native'
+import colors from '../styled-components/colors'
+import NavBar from './NavBar'
+import Background from './Background'
+
+const Container = ({ navigation, children }) => {
+ return (
+
+
+
+ {children}
+
+
+ )
+}
+
+export default Container
\ No newline at end of file
diff --git a/src/components/LoginComponents/LoginForm.js b/src/components/LoginComponents/LoginForm.js
index 2716549..db84124 100644
--- a/src/components/LoginComponents/LoginForm.js
+++ b/src/components/LoginComponents/LoginForm.js
@@ -35,7 +35,7 @@ import Eden from '../../assets/logo/eden.svg'
import colors from '../../styled-components/colors'
import StyledLink from '../Link'
-const LoginForm = () => {
+const LoginForm = ({ navigation }) => {
const { showErrorToast } = useCustomToast()
const { isLoading, startLoading, stopLoading } = useLoading()
@@ -238,7 +238,7 @@ const LoginForm = () => {
navigation?.navigate('SignIn')}
style={{
backgroundColor: colors.button.bgPrimary,
}}
diff --git a/src/components/NavBar.js b/src/components/NavBar.js
new file mode 100644
index 0000000..e4d4973
--- /dev/null
+++ b/src/components/NavBar.js
@@ -0,0 +1,18 @@
+import { HStack } from 'native-base'
+import React from 'react'
+
+import Eden from '../assets/logo/eden.svg'
+
+const NavBar = ({ navigation }) => {
+ return (
+
+
+
+ )
+}
+
+export default NavBar
\ No newline at end of file
diff --git a/src/navigation/BottomNavigation.js b/src/navigation/BottomNavigation.js
new file mode 100644
index 0000000..1a189d2
--- /dev/null
+++ b/src/navigation/BottomNavigation.js
@@ -0,0 +1,107 @@
+import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
+
+import colors from '../styled-components/colors'
+
+import HomePage from '../pages/Main/HomePage'
+
+import { View } from 'react-native'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import styles from './styled-components/styles'
+
+const Tab = createBottomTabNavigator()
+
+const bottomRoutes = [
+ {
+ name: 'Home',
+ component: HomePage,
+ Icon: ({ color, size }) => (
+
+ )
+ },
+ {
+ name: 'Calendar',
+ component: HomePage,
+ Icon: ({ color, size }) => (
+
+ )
+ },
+ {
+ name: 'Post',
+ component: HomePage,
+ Icon: ({ size }) => (
+
+
+
+ )
+ },
+ {
+ name: 'Notification',
+ component: HomePage,
+ Icon: ({ color, size }) => (
+
+ )
+ },
+ {
+ name: 'Profile',
+ component: HomePage,
+ Icon: ({ color, size }) => (
+
+ )
+ },
+]
+
+const BottomNavigation = () => {
+ return (
+
+ {bottomRoutes.map(({ name, component, Icon }) => (
+
+ ))}
+
+ )
+}
+
+export default BottomNavigation
\ No newline at end of file
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index c4ddb78..b3b334d 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -2,6 +2,8 @@ import { createNativeStackNavigator } from '@react-navigation/native-stack'
import LoginPage from '../pages/Login/LoginPage'
+import BottomNavigation from './BottomNavigation'
+
import useAuthContext from '../hooks/useAuthContext'
import colors from '../styled-components/colors'
@@ -16,7 +18,17 @@ const stackRoutes = [
options: {
headerShown: false
}
- }
+ },
+
+ {
+ name: 'SignIn',
+ component: BottomNavigation,
+ requireAuth: false,
+ options: {
+ headerShown: false,
+ }
+ },
+
]
const StackNavigation = () => {
diff --git a/src/navigation/styled-components/styles.js b/src/navigation/styled-components/styles.js
new file mode 100644
index 0000000..ce797f2
--- /dev/null
+++ b/src/navigation/styled-components/styles.js
@@ -0,0 +1,22 @@
+import { StyleSheet } from 'react-native'
+import colors from '../../styled-components/colors'
+
+const styles = StyleSheet.create({
+ postPage: {
+ backgroundColor: colors.navBar.activeColor,
+ width: 60,
+ height: 60,
+ borderRadius: 30,
+ marginBottom: 20,
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center',
+ elevation: 6,
+ shadowColor: colors.bgPrimary,
+ shadowOffset: { width: 0, height: 2 },
+ shadowOpacity: 0.5,
+ shadowRadius: 5,
+ }
+})
+
+export default styles
\ No newline at end of file
diff --git a/src/pages/Login/LoginPage.js b/src/pages/Login/LoginPage.js
index 0f18b3b..fee329b 100644
--- a/src/pages/Login/LoginPage.js
+++ b/src/pages/Login/LoginPage.js
@@ -3,6 +3,7 @@ import { ScrollView, VStack } from 'native-base'
import LoginForm from '../../components/LoginComponents/LoginForm'
import Background from '../../components/Background'
+import colors from '../../styled-components/colors'
const LoginPage = ({ navigation }) => {
@@ -13,12 +14,15 @@ const LoginPage = ({ navigation }) => {
minHeight: '100%'
}}
>
-
+
-
+
diff --git a/src/pages/Main/CalendarPage.js b/src/pages/Main/CalendarPage.js
new file mode 100644
index 0000000..a99e83e
--- /dev/null
+++ b/src/pages/Main/CalendarPage.js
@@ -0,0 +1,19 @@
+import React from 'react'
+import { ScrollView, VStack } from 'native-base'
+
+const CalendarPage = ({ navigation }) => {
+
+ return (
+
+
+
+ )
+
+}
+
+export default CalendarPage
\ No newline at end of file
diff --git a/src/pages/Main/HomePage.js b/src/pages/Main/HomePage.js
new file mode 100644
index 0000000..ae867c8
--- /dev/null
+++ b/src/pages/Main/HomePage.js
@@ -0,0 +1,14 @@
+import React from 'react'
+import Container from '../../components/Container'
+
+const HomePage = ({ navigation }) => {
+
+ return (
+
+
+
+ )
+
+}
+
+export default HomePage
\ No newline at end of file
diff --git a/src/pages/Main/NotificationPage.js b/src/pages/Main/NotificationPage.js
new file mode 100644
index 0000000..0e35603
--- /dev/null
+++ b/src/pages/Main/NotificationPage.js
@@ -0,0 +1,19 @@
+import React from 'react'
+import { ScrollView, VStack } from 'native-base'
+
+const NotificationPage = ({ navigation }) => {
+
+ return (
+
+
+
+ )
+
+}
+
+export default NotificationPage
\ No newline at end of file
diff --git a/src/pages/Main/PostPage.js b/src/pages/Main/PostPage.js
new file mode 100644
index 0000000..81616ab
--- /dev/null
+++ b/src/pages/Main/PostPage.js
@@ -0,0 +1,19 @@
+import React from 'react'
+import { ScrollView, VStack } from 'native-base'
+
+const PostPage = ({ navigation }) => {
+
+ return (
+
+
+
+ )
+
+}
+
+export default PostPage
\ No newline at end of file
diff --git a/src/pages/Main/UserPage.js b/src/pages/Main/UserPage.js
new file mode 100644
index 0000000..4b6878d
--- /dev/null
+++ b/src/pages/Main/UserPage.js
@@ -0,0 +1,19 @@
+import React from 'react'
+import { ScrollView, VStack } from 'native-base'
+
+const UserPage = ({ navigation }) => {
+
+ return (
+
+
+
+ )
+
+}
+
+export default UserPage
\ No newline at end of file
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 739b749..ded3ec2 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -4,6 +4,9 @@ const colors = {
secondary: '#066598',
bgPrimary: '#152C43',
bgSecondary: '#016F6C',
+ white: '#ffffff',
+ gray: '#6B6D79',
+ gray1: '#ecf0f3',
error: {
primary: '#d95f5f',
secondary: '#f52556',
@@ -26,6 +29,10 @@ const colors = {
fontPrimary: '#1E9C98',
fontSecondary: '#80DCDA'
},
+ navBar: {
+ activeColor: '#48CBC5',
+ inactiveColor: '#6B6D79'
+ },
link: {
color: '#2CA29F'
}
diff --git a/yarn.lock b/yarn.lock
index b03e75e..424409e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -826,6 +826,40 @@
dependencies:
tslib "2.4.0"
+"@fortawesome/fontawesome-common-types@6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.1.tgz#411e02a820744d3f7e0d8d9df9d82b471beaa073"
+ integrity sha512-Sz07mnQrTekFWLz5BMjOzHl/+NooTdW8F8kDQxjWwbpOJcnoSg4vUDng8d/WR1wOxM0O+CY9Zw0nR054riNYtQ==
+
+"@fortawesome/fontawesome-svg-core@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.1.tgz#e87e905e444b5e7b715af09b64d27b53d4c8f9d9"
+ integrity sha512-HELwwbCz6C1XEcjzyT1Jugmz2NNklMrSPjZOWMlc+ZsHIVk+XOvOXLGGQtFBwSyqfJDNgRq4xBCwWOaZ/d9DEA==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "6.2.1"
+
+"@fortawesome/free-brands-svg-icons@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.2.1.tgz#04a6d6f7898f7ef392aba7a65030a584d4f4c84f"
+ integrity sha512-L8l4MfdHPmZlJ72PvzdfwOwbwcCAL0vx48tJRnI6u1PJXh+j2f3yDoKyQgO3qjEsgD5Fr2tQV/cPP8F/k6aUig==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "6.2.1"
+
+"@fortawesome/free-solid-svg-icons@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.1.tgz#2290ea5adcf1537cbd0c43de6feb38af02141d27"
+ integrity sha512-oKuqrP5jbfEPJWTij4sM+/RvgX+RMFwx3QZCZcK9PrBDgxC35zuc7AOFsyMjMd/PIFPeB2JxyqDr5zs/DZFPPw==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "6.2.1"
+
+"@fortawesome/react-native-fontawesome@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/react-native-fontawesome/-/react-native-fontawesome-0.3.0.tgz#b59c45cdae2451d15f826f937d6e1a6e9dca0c74"
+ integrity sha512-wSfetdK4+b/pvPbM2v+bZ5hfNlwtk9l3QuJo59sbMrxJalfX7BuF2WsSIWMSxfWwSsbOtY4+TUs6uw/rE59NJA==
+ dependencies:
+ humps "^2.0.1"
+ prop-types "^15.7.2"
+
"@hapi/hoek@^9.0.0":
version "9.3.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
@@ -4868,6 +4902,11 @@ human-signals@^1.1.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+humps@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa"
+ integrity sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==
+
hyphenate-style-name@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
From f12c739157fa2003a7d7fdd635e2ccb2444fed5a Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 20 Nov 2022 12:59:44 -0400
Subject: [PATCH 013/109] Update README.md
---
README.md | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/README.md b/README.md
index d9bb4bb..86e718f 100644
--- a/README.md
+++ b/README.md
@@ -3,15 +3,17 @@
-![dependencies](https://img.shields.io/depfu/dependencies/github/gustavoerivero/EdenMobile)
-![nodeV](https://img.shields.io/node/v/react-native)
-![size](https://img.shields.io/github/repo-size/gustavoerivero/EdenMobile)
-![version](https://img.shields.io/github/package-json/v/gustavoerivero/EdenMobile)
-![license](https://img.shields.io/github/license/gustavoerivero/EdenMobile)
-![collabs](https://img.shields.io/github/contributors/gustavoerivero/EdenMobile)
-![lastcommit](https://img.shields.io/github/last-commit/gustavoerivero/EdenMobile)
-![languages](https://img.shields.io/github/languages/count/gustavoerivero/EdenMobile)
-![porc](https://img.shields.io/github/languages/top/gustavoerivero/EdenMobile)
+
From a969d3c276d440200b07b8adb6baf562b4ed8a78 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 20 Nov 2022 16:45:55 -0400
Subject: [PATCH 014/109] Update Home Page components
---
src/components/Background.js | 2 -
src/components/Container.js | 14 ++--
src/components/HomeComponents/InfoCard.js | 65 +++++++++++++++++++
.../styled-components/styles.js | 16 +++++
src/components/NavBar.js | 4 +-
src/components/StatusBar.js | 18 +++++
src/components/styled-components/styles.js | 23 +++++++
src/pages/Main/HomePage.js | 40 +++++++++++-
src/styled-components/colors.js | 8 ++-
9 files changed, 179 insertions(+), 11 deletions(-)
create mode 100644 src/components/HomeComponents/InfoCard.js
create mode 100644 src/components/HomeComponents/styled-components/styles.js
create mode 100644 src/components/StatusBar.js
create mode 100644 src/components/styled-components/styles.js
diff --git a/src/components/Background.js b/src/components/Background.js
index 98d1aaa..0d7e13d 100644
--- a/src/components/Background.js
+++ b/src/components/Background.js
@@ -2,8 +2,6 @@ import React from 'react'
import { View, StyleSheet } from 'react-native'
import Svg, { Defs, Rect, LinearGradient, Stop } from 'react-native-svg'
-import colors from '../styled-components/colors';
-
const Background = ({ topColor, bottomColor, children }) => {
return (
diff --git a/src/components/Container.js b/src/components/Container.js
index 81aec42..865b70a 100644
--- a/src/components/Container.js
+++ b/src/components/Container.js
@@ -3,16 +3,20 @@ import { ScrollView } from 'react-native'
import colors from '../styled-components/colors'
import NavBar from './NavBar'
import Background from './Background'
+import styles from './styled-components/styles'
+import StatusBar from './StatusBar'
-const Container = ({ navigation, children }) => {
+const Container = ({ statusBarStyle, statusBarColor, hiddenStatusBar, children }) => {
return (
+
{
+
+ /**
+ * Method to trim text strings under a maximum character limit.
+ * @param {String} text Text string to cut out.
+ * @param {Number} maxLength Maximum text length permitted.
+ * @returns {String} Clipped text string.
+ */
+ const cutText = (text = '', maxLength = 255) => {
+ return text.length > maxLength ? text.substring(0, maxLength - 3) + '...' : text
+ }
+
+ return (
+
+
+
+
+
+
+
+ {cutText(title, 30)}
+
+
+ {cutText(description.toLowerCase(), 45)}
+
+
+
+
+
+
+ )
+}
+
+export default InfoCard
\ No newline at end of file
diff --git a/src/components/HomeComponents/styled-components/styles.js b/src/components/HomeComponents/styled-components/styles.js
new file mode 100644
index 0000000..68a6ef1
--- /dev/null
+++ b/src/components/HomeComponents/styled-components/styles.js
@@ -0,0 +1,16 @@
+import { StyleSheet } from 'react-native'
+
+const styles = StyleSheet.create({
+ imageBackground: {
+ opacity: 1,
+ borderRadius: 7,
+ minHeight: 160,
+ },
+ gradient: {
+ flex: 1,
+ borderRadius: 7,
+ minHeight: 160,
+ }
+})
+
+export default styles
\ No newline at end of file
diff --git a/src/components/NavBar.js b/src/components/NavBar.js
index e4d4973..bf427c6 100644
--- a/src/components/NavBar.js
+++ b/src/components/NavBar.js
@@ -1,9 +1,9 @@
-import { HStack } from 'native-base'
import React from 'react'
+import { HStack } from 'native-base'
import Eden from '../assets/logo/eden.svg'
-const NavBar = ({ navigation }) => {
+const NavBar = () => {
return (
{
+ return (
+
+
+
+ )
+}
+
+export default StatusBar
\ No newline at end of file
diff --git a/src/components/styled-components/styles.js b/src/components/styled-components/styles.js
new file mode 100644
index 0000000..6f21959
--- /dev/null
+++ b/src/components/styled-components/styles.js
@@ -0,0 +1,23 @@
+import { StyleSheet } from 'react-native'
+import colors from '../../styled-components/colors'
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'center',
+ backgroundColor: colors.primary,
+ },
+ containerOut: {
+ minHeight: '100%',
+ backgroundColor: colors.gray1
+ },
+ buttonsContainer: {
+ padding: 10
+ },
+ textStyle: {
+ textAlign: 'center',
+ marginBottom: 8
+ }
+})
+
+export default styles
\ No newline at end of file
diff --git a/src/pages/Main/HomePage.js b/src/pages/Main/HomePage.js
index ae867c8..1b417ee 100644
--- a/src/pages/Main/HomePage.js
+++ b/src/pages/Main/HomePage.js
@@ -1,11 +1,49 @@
+import { VStack } from 'native-base'
import React from 'react'
import Container from '../../components/Container'
+import InfoCard from '../../components/HomeComponents/InfoCard'
const HomePage = ({ navigation }) => {
+ const data = [
+ {
+ title: 'Torneo de voleibol',
+ description: 'Sábado 26 de noviembre',
+ image: 'https://imagenes.elpais.com/resizer/L-x86NTaSVVBr9YZnnn1driudPw=/980x0/cloudfront-eu-central-1.images.arcpublishing.com/prisa/CNK6AU3UNFB2REUA4VXS233FKE.jpg'
+ },
+ {
+ title: 'Juegos interclub',
+ description: 'del 01 al 07 de diciembre',
+ image: 'https://warwick.ac.uk/services/sport/find-your-active.jpg'
+ },
+ {
+ title: 'Torneo de bolas criollas',
+ description: 'Viernes 09 de diciembre',
+ image: 'https://http2.mlstatic.com/D_NQ_NP_655547-MLV25593228224_052017-O.webp'
+ },
+ {
+ title: 'Torneo de dominó',
+ description: 'Lunes 12 de diciembre',
+ image: 'https://patasdegallo.com/wp-content/uploads/2016/12/capacidad-mental.jpg'
+ },
+ ]
+
return (
-
+
+ {data?.map((item, key) => (
+
+ ))}
+
)
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index ded3ec2..58af71d 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -35,7 +35,13 @@ const colors = {
},
link: {
color: '#2CA29F'
- }
+ },
+ infoCard: {
+ topColor: 'rgba(244, 244, 244, 0)',
+ middleColor: 'rgba(21, 44, 67, .2)',
+ middleBottomColor: 'rgba(21, 44, 67, .5)',
+ bottomColor: 'rgba(0, 0, 0, 1)',
+ },
}
export default colors
\ No newline at end of file
From af6e83214a3a4ce14eb70011e6adff5fe09420fe Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 22 Nov 2022 05:40:53 +0000
Subject: [PATCH 015/109] Update react-hook-form to version 7.39.5
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 9c895c9..7cc4cce 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
"native-base": "^3.4.22",
"react": "18.1.0",
"react-dom": "^18.2.0",
- "react-hook-form": "^7.39.4",
+ "react-hook-form": "^7.39.5",
"react-native": "0.70.5",
"react-native-ionicons": "^4.6.5",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
diff --git a/yarn.lock b/yarn.lock
index 424409e..17857b6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7235,10 +7235,10 @@ react-freeze@^1.0.0:
resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.3.tgz#5e3ca90e682fed1d73a7cb50c2c7402b3e85618d"
integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==
-react-hook-form@^7.39.4:
- version "7.39.4"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.39.4.tgz#7d9edf4e778a0cec4383f0119cd0699e3826a14a"
- integrity sha512-B0e78r9kR9L2M4A4AXGbHoA/vyv34sB/n8QWJAw33TFz8f5t9helBbYAeqnbvcQf1EYzJxKX/bGQQh9K+evCyQ==
+react-hook-form@^7.39.5:
+ version "7.39.5"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.39.5.tgz#a4272b60288ef5e1bb42bbb6ba3b36d243ab2879"
+ integrity sha512-OE0HKyz5IPc6svN2wd+e+evidZrw4O4WZWAWYzQVZuHi+hYnHFSLnxOq0ddjbdmaLIsLHut/ab7j72y2QT3+KA==
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.1.0:
version "18.2.0"
From d92f83e58382027932afdb18cb138c31204badfa Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 22 Nov 2022 18:41:23 +0000
Subject: [PATCH 016/109] Update @react-navigation/bottom-tabs to version 6.4.1
---
package.json | 2 +-
yarn.lock | 15 ++++++++++-----
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/package.json b/package.json
index 7cc4cce..ee3af6a 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
"@fortawesome/react-native-fontawesome": "^0.3.0",
"@hookform/resolvers": "^2.9.10",
"@react-native-async-storage/async-storage": "^1.17.11",
- "@react-navigation/bottom-tabs": "^6.4.0",
+ "@react-navigation/bottom-tabs": "^6.4.1",
"@react-navigation/drawer": "^6.5.0",
"@react-navigation/material-top-tabs": "^6.3.0",
"@react-navigation/native": "^6.0.13",
diff --git a/yarn.lock b/yarn.lock
index 17857b6..f0504b5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1834,12 +1834,12 @@
resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa"
integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==
-"@react-navigation/bottom-tabs@^6.4.0":
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.4.0.tgz#63743874648f92adedf37186cb7cedcd47826ee9"
- integrity sha512-90CapiXjiWudbCiki9e6fOr/CECQRguIxv5OD7IBfbAMGX5GGiJpX8aqiHAz2DxpAz31v4JZcUr945+lFhXBfA==
+"@react-navigation/bottom-tabs@^6.4.1":
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.4.1.tgz#54e469077f7c9f3750e6727ec8f298d5497b6ae5"
+ integrity sha512-b12o0aVe+A9bUVP31kQLVcZ5l4Inm/7XhpSS5FvwhoI9L2iwofK1tt98uEQd79NIAklfui+IqRqr2X6XKkygbA==
dependencies:
- "@react-navigation/elements" "^1.3.6"
+ "@react-navigation/elements" "^1.3.7"
color "^4.2.3"
warn-once "^0.1.0"
@@ -1869,6 +1869,11 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.6.tgz#fa700318528db93f05144b1be4b691b9c1dd1abe"
integrity sha512-pNJ8R9JMga6SXOw6wGVN0tjmE6vegwPmJBL45SEMX2fqTfAk2ykDnlJHodRpHpAgsv0DaI8qX76z3A+aqKSU0w==
+"@react-navigation/elements@^1.3.7":
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
+ integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw==
+
"@react-navigation/material-top-tabs@^6.3.0":
version "6.3.0"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
From 5ae64b76054f593ff76b161e6d857f5ff3c088af Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Tue, 22 Nov 2022 14:47:54 -0400
Subject: [PATCH 017/109] Add event page
---
src/assets/images/notFound.svg | 1 +
src/components/Container.js | 29 +--
src/components/HomeComponents/InfoCard.js | 38 +--
src/components/NavBar.js | 20 +-
src/components/NotFound.js | 34 +++
src/navigation/BottomNavigation.js | 24 +-
src/navigation/StackNavigation.js | 19 +-
src/navigation/styled-components/styles.js | 9 +-
src/pages/Events/EventPage.js | 248 +++++++++++++++++++
src/pages/Events/styled-components/styles.js | 23 ++
src/pages/Main/CalendarPage.js | 18 +-
src/pages/Main/HomePage.js | 125 +++++++++-
src/pages/Main/NotificationPage.js | 18 +-
src/pages/Main/PostPage.js | 18 +-
src/pages/Main/UserPage.js | 18 +-
src/styled-components/colors.js | 6 +-
src/utilities/functions.js | 17 +-
17 files changed, 555 insertions(+), 110 deletions(-)
create mode 100644 src/assets/images/notFound.svg
create mode 100644 src/components/NotFound.js
create mode 100644 src/pages/Events/EventPage.js
create mode 100644 src/pages/Events/styled-components/styles.js
diff --git a/src/assets/images/notFound.svg b/src/assets/images/notFound.svg
new file mode 100644
index 0000000..501be54
--- /dev/null
+++ b/src/assets/images/notFound.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/components/Container.js b/src/components/Container.js
index 865b70a..948a63c 100644
--- a/src/components/Container.js
+++ b/src/components/Container.js
@@ -1,30 +1,27 @@
import React from 'react'
-import { ScrollView } from 'react-native'
-import colors from '../styled-components/colors'
+
import NavBar from './NavBar'
import Background from './Background'
-import styles from './styled-components/styles'
import StatusBar from './StatusBar'
-const Container = ({ statusBarStyle, statusBarColor, hiddenStatusBar, children }) => {
+import colors from '../styled-components/colors'
+
+const Container = ({ statusBarStyle, statusBarColor, hiddenStatusBar, hiddenNavBar, children }) => {
return (
-
-
-
-
- {children}
-
-
+
+ {children}
+
)
}
diff --git a/src/components/HomeComponents/InfoCard.js b/src/components/HomeComponents/InfoCard.js
index 735a064..2e5daee 100644
--- a/src/components/HomeComponents/InfoCard.js
+++ b/src/components/HomeComponents/InfoCard.js
@@ -1,26 +1,34 @@
-import { Box, VStack, Divider, Text } from 'native-base'
+import { Box, VStack, Text } from 'native-base'
import React from 'react'
import { ImageBackground, TouchableOpacity } from 'react-native'
import LinearGradient from 'react-native-linear-gradient'
+
+import { cutText } from '../../utilities/functions'
+
import colors from '../../styled-components/colors'
import styles from './styled-components/styles'
-const InfoCard = ({ title = '', description = '', image = '' }) => {
-
- /**
- * Method to trim text strings under a maximum character limit.
- * @param {String} text Text string to cut out.
- * @param {Number} maxLength Maximum text length permitted.
- * @returns {String} Clipped text string.
- */
- const cutText = (text = '', maxLength = 255) => {
- return text.length > maxLength ? text.substring(0, maxLength - 3) + '...' : text
- }
+const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour = '', location = '', area = '',description = '', image = '' }) => {
return (
-
-
+
+ {
+ if (type === 3)
+ navigation?.navigate('EventPage', {
+ id: id,
+ type: type,
+ title: title,
+ date: date,
+ hour: hour,
+ location: location,
+ area: area,
+ description: description,
+ image: image,
+ })
+ }}
+ >
{
color='white'
textAlign='right'
>
- {cutText(description.toLowerCase(), 45)}
+ {cutText(date.toLowerCase(), 45)}
diff --git a/src/components/NavBar.js b/src/components/NavBar.js
index bf427c6..8987513 100644
--- a/src/components/NavBar.js
+++ b/src/components/NavBar.js
@@ -3,15 +3,19 @@ import { HStack } from 'native-base'
import Eden from '../assets/logo/eden.svg'
-const NavBar = () => {
+const NavBar = ({ hidden = false }) => {
return (
-
-
-
+ <>
+ {!hidden &&
+
+
+
+ }
+ >
)
}
diff --git a/src/components/NotFound.js b/src/components/NotFound.js
new file mode 100644
index 0000000..52a7546
--- /dev/null
+++ b/src/components/NotFound.js
@@ -0,0 +1,34 @@
+import React from 'react'
+import { VStack, Text } from 'native-base'
+
+import colors from '../styled-components/colors'
+
+import DontFound from '../assets/images/notFound.svg'
+
+const NotFound = ({ fontSize = 'md', textAlign = 'center', colorText = colors.secondary , text = null, widthImage = 300, heightImage = 300, heightStack = '100%', stackAlign = 'center', ...props }) => {
+ return (
+
+
+
+ { text ? text : 'Qué extraño... no se ha encontrado información al respecto.'}
+
+
+
+ )
+}
+
+export default NotFound
\ No newline at end of file
diff --git a/src/navigation/BottomNavigation.js b/src/navigation/BottomNavigation.js
index 1a189d2..3c4965d 100644
--- a/src/navigation/BottomNavigation.js
+++ b/src/navigation/BottomNavigation.js
@@ -3,6 +3,10 @@ import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
import colors from '../styled-components/colors'
import HomePage from '../pages/Main/HomePage'
+import CalendarPage from '../pages/Main/CalendarPage'
+import PostPage from '../pages/Main/PostPage'
+import NotificationPage from '../pages/Main/NotificationPage'
+import UserPage from '../pages/Main/UserPage'
import { View } from 'react-native'
import Icon from 'react-native-vector-icons/Ionicons'
@@ -17,7 +21,7 @@ const bottomRoutes = [
component: HomePage,
Icon: ({ color, size }) => (
@@ -25,10 +29,10 @@ const bottomRoutes = [
},
{
name: 'Calendar',
- component: HomePage,
+ component: CalendarPage,
Icon: ({ color, size }) => (
@@ -36,13 +40,13 @@ const bottomRoutes = [
},
{
name: 'Post',
- component: HomePage,
- Icon: ({ size }) => (
+ component: PostPage,
+ Icon: ({ color, size }) => (
@@ -51,10 +55,10 @@ const bottomRoutes = [
},
{
name: 'Notification',
- component: HomePage,
+ component: NotificationPage,
Icon: ({ color, size }) => (
@@ -62,10 +66,10 @@ const bottomRoutes = [
},
{
name: 'Profile',
- component: HomePage,
+ component: UserPage,
Icon: ({ color, size }) => (
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index b3b334d..070fb88 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -1,12 +1,13 @@
import { createNativeStackNavigator } from '@react-navigation/native-stack'
import LoginPage from '../pages/Login/LoginPage'
+import EventPage from '../pages/Events/EventPage'
import BottomNavigation from './BottomNavigation'
import useAuthContext from '../hooks/useAuthContext'
-import colors from '../styled-components/colors'
+import styles from './styled-components/styles'
const Stack = createNativeStackNavigator()
@@ -29,6 +30,15 @@ const stackRoutes = [
}
},
+ {
+ name: 'EventPage',
+ component: EventPage,
+ requireAuth: false,
+ options: {
+ headerShown: false,
+ }
+ },
+
]
const StackNavigation = () => {
@@ -40,12 +50,7 @@ const StackNavigation = () => {
return (
{
stackRoutes
diff --git a/src/navigation/styled-components/styles.js b/src/navigation/styled-components/styles.js
index ce797f2..eddfc11 100644
--- a/src/navigation/styled-components/styles.js
+++ b/src/navigation/styled-components/styles.js
@@ -16,7 +16,14 @@ const styles = StyleSheet.create({
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 5,
- }
+ },
+
+ stackStyles: {
+ headerStyle: {
+ backgroundColor: colors.primary,
+ },
+ headerTintColor: colors.secondary,
+ },
})
export default styles
\ No newline at end of file
diff --git a/src/pages/Events/EventPage.js b/src/pages/Events/EventPage.js
new file mode 100644
index 0000000..a8a695e
--- /dev/null
+++ b/src/pages/Events/EventPage.js
@@ -0,0 +1,248 @@
+import React from 'react'
+import { ImageBackground, TouchableOpacity, useWindowDimensions } from 'react-native'
+import LinearGradient from 'react-native-linear-gradient'
+import { Button, HStack, Stack, Text, Tooltip, VStack } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+
+import styles from './styled-components/styles'
+import colors from '../../styled-components/colors'
+
+import { cutText } from '../../utilities/functions'
+
+const EventPage = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const event = route?.params
+
+ return (
+
+
+
+
+
+
+
+ {
+ navigation?.goBack()
+ }}
+ >
+
+
+
+ Atrás
+
+
+
+
+ {
+ console.log(`Favorite button is pressed`)
+ }}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 30 ? '3xl' : '4xl'}
+ >
+ {cutText(event.title, 50)}
+
+
+
+
+
+
+
+ {event.date}
+
+
+ {event.hour}
+
+
+
+
+
+
+
+
+ {event.location}
+
+
+ {event.area}
+
+
+
+
+
+
+ Descripción
+
+
+ {event.description}
+
+
+
+
+
+
+
+ {
+ console.log(`Share button is pressed`)
+ }}
+ >
+
+
+
+
+ console.log('Comment button is pressed')}
+ >
+ Comentar
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export default EventPage
\ No newline at end of file
diff --git a/src/pages/Events/styled-components/styles.js b/src/pages/Events/styled-components/styles.js
new file mode 100644
index 0000000..154ee72
--- /dev/null
+++ b/src/pages/Events/styled-components/styles.js
@@ -0,0 +1,23 @@
+import { StyleSheet } from 'react-native'
+
+const styles = StyleSheet.create({
+ imageBackground: {
+ opacity: 1,
+ minHeight: 200,
+ },
+ gradient: {
+ flex: 1,
+ minHeight: 200,
+ },
+
+ bookmarkGradient: [
+ 'rgba(255, 255, 255, .3)',
+ 'rgba(244, 244, 244, .4)'
+ ],
+
+ bookmarkContainer: {
+ borderRadius: 15,
+ }
+})
+
+export default styles
\ No newline at end of file
diff --git a/src/pages/Main/CalendarPage.js b/src/pages/Main/CalendarPage.js
index a99e83e..b3a7992 100644
--- a/src/pages/Main/CalendarPage.js
+++ b/src/pages/Main/CalendarPage.js
@@ -1,17 +1,17 @@
import React from 'react'
-import { ScrollView, VStack } from 'native-base'
+import { VStack } from 'native-base'
+import Container from '../../components/Container'
const CalendarPage = ({ navigation }) => {
return (
-
-
-
+
+
+
+
+
)
}
diff --git a/src/pages/Main/HomePage.js b/src/pages/Main/HomePage.js
index 1b417ee..5f86250 100644
--- a/src/pages/Main/HomePage.js
+++ b/src/pages/Main/HomePage.js
@@ -1,48 +1,147 @@
-import { VStack } from 'native-base'
-import React from 'react'
+import React, { useCallback, useState } from 'react'
+import { ActivityIndicator, useWindowDimensions, RefreshControl } from 'react-native'
+
+import { useFocusEffect } from '@react-navigation/native'
+import { FlatList, Stack, Text, VStack } from 'native-base'
+
import Container from '../../components/Container'
import InfoCard from '../../components/HomeComponents/InfoCard'
+import useLoading from '../../hooks/useLoading'
+
+import colors from '../../styled-components/colors'
+
+import NotFound from '../../components/NotFound'
const HomePage = ({ navigation }) => {
const data = [
{
- title: 'Torneo de voleibol',
- description: 'Sábado 26 de noviembre',
+ id: 1,
+ type: 3,
+ title: 'Torneo Magistral de voleyball playero',
+ date: '26 noviembre, 2022',
+ hour: 'Sábado, 6:00PM - 11:00PM',
+ location: 'Cancha de voleyball',
+ area: 'Zona deportiva',
+ description: 'Torneo magistral de voleyball playero en la cancha de voleyball de concreto porque falta la cancha de voleyball playero...',
image: 'https://imagenes.elpais.com/resizer/L-x86NTaSVVBr9YZnnn1driudPw=/980x0/cloudfront-eu-central-1.images.arcpublishing.com/prisa/CNK6AU3UNFB2REUA4VXS233FKE.jpg'
},
{
+ id: 2,
+ type: 3,
title: 'Juegos interclub',
- description: 'del 01 al 07 de diciembre',
+ date: '01 diciembre a 07 diciembre, 2022',
+ hour: 'Jueves a miércoles, 6:00PM - 11:00PM',
+ location: 'Domo deportivo',
+ area: 'Zona deportiva',
+ description: 'Torneo multidisciplinario de juegos deportivos entre diversos clubes socio-deportivos.',
image: 'https://warwick.ac.uk/services/sport/find-your-active.jpg'
},
{
+ id: 3,
+ type: 1,
title: 'Torneo de bolas criollas',
+ date: '09 diciembre, 2022',
+ hour: 'Viernes, 6:00PM - 11:00PM',
+ location: 'Cancha de bolas criollas',
+ area: 'Zona deportiva',
description: 'Viernes 09 de diciembre',
image: 'https://http2.mlstatic.com/D_NQ_NP_655547-MLV25593228224_052017-O.webp'
},
{
+ id: 4,
+ type: 2,
title: 'Torneo de dominó',
+ date: '12 diciembre, 2022',
+ hour: 'Lunes, 6:00PM - 11:00PM',
+ location: 'Caney de zonas de estar',
+ area: 'Zona recreativa',
description: 'Lunes 12 de diciembre',
image: 'https://patasdegallo.com/wp-content/uploads/2016/12/capacidad-mental.jpg'
},
]
+ const wait = (timeOut) => {
+ return new Promise(resolve => setTimeout(resolve, timeOut))
+ }
+
+ const { isLoading, startLoading, stopLoading } = useLoading()
+
+ const [events, setEvents] = useState([])
+ const [refreshing, setRefreshing] = useState(false)
+
+ const layout = useWindowDimensions()
+
+ const onRefresh = useCallback(() => {
+ setRefreshing(true)
+ wait(2000).then(() => setRefreshing(false))
+ }, [])
+
+ useFocusEffect(
+ useCallback(() => {
+ if (events?.length === 0) startLoading()
+
+ setEvents(data)
+
+ if (events?.length !== 0) stopLoading()
+
+ }, [])
+ )
+
return (
- {data?.map((item, key) => (
- 0 || !isLoading ? (
+
+ }
+ showsVerticalScrollIndicator={false}
+ data={events}
+ maxH={layout.height * .80}
+ keyExtractor={item => item?.id}
+ renderItem={({ item }) => (
+
+
+
+ )}
+ />
+ ) : events?.length === 0 ? (
+
- ))}
+ ) : (
+
+
+
+ )}
)
diff --git a/src/pages/Main/NotificationPage.js b/src/pages/Main/NotificationPage.js
index 0e35603..f299b15 100644
--- a/src/pages/Main/NotificationPage.js
+++ b/src/pages/Main/NotificationPage.js
@@ -1,17 +1,17 @@
import React from 'react'
-import { ScrollView, VStack } from 'native-base'
+import { VStack } from 'native-base'
+import Container from '../../components/Container'
const NotificationPage = ({ navigation }) => {
return (
-
-
-
+
+
+
+
+
)
}
diff --git a/src/pages/Main/PostPage.js b/src/pages/Main/PostPage.js
index 81616ab..42190f6 100644
--- a/src/pages/Main/PostPage.js
+++ b/src/pages/Main/PostPage.js
@@ -1,17 +1,17 @@
import React from 'react'
-import { ScrollView, VStack } from 'native-base'
+import { VStack } from 'native-base'
+import Container from '../../components/Container'
const PostPage = ({ navigation }) => {
return (
-
-
-
+
+
+
+
+
)
}
diff --git a/src/pages/Main/UserPage.js b/src/pages/Main/UserPage.js
index 4b6878d..ecf38ed 100644
--- a/src/pages/Main/UserPage.js
+++ b/src/pages/Main/UserPage.js
@@ -1,17 +1,17 @@
import React from 'react'
-import { ScrollView, VStack } from 'native-base'
+import { VStack } from 'native-base'
+import Container from '../../components/Container'
const UserPage = ({ navigation }) => {
return (
-
-
-
+
+
+
+
+
)
}
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 58af71d..2f4049d 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -20,8 +20,9 @@ const colors = {
text: '#2A353C',
},
text: {
- primary: '#2A353C',
+ primary: '#1F202A',
secondary: 'rgba(42,53,60, .75)',
+ description: '#6B6D79'
},
button: {
bgPrimary: '#48CBC5',
@@ -42,6 +43,9 @@ const colors = {
middleBottomColor: 'rgba(21, 44, 67, .5)',
bottomColor: 'rgba(0, 0, 0, 1)',
},
+ icon: {
+ primary: '#48CBC5'
+ }
}
export default colors
\ No newline at end of file
diff --git a/src/utilities/functions.js b/src/utilities/functions.js
index 833fc46..b381cb2 100644
--- a/src/utilities/functions.js
+++ b/src/utilities/functions.js
@@ -1,19 +1,30 @@
import RegExp from "./RegEx/RegEx"
const emailValidator = (email) => {
- return RegExp.regEmail.test(email)
+ return RegExp.regEmail.test(email)
}
const passwordValidator = (password) => {
- return RegExp.regPassword.test(password)
+ return RegExp.regPassword.test(password)
}
const phoneValidator = (phone) => {
- return RegExp.regPhone.test(phone)
+ return RegExp.regPhone.test(phone)
+}
+
+/**
+ * Method to trim text strings under a maximum character limit.
+ * @param {String} text Text string to cut out.
+ * @param {Number} maxLength Maximum text length permitted.
+ * @returns {String} Clipped text string.
+ */
+const cutText = (text = '', maxLength = 255) => {
+ return text.length > maxLength ? text.substring(0, maxLength - 3) + '...' : text
}
module.exports = {
emailValidator,
passwordValidator,
phoneValidator,
+ cutText,
}
\ No newline at end of file
From 8901ac44ad62ed0fd18b1f62e5f2c0a68d686856 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 22 Nov 2022 19:53:00 +0000
Subject: [PATCH 018/109] Update @react-navigation/native to version 6.0.14
---
package.json | 2 +-
yarn.lock | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/package.json b/package.json
index 7cc4cce..4f2e5c3 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
"@react-navigation/bottom-tabs": "^6.4.0",
"@react-navigation/drawer": "^6.5.0",
"@react-navigation/material-top-tabs": "^6.3.0",
- "@react-navigation/native": "^6.0.13",
+ "@react-navigation/native": "^6.0.14",
"@react-navigation/native-stack": "^6.9.1",
"@rneui/base": "^4.0.0-rc.7",
"@rneui/themed": "^4.0.0-rc.7",
diff --git a/yarn.lock b/yarn.lock
index 17857b6..79c5c47 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1843,10 +1843,10 @@
color "^4.2.3"
warn-once "^0.1.0"
-"@react-navigation/core@^6.4.0":
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.0.tgz#c44d33a8d8ef010a102c7f831fc8add772678509"
- integrity sha512-tpc0Ak/DiHfU3LlYaRmIY7vI4sM/Ru0xCet6runLUh9aABf4wiLgxyFJ5BtoWq6xFF8ymYEA/KWtDhetQ24YiA==
+"@react-navigation/core@^6.4.1":
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.1.tgz#2d290cadc23992e914c45b5712efa30e5f37587f"
+ integrity sha512-M1rTS+qaw84ZItvObwFTjuvXfrJRnXL2uJJeiDVwSvu7/30Wp6bkL3/MfLUEA6I4CzJhL74iRSfCKSVe7kVhlw==
dependencies:
"@react-navigation/routers" "^6.1.3"
escape-string-regexp "^4.0.0"
@@ -1885,12 +1885,12 @@
"@react-navigation/elements" "^1.3.6"
warn-once "^0.1.0"
-"@react-navigation/native@^6.0.13":
- version "6.0.13"
- resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.0.13.tgz#ec504120e193ea6a7f24ffa765a1338be5a3160a"
- integrity sha512-CwaJcAGbhv3p3ECablxBkw8QBCGDWXqVRwQ4QbelajNW623m3sNTC9dOF6kjp8au6Rg9B5e0KmeuY0xWbPk79A==
+"@react-navigation/native@^6.0.14":
+ version "6.0.14"
+ resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.0.14.tgz#3ce3a4176ac7dc5495241d56a28db18449baf754"
+ integrity sha512-Z95bJrRkZerBJq6Qc/xjA/kibPpB+UvPeMWS1CBhRF8FaX1483UdHqPqSbW879tPwjP2R4XfoA4dtoEHswrOjA==
dependencies:
- "@react-navigation/core" "^6.4.0"
+ "@react-navigation/core" "^6.4.1"
escape-string-regexp "^4.0.0"
fast-deep-equal "^3.1.3"
nanoid "^3.1.23"
From b0a99d19cf682eae287aaad334411f9ff82e090a Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 22 Nov 2022 21:00:46 +0000
Subject: [PATCH 019/109] Update @react-navigation/material-top-tabs to version
6.3.1
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 7cc4cce..78e2491 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"@react-native-async-storage/async-storage": "^1.17.11",
"@react-navigation/bottom-tabs": "^6.4.0",
"@react-navigation/drawer": "^6.5.0",
- "@react-navigation/material-top-tabs": "^6.3.0",
+ "@react-navigation/material-top-tabs": "^6.3.1",
"@react-navigation/native": "^6.0.13",
"@react-navigation/native-stack": "^6.9.1",
"@rneui/base": "^4.0.0-rc.7",
diff --git a/yarn.lock b/yarn.lock
index 17857b6..2ccb449 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1869,10 +1869,10 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.6.tgz#fa700318528db93f05144b1be4b691b9c1dd1abe"
integrity sha512-pNJ8R9JMga6SXOw6wGVN0tjmE6vegwPmJBL45SEMX2fqTfAk2ykDnlJHodRpHpAgsv0DaI8qX76z3A+aqKSU0w==
-"@react-navigation/material-top-tabs@^6.3.0":
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
- integrity sha512-nv9c3WbmzuwYZqDkinP375aTYzQIXkCzAmpHRsVH3AjpF2Qc62oKDjWuSMFdRn3VPe3LAH/0P6yUzQSX/800yQ==
+"@react-navigation/material-top-tabs@^6.3.1":
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.1.tgz#a122d71ba4ef7ebb29447a348aae6bd60ad23d5e"
+ integrity sha512-OJpKp3kxvz1GJ/DFHVufqhpSKnKS1alCyYq5Gpqomw+12HMJ49s01GGKkVNBkVeXjxoDOrrqrQkE31gfS/8YeQ==
dependencies:
color "^4.2.3"
warn-once "^0.1.0"
From 013b5793d1a86bcc596ecfcde87fad562717415e Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 23 Nov 2022 20:05:47 +0000
Subject: [PATCH 020/109] Update @react-navigation/drawer to version 6.5.1
---
package.json | 2 +-
yarn.lock | 11 +++++------
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/package.json b/package.json
index d084abd..b2773cf 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
"@hookform/resolvers": "^2.9.10",
"@react-native-async-storage/async-storage": "^1.17.11",
"@react-navigation/bottom-tabs": "^6.4.1",
- "@react-navigation/drawer": "^6.5.0",
+ "@react-navigation/drawer": "^6.5.1",
"@react-navigation/material-top-tabs": "^6.3.0",
"@react-navigation/native": "^6.0.14",
"@react-navigation/native-stack": "^6.9.1",
diff --git a/yarn.lock b/yarn.lock
index 448d139..a953773 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1855,12 +1855,12 @@
react-is "^16.13.0"
use-latest-callback "^0.1.5"
-"@react-navigation/drawer@^6.5.0":
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.5.0.tgz#6f73a04deca2ce046626a60d9a59b11e8cc97167"
- integrity sha512-ma3qPjAfbwF07xd1w1gaWdcvYWmT4F+Z098q2J7XGbHw8yTGQYiNTnD1NMKerXwxM24vui2tMuFHA54F1rIvHQ==
+"@react-navigation/drawer@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.5.1.tgz#07c920f55cd95c1e6790324402c74e55dcb55308"
+ integrity sha512-gBXDhAPZ0e+gRhdeZg35sNorm9B0QVtzNx0wiTUNVPa7F/Ij/EUx7J5xb7hcm2h6Wr79yxtv//GwxlTfzeXOJw==
dependencies:
- "@react-navigation/elements" "^1.3.6"
+ "@react-navigation/elements" "^1.3.7"
color "^4.2.3"
warn-once "^0.1.0"
@@ -1878,7 +1878,6 @@
version "6.3.0"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
integrity sha512-nv9c3WbmzuwYZqDkinP375aTYzQIXkCzAmpHRsVH3AjpF2Qc62oKDjWuSMFdRn3VPe3LAH/0P6yUzQSX/800yQ==
-
dependencies:
color "^4.2.3"
warn-once "^0.1.0"
From 734945ea617bb2b8d9127d980b797710b9b2cc39 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 29 Nov 2022 19:48:09 +0000
Subject: [PATCH 021/109] Update all of typescript-eslint to version 5.45.0
---
package.json | 4 +--
yarn.lock | 97 ++++++++++++++++++++++++++--------------------------
2 files changed, 50 insertions(+), 51 deletions(-)
diff --git a/package.json b/package.json
index d084abd..75a5105 100644
--- a/package.json
+++ b/package.json
@@ -52,8 +52,8 @@
"@types/react": "^18.0.21",
"@types/react-native": "^0.70.6",
"@types/react-test-renderer": "^18.0.0",
- "@typescript-eslint/eslint-plugin": "^5.43.0",
- "@typescript-eslint/parser": "^5.43.0",
+ "@typescript-eslint/eslint-plugin": "^5.45.0",
+ "@typescript-eslint/parser": "^5.45.0",
"babel-jest": "^26.6.3",
"eslint": "^7.32.0",
"jest": "^26.6.3",
diff --git a/yarn.lock b/yarn.lock
index 448d139..ed1cba5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1878,7 +1878,6 @@
version "6.3.0"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
integrity sha512-nv9c3WbmzuwYZqDkinP375aTYzQIXkCzAmpHRsVH3AjpF2Qc62oKDjWuSMFdRn3VPe3LAH/0P6yUzQSX/800yQ==
-
dependencies:
color "^4.2.3"
warn-once "^0.1.0"
@@ -2642,14 +2641,14 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/eslint-plugin@^5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz#4a5248eb31b454715ddfbf8cfbf497529a0a78bc"
- integrity sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA==
+"@typescript-eslint/eslint-plugin@^5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz#ffa505cf961d4844d38cfa19dcec4973a6039e41"
+ integrity sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==
dependencies:
- "@typescript-eslint/scope-manager" "5.43.0"
- "@typescript-eslint/type-utils" "5.43.0"
- "@typescript-eslint/utils" "5.43.0"
+ "@typescript-eslint/scope-manager" "5.45.0"
+ "@typescript-eslint/type-utils" "5.45.0"
+ "@typescript-eslint/utils" "5.45.0"
debug "^4.3.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
@@ -2679,31 +2678,31 @@
"@typescript-eslint/typescript-estree" "3.10.1"
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/parser@^5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.43.0.tgz#9c86581234b88f2ba406f0b99a274a91c11630fd"
- integrity sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug==
+"@typescript-eslint/parser@^5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.45.0.tgz#b18a5f6b3cf1c2b3e399e9d2df4be40d6b0ddd0e"
+ integrity sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==
dependencies:
- "@typescript-eslint/scope-manager" "5.43.0"
- "@typescript-eslint/types" "5.43.0"
- "@typescript-eslint/typescript-estree" "5.43.0"
+ "@typescript-eslint/scope-manager" "5.45.0"
+ "@typescript-eslint/types" "5.45.0"
+ "@typescript-eslint/typescript-estree" "5.45.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz#566e46303392014d5d163704724872e1f2dd3c15"
- integrity sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==
+"@typescript-eslint/scope-manager@5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz#7a4ac1bfa9544bff3f620ab85947945938319a96"
+ integrity sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==
dependencies:
- "@typescript-eslint/types" "5.43.0"
- "@typescript-eslint/visitor-keys" "5.43.0"
+ "@typescript-eslint/types" "5.45.0"
+ "@typescript-eslint/visitor-keys" "5.45.0"
-"@typescript-eslint/type-utils@5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz#91110fb827df5161209ecca06f70d19a96030be6"
- integrity sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg==
+"@typescript-eslint/type-utils@5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.45.0.tgz#aefbc954c40878fcebeabfb77d20d84a3da3a8b2"
+ integrity sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==
dependencies:
- "@typescript-eslint/typescript-estree" "5.43.0"
- "@typescript-eslint/utils" "5.43.0"
+ "@typescript-eslint/typescript-estree" "5.45.0"
+ "@typescript-eslint/utils" "5.45.0"
debug "^4.3.4"
tsutils "^3.21.0"
@@ -2712,10 +2711,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727"
integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==
-"@typescript-eslint/types@5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.43.0.tgz#e4ddd7846fcbc074325293515fa98e844d8d2578"
- integrity sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==
+"@typescript-eslint/types@5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.0.tgz#794760b9037ee4154c09549ef5a96599621109c5"
+ integrity sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==
"@typescript-eslint/typescript-estree@3.10.1":
version "3.10.1"
@@ -2731,29 +2730,29 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/typescript-estree@5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz#b6883e58ba236a602c334be116bfc00b58b3b9f2"
- integrity sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==
+"@typescript-eslint/typescript-estree@5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz#f70a0d646d7f38c0dfd6936a5e171a77f1e5291d"
+ integrity sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==
dependencies:
- "@typescript-eslint/types" "5.43.0"
- "@typescript-eslint/visitor-keys" "5.43.0"
+ "@typescript-eslint/types" "5.45.0"
+ "@typescript-eslint/visitor-keys" "5.45.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.43.0.tgz#00fdeea07811dbdf68774a6f6eacfee17fcc669f"
- integrity sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==
+"@typescript-eslint/utils@5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.45.0.tgz#9cca2996eee1b8615485a6918a5c763629c7acf5"
+ integrity sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.43.0"
- "@typescript-eslint/types" "5.43.0"
- "@typescript-eslint/typescript-estree" "5.43.0"
+ "@typescript-eslint/scope-manager" "5.45.0"
+ "@typescript-eslint/types" "5.45.0"
+ "@typescript-eslint/typescript-estree" "5.45.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
@@ -2765,12 +2764,12 @@
dependencies:
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/visitor-keys@5.43.0":
- version "5.43.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz#cbbdadfdfea385310a20a962afda728ea106befa"
- integrity sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==
+"@typescript-eslint/visitor-keys@5.45.0":
+ version "5.45.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz#e0d160e9e7fdb7f8da697a5b78e7a14a22a70528"
+ integrity sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==
dependencies:
- "@typescript-eslint/types" "5.43.0"
+ "@typescript-eslint/types" "5.45.0"
eslint-visitor-keys "^3.3.0"
abab@^2.0.3, abab@^2.0.5:
From 73ba0d869b06cb359603e3f5dfa58af4774b7427 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 30 Nov 2022 11:41:08 +0000
Subject: [PATCH 022/109] Update @react-navigation/native-stack to version
6.9.4
---
package.json | 2 +-
yarn.lock | 16 ++++++++++------
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/package.json b/package.json
index d084abd..4e737ab 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
"@react-navigation/drawer": "^6.5.0",
"@react-navigation/material-top-tabs": "^6.3.0",
"@react-navigation/native": "^6.0.14",
- "@react-navigation/native-stack": "^6.9.1",
+ "@react-navigation/native-stack": "^6.9.4",
"@rneui/base": "^4.0.0-rc.7",
"@rneui/themed": "^4.0.0-rc.7",
"axios": "0.27.2",
diff --git a/yarn.lock b/yarn.lock
index 448d139..4c755fe 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1874,21 +1874,25 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw==
+"@react-navigation/elements@^1.3.9":
+ version "1.3.9"
+ resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.9.tgz#33e26d7ad655b012e024ef0a005a3f66201287f8"
+ integrity sha512-V9aIZN19ufaKWlXT4UcM545tDiEt9DIQS+74pDgbnzoQcDypn0CvSqWopFhPACMdJatgmlZUuOrrMfTeNrBWgA==
+
"@react-navigation/material-top-tabs@^6.3.0":
version "6.3.0"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
integrity sha512-nv9c3WbmzuwYZqDkinP375aTYzQIXkCzAmpHRsVH3AjpF2Qc62oKDjWuSMFdRn3VPe3LAH/0P6yUzQSX/800yQ==
-
dependencies:
color "^4.2.3"
warn-once "^0.1.0"
-"@react-navigation/native-stack@^6.9.1":
- version "6.9.1"
- resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.1.tgz#6013300e4cd0b33e242aa18593e4dff7db2ab3d1"
- integrity sha512-aOuJP97ge6NRz8wH6sDKfLTfdygGmraYh0apKrrVbGvMnflbPX4kpjQiAQcUPUpMeas0betH/Su8QubNL8HEkg==
+"@react-navigation/native-stack@^6.9.4":
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.4.tgz#d9cc26ad97afcee1c0e3fb092ae4c60f848b1572"
+ integrity sha512-R40G2Zfo748hE4+we/TUAEClw53l0QdFDJ0q/9VS1moxgI4zUopdBxN5SmF32OMFfkedMRAT9J+aVbwgmdn7pA==
dependencies:
- "@react-navigation/elements" "^1.3.6"
+ "@react-navigation/elements" "^1.3.9"
warn-once "^0.1.0"
"@react-navigation/native@^6.0.14":
From c763d35ec200d2d8f0fa50ab36efa2e5975748da Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 30 Nov 2022 12:50:48 +0000
Subject: [PATCH 023/109] Update @react-navigation/drawer to version 6.5.3
---
package.json | 2 +-
yarn.lock | 16 ++++++++++------
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/package.json b/package.json
index d084abd..f01ae7c 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
"@hookform/resolvers": "^2.9.10",
"@react-native-async-storage/async-storage": "^1.17.11",
"@react-navigation/bottom-tabs": "^6.4.1",
- "@react-navigation/drawer": "^6.5.0",
+ "@react-navigation/drawer": "^6.5.3",
"@react-navigation/material-top-tabs": "^6.3.0",
"@react-navigation/native": "^6.0.14",
"@react-navigation/native-stack": "^6.9.1",
diff --git a/yarn.lock b/yarn.lock
index 448d139..36b60ea 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1855,12 +1855,12 @@
react-is "^16.13.0"
use-latest-callback "^0.1.5"
-"@react-navigation/drawer@^6.5.0":
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.5.0.tgz#6f73a04deca2ce046626a60d9a59b11e8cc97167"
- integrity sha512-ma3qPjAfbwF07xd1w1gaWdcvYWmT4F+Z098q2J7XGbHw8yTGQYiNTnD1NMKerXwxM24vui2tMuFHA54F1rIvHQ==
+"@react-navigation/drawer@^6.5.3":
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.5.3.tgz#99869ec9a50352eae3e34850e0c715a92bc229b0"
+ integrity sha512-5HP3aTH/yL/F8WS7S8Pa3CUGeRZ7sqAMjWatV6Z0nMBpQ0xRiobpds3jXkiedlPejUVZYcbU6YoJ1XQXHRaOkg==
dependencies:
- "@react-navigation/elements" "^1.3.6"
+ "@react-navigation/elements" "^1.3.9"
color "^4.2.3"
warn-once "^0.1.0"
@@ -1874,11 +1874,15 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw==
+"@react-navigation/elements@^1.3.9":
+ version "1.3.9"
+ resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.9.tgz#33e26d7ad655b012e024ef0a005a3f66201287f8"
+ integrity sha512-V9aIZN19ufaKWlXT4UcM545tDiEt9DIQS+74pDgbnzoQcDypn0CvSqWopFhPACMdJatgmlZUuOrrMfTeNrBWgA==
+
"@react-navigation/material-top-tabs@^6.3.0":
version "6.3.0"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
integrity sha512-nv9c3WbmzuwYZqDkinP375aTYzQIXkCzAmpHRsVH3AjpF2Qc62oKDjWuSMFdRn3VPe3LAH/0P6yUzQSX/800yQ==
-
dependencies:
color "^4.2.3"
warn-once "^0.1.0"
From 07815139653e81e3675abcc9f7a35e7856f1369e Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Wed, 30 Nov 2022 12:16:10 -0400
Subject: [PATCH 024/109] Add recognize internet connection hook
---
package.json | 1 +
src/adapters/User.js | 4 +-
src/components/HomeComponents/InfoCard.js | 9 +++-
src/components/LoginComponents/LoginForm.js | 26 ++++++++++-
src/components/NavBar.js | 52 +++++++++++++++++++--
src/components/styled-components/styles.js | 3 +-
src/hooks/useConnection.js | 43 +++++++++++++++++
src/navigation/StackNavigation.js | 26 +++++------
src/styled-components/colors.js | 4 ++
yarn.lock | 5 ++
10 files changed, 151 insertions(+), 22 deletions(-)
create mode 100644 src/hooks/useConnection.js
diff --git a/package.json b/package.json
index 7cc4cce..c0fd4c7 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"@fortawesome/react-native-fontawesome": "^0.3.0",
"@hookform/resolvers": "^2.9.10",
"@react-native-async-storage/async-storage": "^1.17.11",
+ "@react-native-community/netinfo": "^9.3.7",
"@react-navigation/bottom-tabs": "^6.4.0",
"@react-navigation/drawer": "^6.5.0",
"@react-navigation/material-top-tabs": "^6.3.0",
diff --git a/src/adapters/User.js b/src/adapters/User.js
index 65d4a79..b7e8a55 100644
--- a/src/adapters/User.js
+++ b/src/adapters/User.js
@@ -1,6 +1,6 @@
-const loginData = (values) => {
+export const loginData = (values) => {
return {
email: values.email,
password: values.password,
}
-}
\ No newline at end of file
+}
diff --git a/src/components/HomeComponents/InfoCard.js b/src/components/HomeComponents/InfoCard.js
index 2e5daee..6d289a8 100644
--- a/src/components/HomeComponents/InfoCard.js
+++ b/src/components/HomeComponents/InfoCard.js
@@ -12,7 +12,14 @@ import styles from './styled-components/styles'
const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour = '', location = '', area = '',description = '', image = '' }) => {
return (
-
+
{
if (type === 3)
diff --git a/src/components/LoginComponents/LoginForm.js b/src/components/LoginComponents/LoginForm.js
index db84124..d559c64 100644
--- a/src/components/LoginComponents/LoginForm.js
+++ b/src/components/LoginComponents/LoginForm.js
@@ -17,11 +17,14 @@ import {
import { Controller, useForm } from 'react-hook-form'
import { yupResolver } from '@hookform/resolvers/yup'
+import { setSession } from '../../services/jwt'
import StyledField from '../StyledField'
import { loginDefaultValues, loginSchema } from '../../utilities/formValidations/loginValidation'
+import { loginData } from '../../adapters/User'
+
import useAuthContext from '../../hooks/useAuthContext'
import useCustomToast from '../../hooks/useCustomToast'
import useLoading from '../../hooks/useLoading'
@@ -40,6 +43,8 @@ const LoginForm = ({ navigation }) => {
const { showErrorToast } = useCustomToast()
const { isLoading, startLoading, stopLoading } = useLoading()
+ const { dispatch } = useAuthContext()
+
const {
control,
handleSubmit,
@@ -57,6 +62,25 @@ const LoginForm = ({ navigation }) => {
try {
console.log('Hello moto')
+ const response = { id: '15263415', ...loginData(value) }
+
+ console.log(response)
+
+ const token = '1253642'
+
+ if (token) {
+ setSession(response.id, token)
+ dispatch({
+ type: 'LOGIN',
+ payload: {
+ user: {
+ token: token,
+ id: response.id
+ }
+ }
+ })
+ }
+
reset(loginDefaultValues)
} catch (error) {
console.log(`Error: ${error}`)
@@ -238,7 +262,7 @@ const LoginForm = ({ navigation }) => {
navigation?.navigate('SignIn')}
+ onPress={handleSubmit(onSubmit)}
style={{
backgroundColor: colors.button.bgPrimary,
}}
diff --git a/src/components/NavBar.js b/src/components/NavBar.js
index 8987513..a43c8ef 100644
--- a/src/components/NavBar.js
+++ b/src/components/NavBar.js
@@ -1,18 +1,64 @@
import React from 'react'
-import { HStack } from 'native-base'
+
+import { HStack, Stack, Text } from 'native-base'
import Eden from '../assets/logo/eden.svg'
+import useConnection from '../hooks/useConnection'
+import { ActivityIndicator, TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import Icon from 'react-native-vector-icons/MaterialCommunityIcons'
+import colors from '../styled-components/colors'
const NavBar = ({ hidden = false }) => {
+
+ const { isConnected, recognizeConnection } = useConnection()
+
+ const layout = useWindowDimensions()
+
return (
<>
{!hidden &&
-
+
+ {!isConnected &&
+ recognizeConnection()}
+ >
+
+
+
+
+ }
+
+
+
+
+
+
}
>
diff --git a/src/components/styled-components/styles.js b/src/components/styled-components/styles.js
index 6f21959..a9e784e 100644
--- a/src/components/styled-components/styles.js
+++ b/src/components/styled-components/styles.js
@@ -17,7 +17,8 @@ const styles = StyleSheet.create({
textStyle: {
textAlign: 'center',
marginBottom: 8
- }
+ },
+
})
export default styles
\ No newline at end of file
diff --git a/src/hooks/useConnection.js b/src/hooks/useConnection.js
new file mode 100644
index 0000000..004f8e5
--- /dev/null
+++ b/src/hooks/useConnection.js
@@ -0,0 +1,43 @@
+import { useState, useEffect } from 'react'
+import NetInfo from '@react-native-community/netinfo'
+
+const useConnection = () => {
+ const [isConnected, setIsConnected] = useState(false)
+
+ const recognizeConnection = () => {
+
+ NetInfo.fetch()
+ .then(state => {
+
+ console.group(`Connection Details: `)
+ console.log(`Connection type: ${state.type}`)
+ console.log(`Is connected? ${state.isConnected}`)
+ console.groupEnd()
+
+ if (state.isConnected) {
+ setIsConnected(true)
+ }
+
+ else {
+ setIsConnected(false)
+ }
+
+ })
+ .catch(error => {
+ setIsConnected(false)
+ console.log(`Connection error: ${error}`)
+ })
+
+ }
+
+ useEffect(() => {
+ recognizeConnection()
+ }, [recognizeConnection])
+
+ return {
+ isConnected,
+ recognizeConnection
+ }
+}
+
+export default useConnection
\ No newline at end of file
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index 070fb88..b36518a 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -24,7 +24,7 @@ const stackRoutes = [
{
name: 'SignIn',
component: BottomNavigation,
- requireAuth: false,
+ requireAuth: true,
options: {
headerShown: false,
}
@@ -33,7 +33,7 @@ const stackRoutes = [
{
name: 'EventPage',
component: EventPage,
- requireAuth: false,
+ requireAuth: true,
options: {
headerShown: false,
}
@@ -52,18 +52,16 @@ const StackNavigation = () => {
initialRouteName={stackRoutes[0].name}
screenOptions={styles.stackStyles}
>
- {
- stackRoutes
- .filter(({ requireAuth }) => requireAuth === isAuthenticated)
- .map(({ name, component, options }) => (
-
- ))
- }
+ {stackRoutes
+ .filter(({ requireAuth }) => requireAuth === isAuthenticated)
+ .map(({ name, component, options }) => (
+
+ ))}
)
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 2f4049d..1dd1cb3 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -45,6 +45,10 @@ const colors = {
},
icon: {
primary: '#48CBC5'
+ },
+ connection: {
+ backgroundColor: '#D9D9D9',
+ iconColor: '#6B6D79'
}
}
diff --git a/yarn.lock b/yarn.lock
index 17857b6..281e408 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1819,6 +1819,11 @@
resolved "https://registry.yarnpkg.com/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz#9e558170c106bbafaa1ef502bd8e6d4651012bf9"
integrity sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==
+"@react-native-community/netinfo@^9.3.7":
+ version "9.3.7"
+ resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-9.3.7.tgz#92407f679f00bae005c785a9284e61d63e292b34"
+ integrity sha512-+taWmE5WpBp0uS6kf+bouCx/sn89G9EpR4s2M/ReLvctVIFL2Qh8WnWfBxqK9qwgmFha/uqjSr2Gq03OOtiDcw==
+
"@react-native/assets@1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
From 2367412b280b526b3d93bac23183e9eb96f98c04 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Wed, 30 Nov 2022 16:02:10 -0400
Subject: [PATCH 025/109] Add Creole Balls tournament page and Creole Balls
games list page
---
src/components/Background.js | 9 +-
.../CreoleBallsComponents/CreoleGameCard.js | 105 ++++++
src/components/HomeComponents/InfoCard.js | 28 +-
src/components/NavBar.js | 9 +-
src/hooks/useConnection.js | 1 +
src/navigation/StackNavigation.js | 20 +
src/pages/CreoleBalls/CreoleBallsListPage.js | 170 +++++++++
.../CreoleBalls/CreoleBallsTournamentPage.js | 356 ++++++++++++++++++
.../CreoleBalls/styled-components/styles.js | 35 ++
src/styled-components/colors.js | 3 +
10 files changed, 720 insertions(+), 16 deletions(-)
create mode 100644 src/components/CreoleBallsComponents/CreoleGameCard.js
create mode 100644 src/pages/CreoleBalls/CreoleBallsListPage.js
create mode 100644 src/pages/CreoleBalls/CreoleBallsTournamentPage.js
create mode 100644 src/pages/CreoleBalls/styled-components/styles.js
diff --git a/src/components/Background.js b/src/components/Background.js
index 0d7e13d..b8bda67 100644
--- a/src/components/Background.js
+++ b/src/components/Background.js
@@ -1,18 +1,21 @@
import React from 'react'
-import { View, StyleSheet } from 'react-native'
+import { View, StyleSheet, useWindowDimensions } from 'react-native'
import Svg, { Defs, Rect, LinearGradient, Stop } from 'react-native-svg'
const Background = ({ topColor, bottomColor, children }) => {
+
+ const layout = useWindowDimensions()
+
return (
-
+
-
+
{children}
diff --git a/src/components/CreoleBallsComponents/CreoleGameCard.js b/src/components/CreoleBallsComponents/CreoleGameCard.js
new file mode 100644
index 0000000..3be64e6
--- /dev/null
+++ b/src/components/CreoleBallsComponents/CreoleGameCard.js
@@ -0,0 +1,105 @@
+import React from 'react'
+import { Box, HStack, Stack, VStack, Text, Divider } from 'native-base'
+import { useWindowDimensions } from 'react-native'
+import colors from '../../styled-components/colors'
+
+const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
+
+ const layout = useWindowDimensions()
+
+ return (
+
+
+
+
+
+ Juego N°{id}
+
+
+
+
+
+
+ 0
+
+
+ {teamA}
+
+
+
+
+
+ 0
+
+
+ {teamB}
+
+
+
+
+
+
+
+ El juego no ha finalizado...
+
+
+
+
+ )
+}
+
+export default CreoleGameCard
\ No newline at end of file
diff --git a/src/components/HomeComponents/InfoCard.js b/src/components/HomeComponents/InfoCard.js
index 6d289a8..c73e0f1 100644
--- a/src/components/HomeComponents/InfoCard.js
+++ b/src/components/HomeComponents/InfoCard.js
@@ -9,19 +9,31 @@ import colors from '../../styled-components/colors'
import styles from './styled-components/styles'
-const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour = '', location = '', area = '',description = '', image = '' }) => {
+const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour = '', location = '', area = '', description = '', image = '' }) => {
return (
-
{
+ if (type === 1)
+ navigation?.navigate('CreoleBallsTournamentPage', {
+ id: id,
+ type: type,
+ title: title,
+ date: date,
+ hour: hour,
+ location: location,
+ area: area,
+ description: description,
+ image: image,
+ })
if (type === 3)
navigation?.navigate('EventPage', {
id: id,
diff --git a/src/components/NavBar.js b/src/components/NavBar.js
index a43c8ef..ceda062 100644
--- a/src/components/NavBar.js
+++ b/src/components/NavBar.js
@@ -1,12 +1,11 @@
import React from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+import { HStack, Stack } from 'native-base'
+import Icon from 'react-native-vector-icons/MaterialCommunityIcons'
-import { HStack, Stack, Text } from 'native-base'
-
-import Eden from '../assets/logo/eden.svg'
import useConnection from '../hooks/useConnection'
-import { ActivityIndicator, TouchableOpacity, useWindowDimensions } from 'react-native'
-import Icon from 'react-native-vector-icons/MaterialCommunityIcons'
+import Eden from '../assets/logo/eden.svg'
import colors from '../styled-components/colors'
const NavBar = ({ hidden = false }) => {
diff --git a/src/hooks/useConnection.js b/src/hooks/useConnection.js
index 004f8e5..91413f1 100644
--- a/src/hooks/useConnection.js
+++ b/src/hooks/useConnection.js
@@ -1,4 +1,5 @@
import { useState, useEffect } from 'react'
+
import NetInfo from '@react-native-community/netinfo'
const useConnection = () => {
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index b36518a..00e3458 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -8,6 +8,8 @@ import BottomNavigation from './BottomNavigation'
import useAuthContext from '../hooks/useAuthContext'
import styles from './styled-components/styles'
+import CreoleBallsTournamentPage from '../pages/CreoleBalls/CreoleBallsTournamentPage'
+import CreoleBallsListPage from '../pages/CreoleBalls/CreoleBallsListPage'
const Stack = createNativeStackNavigator()
@@ -39,6 +41,24 @@ const stackRoutes = [
}
},
+ {
+ name: 'CreoleBallsTournamentPage',
+ component: CreoleBallsTournamentPage,
+ requireAuth: true,
+ options: {
+ headerShown: false,
+ }
+ },
+
+ {
+ name: 'CreoleBallsListPage',
+ component: CreoleBallsListPage,
+ requireAuth: true,
+ options: {
+ headerShown: false,
+ }
+ },
+
]
const StackNavigation = () => {
diff --git a/src/pages/CreoleBalls/CreoleBallsListPage.js b/src/pages/CreoleBalls/CreoleBallsListPage.js
new file mode 100644
index 0000000..191f1e6
--- /dev/null
+++ b/src/pages/CreoleBalls/CreoleBallsListPage.js
@@ -0,0 +1,170 @@
+import React, { useState, useCallback } from 'react'
+import { useWindowDimensions, RefreshControl, ActivityIndicator } from 'react-native'
+import { useFocusEffect } from '@react-navigation/native'
+import { Button, Divider, FlatList, Stack, Text, VStack } from 'native-base'
+
+import Container from '../../components/Container'
+import useLoading from '../../hooks/useLoading'
+
+import colors from '../../styled-components/colors'
+import styles from './styled-components/styles'
+import CreoleGameCard from '../../components/CreoleBallsComponents/CreoleGameCard'
+import NotFound from '../../components/NotFound'
+
+const games = [
+ {
+ id: 1,
+ date: '01/12/2022',
+ teamA: 'Equipo 1',
+ teamB: 'Equipo 2'
+ },
+ {
+ id: 2,
+ date: '01/12/2022',
+ teamA: 'Equipo 1',
+ teamB: 'Equipo 2'
+ },
+ {
+ id: 3,
+ date: '01/12/2022',
+ teamA: 'Equipo 1',
+ teamB: 'Equipo 2'
+ },
+ {
+ id: 4,
+ date: '01/12/2022',
+ teamA: 'Equipo 1',
+ teamB: 'Equipo 2'
+ },
+ {
+ id: 5,
+ date: '01/12/2022',
+ teamA: 'Equipo 1',
+ teamB: 'Equipo 2'
+ },
+ {
+ id: 6,
+ date: '01/12/2022',
+ teamA: 'Equipo 1',
+ teamB: 'Equipo 2'
+ },
+]
+
+const CreoleBallsListPage = ({ navigation, route }) => {
+
+ const tournament = route?.params
+
+ const layout = useWindowDimensions()
+
+ const wait = (timeOut) => {
+ return new Promise(resolve => setTimeout(resolve, timeOut))
+ }
+
+ const { isLoading, startLoading, stopLoading } = useLoading()
+
+ const [events, setEvents] = useState([])
+ const [refreshing, setRefreshing] = useState()
+
+ const onRefresh = useCallback(() => {
+ setRefreshing(true)
+ wait(2000).then(() => setRefreshing(false))
+ }, [])
+
+ useFocusEffect(
+ useCallback(() => {
+ if (events?.length === 0) startLoading()
+
+ setEvents(games)
+
+ if (events?.length !== 0) stopLoading()
+
+ }, [])
+ )
+
+
+ return (
+
+
+
+
+ {tournament.title}
+
+ {events?.length > 0 || !isLoading ? (
+
+ }
+ showsVerticalScrollIndicator={false}
+ data={events}
+ minH={layout.height * .8}
+ maxH={layout.height * .8}
+ keyExtractor={item => item?.id}
+ renderItem={({ item }) => (
+
+
+
+ )}
+ />
+ ) : events?.length === 0 ?
+
+
+
+
+ :
+
+
+
+ }
+
+
+
+
+
+ navigation?.goBack()}
+ >
+ Regresar
+
+
+
+
+
+ )
+}
+
+export default CreoleBallsListPage
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/CreoleBallsTournamentPage.js b/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
new file mode 100644
index 0000000..49ce18b
--- /dev/null
+++ b/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
@@ -0,0 +1,356 @@
+import React from 'react'
+import { ImageBackground, TouchableOpacity, useWindowDimensions } from 'react-native'
+import LinearGradient from 'react-native-linear-gradient'
+import { Button, Divider, HStack, Stack, Text, Tooltip, VStack } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+
+import styles from './styled-components/styles'
+import colors from '../../styled-components/colors'
+
+import { cutText } from '../../utilities/functions'
+
+const CreoleBallsTournamentPage = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const event = route?.params
+
+ return (
+
+
+
+
+
+
+
+ {
+ navigation?.goBack()
+ }}
+ >
+
+
+
+ Atrás
+
+
+
+
+ {
+ console.log(`Favorite button is pressed`)
+ }}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {cutText(event.title, 30)}
+
+
+
+
+
+
+
+ Prox.
+
+
+
+
+
+
+
+
+
+
+ Ganador
+
+
+
+
+ No definido
+
+
+
+
+
+
+
+
+
+ {event.date}
+
+
+ {event.hour}
+
+
+
+
+
+
+
+
+ {event.location}
+
+
+ {event.area}
+
+
+
+
+
+
+ Descripción
+
+
+ {event.description}
+
+
+
+
+
+
+
+
+ {
+ console.log(`Share button is pressed`)
+ }}
+ >
+
+
+
+
+
+ {
+ console.log(`Game list button is pressed`)
+ navigation?.navigate('CreoleBallsListPage', {
+ id: event.id,
+ type: event.type,
+ title: event.title,
+ date: event.date,
+ hour: event.hour,
+ location: event.location,
+ area: event.area,
+ description: event.description,
+ image: event.image,
+ })
+ }}
+ >
+
+
+
+
+
+
+ console.log('Comment button is pressed')}
+ >
+ Comentar
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export default CreoleBallsTournamentPage
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/styled-components/styles.js b/src/pages/CreoleBalls/styled-components/styles.js
new file mode 100644
index 0000000..7e211c9
--- /dev/null
+++ b/src/pages/CreoleBalls/styled-components/styles.js
@@ -0,0 +1,35 @@
+import { StyleSheet } from 'react-native'
+import colors from '../../../styled-components/colors'
+
+const styles = StyleSheet.create({
+ imageBackground: {
+ opacity: 1,
+ minHeight: 200,
+ },
+ gradient: {
+ flex: 1,
+ minHeight: 200,
+ },
+
+ bookmarkGradient: [
+ 'rgba(255, 255, 255, .3)',
+ 'rgba(244, 244, 244, .4)'
+ ],
+
+ bookmarkContainer: {
+ borderRadius: 15,
+ },
+
+ winnerInfo: {
+ backgroundColor: '#C0F2F3',
+ fontColor: '#054D50',
+ },
+
+ button: {
+ backgroundColor: colors.button.bgPrimary,
+ width: 125,
+ borderRadius: 10
+ }
+})
+
+export default styles
\ No newline at end of file
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 1dd1cb3..5cbf91a 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -49,6 +49,9 @@ const colors = {
connection: {
backgroundColor: '#D9D9D9',
iconColor: '#6B6D79'
+ },
+ divider: {
+ primary: '#48CBC5'
}
}
From 7f07a9c6899474bb19934eabd733db0207e61fbd Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 6 Dec 2022 13:55:27 +0000
Subject: [PATCH 026/109] Update native-base to version 3.4.25
---
package.json | 2 +-
yarn.lock | 49 ++++++++-----------------------------------------
2 files changed, 9 insertions(+), 42 deletions(-)
diff --git a/package.json b/package.json
index a20f10a..5578b6a 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
"formik": "^2.2.9",
"jwt-decode": "^3.1.2",
"mime": "^3.0.0",
- "native-base": "^3.4.22",
+ "native-base": "^3.4.25",
"react": "18.1.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.39.5",
diff --git a/yarn.lock b/yarn.lock
index f336930..28b2512 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1241,17 +1241,6 @@
"@react-types/combobox" "^3.5.4"
"@react-types/shared" "^3.15.0"
-"@react-aria/focus@3.2.3":
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.2.3.tgz#3e4137498a7fb5235d056c30fd94ab4a82e73aea"
- integrity sha512-+OWmJMivrq3f8ApWihH1KJYqYj3rZV34YJORacBohcAsF1Qd1V1/P+w3dMkf24kV0wqAiWePCF1FwgnrL/rYzQ==
- dependencies:
- "@babel/runtime" "^7.6.2"
- "@react-aria/interactions" "^3.3.0"
- "@react-aria/utils" "^3.4.0"
- "@react-types/shared" "^3.3.0"
- clsx "^1.1.1"
-
"@react-aria/focus@^3.2.3", "@react-aria/focus@^3.9.0":
version "3.9.0"
resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.9.0.tgz#fa4478eebdc3c199a0529470f1d7b36608ef0d10"
@@ -1277,7 +1266,7 @@
"@react-aria/utils" "^3.14.0"
"@react-types/shared" "^3.15.0"
-"@react-aria/interactions@^3.12.0", "@react-aria/interactions@^3.3.0", "@react-aria/interactions@^3.3.2":
+"@react-aria/interactions@^3.12.0", "@react-aria/interactions@^3.3.2":
version "3.12.0"
resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.12.0.tgz#b16a392c3dc23351c8fd33a16cef0ef93dc4682d"
integrity sha512-KcKurjPZwme9ggvGQjbjqZtZtuyXipTBVMHUah9a3+Dz7vXxhRg5vFaEdM79oQnNsrGFW5xS6SKBehl/JG6BMw==
@@ -1448,7 +1437,7 @@
"@react-types/shared" "^3.15.0"
"@react-types/switch" "^3.2.4"
-"@react-aria/utils@^3.14.0", "@react-aria/utils@^3.3.0", "@react-aria/utils@^3.4.0", "@react-aria/utils@^3.4.1", "@react-aria/utils@^3.6.0":
+"@react-aria/utils@^3.14.0", "@react-aria/utils@^3.3.0", "@react-aria/utils@^3.4.1", "@react-aria/utils@^3.6.0":
version "3.14.0"
resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.14.0.tgz#87877e89e959c8b6299da953ec3a7167de2192c3"
integrity sha512-DHgmwNBNEhnb6DEYYAfbt99wprBqJJOBBeIpQ2g3+pxwlw4BZ+v4Qr+rDD0ZibWV0mYzt8zOhZ9StpId7iTF0Q==
@@ -1869,11 +1858,6 @@
color "^4.2.3"
warn-once "^0.1.0"
-"@react-navigation/elements@^1.3.6":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.6.tgz#fa700318528db93f05144b1be4b691b9c1dd1abe"
- integrity sha512-pNJ8R9JMga6SXOw6wGVN0tjmE6vegwPmJBL45SEMX2fqTfAk2ykDnlJHodRpHpAgsv0DaI8qX76z3A+aqKSU0w==
-
"@react-navigation/elements@^1.3.7":
version "1.3.7"
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
@@ -2233,7 +2217,7 @@
dependencies:
"@react-types/shared" "^3.15.0"
-"@react-types/shared@^3.15.0", "@react-types/shared@^3.2.1", "@react-types/shared@^3.3.0", "@react-types/shared@^3.4.0":
+"@react-types/shared@^3.15.0", "@react-types/shared@^3.2.1", "@react-types/shared@^3.4.0":
version "3.15.0"
resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.15.0.tgz#a4a78f36bc8daaefe6e9a9df1f453271639c2233"
integrity sha512-hwuE4BmgswqP+HRDSLMj7DcnYOCCK+ZRuKnc9AVhXS4LBrwRSkdUkNvXhgvqF5tav7IqTpG9pBYMR9wedehuhA==
@@ -2520,14 +2504,7 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
-"@types/lodash.has@^4.5.6":
- version "4.5.7"
- resolved "https://registry.yarnpkg.com/@types/lodash.has/-/lodash.has-4.5.7.tgz#9e1c3da3ee67f68fadc3d168ffdf8e11a3f3ccd3"
- integrity sha512-nfbAzRbsZBdzSAkL9iiLy4SQk89uuFcXBFwZ7pf6oZhBgPvNys8BY5Twp/w8XvZKGt1o6cAa85wX4QhqO3uQ7A==
- dependencies:
- "@types/lodash" "*"
-
-"@types/lodash@*", "@types/lodash@^4.14.175":
+"@types/lodash@^4.14.175":
version "4.14.188"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.188.tgz#e4990c4c81f7c9b00c5ff8eae389c10f27980da5"
integrity sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==
@@ -2603,11 +2580,6 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
-"@types/use-subscription@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/use-subscription/-/use-subscription-1.0.0.tgz#d146f8d834f70f50d48bd8246a481d096f11db19"
- integrity sha512-0WWZ5GUDKMXUY/1zy4Ur5/zsC0s/B+JjXfHdkvx6JgDNZzZV5eW+KKhDqsTGyqX56uh99gwGwbsKbVwkcVIKQA==
-
"@types/use-sync-external-store@^0.0.3":
version "0.0.3"
resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43"
@@ -6593,13 +6565,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-native-base@^3.4.22:
- version "3.4.22"
- resolved "https://registry.yarnpkg.com/native-base/-/native-base-3.4.22.tgz#ad175f4741806e5fa02b3f2e8a98be1db6ea6109"
- integrity sha512-OmIrbE9b9zbGc/m8+cnBzVeunziB7LTupf81FWFs3ByNKOoMp7QP7XM2vpwJW+RA9lZQothRu084zE59dMNydg==
+native-base@^3.4.25:
+ version "3.4.25"
+ resolved "https://registry.yarnpkg.com/native-base/-/native-base-3.4.25.tgz#0b5871855be4c48ef72768e50db002d6a0e1ad23"
+ integrity sha512-MOeqNji6eAXge9uWsKgfyna8kakdoQuynxoDlVgzTrXXT0o/UrmIUAz+xNPM7rjYHd0MM+UdohPilV1/Z5pB9Q==
dependencies:
- "@react-aria/focus" "3.2.3"
- "@react-aria/utils" "^3.6.0"
"@react-aria/visually-hidden" "^3.2.1"
"@react-native-aria/button" "^0.2.4"
"@react-native-aria/checkbox" "^0.2.2"
@@ -6619,8 +6589,6 @@ native-base@^3.4.22:
"@react-stately/slider" "3.0.1"
"@react-stately/tabs" "3.0.0-alpha.1"
"@react-stately/toggle" "3.2.1"
- "@types/lodash.has" "^4.5.6"
- "@types/use-subscription" "^1.0.0"
inline-style-prefixer "^6.0.1"
lodash.clonedeep "^4.5.0"
lodash.get "^4.4.2"
@@ -6633,7 +6601,6 @@ native-base@^3.4.22:
lodash.omit "^4.5.0"
lodash.omitby "^4.6.0"
lodash.pick "^4.4.0"
- react-native-keyboard-aware-scroll-view "^0.9.5"
stable-hash "^0.0.2"
tinycolor2 "^1.4.2"
use-subscription "^1.8.0"
From feb2d2cdafb8bd62cc77ce3b12913eb52942e590 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Thu, 5 Jan 2023 03:42:41 +0000
Subject: [PATCH 027/109] Update react-hook-form to version 7.41.5
---
package.json | 2 +-
yarn.lock | 13 ++++---------
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/package.json b/package.json
index a20f10a..fb26b34 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
"native-base": "^3.4.22",
"react": "18.1.0",
"react-dom": "^18.2.0",
- "react-hook-form": "^7.39.5",
+ "react-hook-form": "^7.41.5",
"react-native": "0.70.5",
"react-native-ionicons": "^4.6.5",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
diff --git a/yarn.lock b/yarn.lock
index f336930..959886b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1869,11 +1869,6 @@
color "^4.2.3"
warn-once "^0.1.0"
-"@react-navigation/elements@^1.3.6":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.6.tgz#fa700318528db93f05144b1be4b691b9c1dd1abe"
- integrity sha512-pNJ8R9JMga6SXOw6wGVN0tjmE6vegwPmJBL45SEMX2fqTfAk2ykDnlJHodRpHpAgsv0DaI8qX76z3A+aqKSU0w==
-
"@react-navigation/elements@^1.3.7":
version "1.3.7"
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
@@ -7250,10 +7245,10 @@ react-freeze@^1.0.0:
resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.3.tgz#5e3ca90e682fed1d73a7cb50c2c7402b3e85618d"
integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==
-react-hook-form@^7.39.5:
- version "7.39.5"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.39.5.tgz#a4272b60288ef5e1bb42bbb6ba3b36d243ab2879"
- integrity sha512-OE0HKyz5IPc6svN2wd+e+evidZrw4O4WZWAWYzQVZuHi+hYnHFSLnxOq0ddjbdmaLIsLHut/ab7j72y2QT3+KA==
+react-hook-form@^7.41.5:
+ version "7.41.5"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.41.5.tgz#dcd0e7438c15044eadc99df6deb889da5858a03b"
+ integrity sha512-DAKjSJ7X9f16oQrP3TW2/eD9N6HOgrmIahP4LOdFphEWVfGZ2LulFd6f6AQ/YS/0cx/5oc4j8a1PXxuaurWp/Q==
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.1.0:
version "18.2.0"
From 52b47dd3bcabcf9f943adea37ca1fbba9e55f6e9 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Thu, 5 Jan 2023 17:37:33 +0000
Subject: [PATCH 028/109] Update all of babel7 to version 7.20.12
---
package.json | 2 +-
yarn.lock | 132 ++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 127 insertions(+), 7 deletions(-)
diff --git a/package.json b/package.json
index a20f10a..47bc10b 100644
--- a/package.json
+++ b/package.json
@@ -45,7 +45,7 @@
"yup": "^0.32.11"
},
"devDependencies": {
- "@babel/core": "^7.12.9",
+ "@babel/core": "^7.20.12",
"@babel/runtime": "^7.12.5",
"@react-native-community/eslint-config": "^2.0.0",
"@tsconfig/react-native": "^2.0.2",
diff --git a/yarn.lock b/yarn.lock
index f336930..117ccb1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -29,7 +29,12 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30"
integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==
-"@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.19.6", "@babel/core@^7.7.5":
+"@babel/compat-data@^7.20.5":
+ version "7.20.10"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec"
+ integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==
+
+"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.19.6", "@babel/core@^7.7.5":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92"
integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==
@@ -50,6 +55,27 @@
json5 "^2.2.1"
semver "^6.3.0"
+"@babel/core@^7.20.12":
+ version "7.20.12"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d"
+ integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==
+ dependencies:
+ "@ampproject/remapping" "^2.1.0"
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.20.7"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-module-transforms" "^7.20.11"
+ "@babel/helpers" "^7.20.7"
+ "@babel/parser" "^7.20.7"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.12"
+ "@babel/types" "^7.20.7"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.2"
+ semver "^6.3.0"
+
"@babel/generator@^7.14.0", "@babel/generator@^7.20.1", "@babel/generator@^7.20.2":
version "7.20.4"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8"
@@ -59,6 +85,15 @@
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
+"@babel/generator@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
+ integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==
+ dependencies:
+ "@babel/types" "^7.20.7"
+ "@jridgewell/gen-mapping" "^0.3.2"
+ jsesc "^2.5.1"
+
"@babel/helper-annotate-as-pure@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@@ -84,6 +119,17 @@
browserslist "^4.21.3"
semver "^6.3.0"
+"@babel/helper-compilation-targets@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
+ integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
+ dependencies:
+ "@babel/compat-data" "^7.20.5"
+ "@babel/helper-validator-option" "^7.18.6"
+ browserslist "^4.21.3"
+ lru-cache "^5.1.1"
+ semver "^6.3.0"
+
"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.2":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz#3c08a5b5417c7f07b5cf3dfb6dc79cbec682e8c2"
@@ -172,6 +218,20 @@
"@babel/traverse" "^7.20.1"
"@babel/types" "^7.20.2"
+"@babel/helper-module-transforms@^7.20.11":
+ version "7.20.11"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0"
+ integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-simple-access" "^7.20.2"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.10"
+ "@babel/types" "^7.20.7"
+
"@babel/helper-optimise-call-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
@@ -260,6 +320,15 @@
"@babel/traverse" "^7.20.1"
"@babel/types" "^7.20.0"
+"@babel/helpers@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce"
+ integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==
+ dependencies:
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.7"
+ "@babel/types" "^7.20.7"
+
"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
@@ -274,6 +343,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
+"@babel/parser@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
+ integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
+
"@babel/plugin-proposal-async-generator-functions@^7.0.0":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9"
@@ -734,6 +808,15 @@
"@babel/parser" "^7.18.10"
"@babel/types" "^7.18.10"
+"@babel/template@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
+ integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
+ dependencies:
+ "@babel/code-frame" "^7.18.6"
+ "@babel/parser" "^7.20.7"
+ "@babel/types" "^7.20.7"
+
"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.4":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8"
@@ -750,6 +833,22 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.7":
+ version "7.20.12"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5"
+ integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==
+ dependencies:
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.20.7"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.19.0"
+ "@babel/helper-hoist-variables" "^7.18.6"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/parser" "^7.20.7"
+ "@babel/types" "^7.20.7"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.7.0":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842"
@@ -759,6 +858,15 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
+"@babel/types@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
+ integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
+ dependencies:
+ "@babel/helper-string-parser" "^7.19.4"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ to-fast-properties "^2.0.0"
+
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -1869,11 +1977,6 @@
color "^4.2.3"
warn-once "^0.1.0"
-"@react-navigation/elements@^1.3.6":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.6.tgz#fa700318528db93f05144b1be4b691b9c1dd1abe"
- integrity sha512-pNJ8R9JMga6SXOw6wGVN0tjmE6vegwPmJBL45SEMX2fqTfAk2ykDnlJHodRpHpAgsv0DaI8qX76z3A+aqKSU0w==
-
"@react-navigation/elements@^1.3.7":
version "1.3.7"
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
@@ -5912,6 +6015,11 @@ json5@^2.2.1:
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
+json5@^2.2.2:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
jsonfile@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
@@ -6127,6 +6235,13 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
@@ -8833,6 +8948,11 @@ y18n@^5.0.5:
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
From a512df61123ecd6b96e109a187886d59b3a02cc8 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Tue, 10 Jan 2023 20:35:48 -0400
Subject: [PATCH 029/109] Add service consumption
---
src/components/HomeComponents/InfoCard.js | 6 +-
src/hooks/useConnection.js | 36 ++--
src/pages/CreoleBalls/CreoleBallsListPage.js | 23 ++-
src/pages/Main/HomePage.js | 163 ++++++++++---------
src/services/events/EventsService.js | 26 +++
src/services/http.js | 2 +-
src/utilities/functions.js | 39 +++++
7 files changed, 188 insertions(+), 107 deletions(-)
create mode 100644 src/services/events/EventsService.js
diff --git a/src/components/HomeComponents/InfoCard.js b/src/components/HomeComponents/InfoCard.js
index c73e0f1..88fb556 100644
--- a/src/components/HomeComponents/InfoCard.js
+++ b/src/components/HomeComponents/InfoCard.js
@@ -22,7 +22,7 @@ const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour =
>
{
- if (type === 1)
+ if (type === 'D')
navigation?.navigate('CreoleBallsTournamentPage', {
id: id,
type: type,
@@ -34,7 +34,7 @@ const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour =
description: description,
image: image,
})
- if (type === 3)
+ if (type === 'N')
navigation?.navigate('EventPage', {
id: id,
type: type,
@@ -79,7 +79,7 @@ const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour =
color='white'
textAlign='right'
>
- {cutText(date.toLowerCase(), 45)}
+ {cutText(date, 45)}
diff --git a/src/hooks/useConnection.js b/src/hooks/useConnection.js
index 91413f1..e31e4dc 100644
--- a/src/hooks/useConnection.js
+++ b/src/hooks/useConnection.js
@@ -7,27 +7,29 @@ const useConnection = () => {
const recognizeConnection = () => {
- NetInfo.fetch()
- .then(state => {
+ NetInfo.fetch()
+ .then(state => {
- console.group(`Connection Details: `)
- console.log(`Connection type: ${state.type}`)
- console.log(`Is connected? ${state.isConnected}`)
- console.groupEnd()
+ /*
+ console.group(`Connection Details: `)
+ console.log(`Connection type: ${state.type}`)
+ console.log(`Is connected? ${state.isConnected}`)
+ console.groupEnd()
+ */
- if (state.isConnected) {
- setIsConnected(true)
- }
+ if (state.isConnected) {
+ setIsConnected(true)
+ }
- else {
- setIsConnected(false)
- }
-
- })
- .catch(error => {
+ else {
setIsConnected(false)
- console.log(`Connection error: ${error}`)
- })
+ }
+
+ })
+ .catch(error => {
+ setIsConnected(false)
+ console.log(`Connection error: ${error}`)
+ })
}
diff --git a/src/pages/CreoleBalls/CreoleBallsListPage.js b/src/pages/CreoleBalls/CreoleBallsListPage.js
index 191f1e6..7da9608 100644
--- a/src/pages/CreoleBalls/CreoleBallsListPage.js
+++ b/src/pages/CreoleBalls/CreoleBallsListPage.js
@@ -93,13 +93,18 @@ const CreoleBallsListPage = ({ navigation, route }) => {
justifyContent='space-between'
>
-
- {tournament.title}
-
+
+ {tournament.title}
+
+
{events?.length > 0 || !isLoading ? (
{
}
showsVerticalScrollIndicator={false}
data={events}
- minH={layout.height * .8}
- maxH={layout.height * .8}
+ minH={layout.height * .75}
+ maxH={layout.height * .75}
keyExtractor={item => item?.id}
renderItem={({ item }) => (
- {
+import { getEvents } from '../../services/events/EventsService'
+
+import { formatDate, getHour } from '../../utilities/functions'
- const data = [
- {
- id: 1,
- type: 3,
- title: 'Torneo Magistral de voleyball playero',
- date: '26 noviembre, 2022',
- hour: 'Sábado, 6:00PM - 11:00PM',
- location: 'Cancha de voleyball',
- area: 'Zona deportiva',
- description: 'Torneo magistral de voleyball playero en la cancha de voleyball de concreto porque falta la cancha de voleyball playero...',
- image: 'https://imagenes.elpais.com/resizer/L-x86NTaSVVBr9YZnnn1driudPw=/980x0/cloudfront-eu-central-1.images.arcpublishing.com/prisa/CNK6AU3UNFB2REUA4VXS233FKE.jpg'
- },
- {
- id: 2,
- type: 3,
- title: 'Juegos interclub',
- date: '01 diciembre a 07 diciembre, 2022',
- hour: 'Jueves a miércoles, 6:00PM - 11:00PM',
- location: 'Domo deportivo',
- area: 'Zona deportiva',
- description: 'Torneo multidisciplinario de juegos deportivos entre diversos clubes socio-deportivos.',
- image: 'https://warwick.ac.uk/services/sport/find-your-active.jpg'
- },
- {
- id: 3,
- type: 1,
- title: 'Torneo de bolas criollas',
- date: '09 diciembre, 2022',
- hour: 'Viernes, 6:00PM - 11:00PM',
- location: 'Cancha de bolas criollas',
- area: 'Zona deportiva',
- description: 'Viernes 09 de diciembre',
- image: 'https://http2.mlstatic.com/D_NQ_NP_655547-MLV25593228224_052017-O.webp'
- },
- {
- id: 4,
- type: 2,
- title: 'Torneo de dominó',
- date: '12 diciembre, 2022',
- hour: 'Lunes, 6:00PM - 11:00PM',
- location: 'Caney de zonas de estar',
- area: 'Zona recreativa',
- description: 'Lunes 12 de diciembre',
- image: 'https://patasdegallo.com/wp-content/uploads/2016/12/capacidad-mental.jpg'
- },
- ]
+const HomePage = ({ navigation }) => {
const wait = (timeOut) => {
return new Promise(resolve => setTimeout(resolve, timeOut))
@@ -67,26 +24,94 @@ const HomePage = ({ navigation }) => {
const { isLoading, startLoading, stopLoading } = useLoading()
- const [events, setEvents] = useState([])
+ const [events, setEvents] = useState(null)
+ const [currentPage, setCurrentPage] = useState(1)
+ const [isNextPage, setIsNextPage] = useState(true)
const [refreshing, setRefreshing] = useState(false)
const layout = useWindowDimensions()
const onRefresh = useCallback(() => {
+ setIsNextPage(true)
+ setCurrentPage(1)
setRefreshing(true)
wait(2000).then(() => setRefreshing(false))
}, [])
+ const getData = () => {
+
+ if (isNextPage) {
+
+ startLoading()
+
+ getEvents(currentPage)
+ .then(res => {
+ const { data, status } = res
+
+ setEvents(status === 200 ? data?.data?.data : [])
+
+ console.log(data?.data?.data)
+
+ console.log(events)
+
+ setIsNextPage(data?.links?.next ? true : false)
+ console.log(`Events: ${events}`)
+ console.log(`Next page: ${isNextPage}`)
+ })
+ .catch(error => {
+ console.log(`Event error: ${error}`)
+ })
+ .finally(() => {
+ stopLoading()
+ })
+
+ }
+
+ }
+
useFocusEffect(
useCallback(() => {
- if (events?.length === 0) startLoading()
+ getData()
+ }, [currentPage])
+ )
- setEvents(data)
+ const renderItem = ({ item }) => {
- if (events?.length !== 0) stopLoading()
- }, [])
- )
+
+ return (
+
+
+
+ )
+ }
+
+ const renderLoader = () => {
+ return (
+ isLoading &&
+
+
+
+ )
+ }
+
+ const loadMoreItem = () => {
+ setCurrentPage(currentPage + 1)
+ }
return (
@@ -95,7 +120,11 @@ const HomePage = ({ navigation }) => {
px={3}
height={layout.height}
>
- {events?.length > 0 || !isLoading ? (
+ {!events || events?.length === 0 ? (
+
+ ) : events?.length > 0 || !isLoading ? (
{
data={events}
maxH={layout.height * .80}
keyExtractor={item => item?.id}
- renderItem={({ item }) => (
-
-
-
- )}
- />
- ) : events?.length === 0 ? (
-
) : (
{
+ const { data, status } = await http.get(`${BASE_URL}?page=${page}`, {
+ validateStatus: (status) => {
+ return status < 500
+ }
+ })
+ return { data, status }
+}
+
+const getEventByID = async (ID) => {
+ const { data, status } = await http.get(`${BASE_URL}/${ID}`, {
+ validateStatus: (status) => {
+ return status < 500
+ }
+ })
+ return { data, status }
+}
+
+export {
+ getEvents,
+ getEventByID
+}
\ No newline at end of file
diff --git a/src/services/http.js b/src/services/http.js
index e5bb038..08c37bb 100644
--- a/src/services/http.js
+++ b/src/services/http.js
@@ -1,6 +1,6 @@
import axios from 'axios'
-export const BASE_URL = ''
+export const BASE_URL = 'https://medinajosedev.com/api'
export const http = axios.create({
baseURL: BASE_URL,
diff --git a/src/utilities/functions.js b/src/utilities/functions.js
index b381cb2..ddeb523 100644
--- a/src/utilities/functions.js
+++ b/src/utilities/functions.js
@@ -22,9 +22,48 @@ const cutText = (text = '', maxLength = 255) => {
return text.length > maxLength ? text.substring(0, maxLength - 3) + '...' : text
}
+/**
+ * Method for reformatting the date supplied. The new format
+ * takes the form "dd/MM/yyyy".
+ * @param {String} date Date to be formatted.
+ * @returns {String} Date with new format.
+ */
+const formatDate = (date) => {
+ try {
+ let newDate = date.split('T')[0]
+ newDate = newDate.split('-')
+ return `${newDate[2]}/${newDate[1]}/${newDate[0]}`
+ } catch (error) {
+ console.log(`Error trying to format the date: ${error}`)
+ return null
+ }
+}
+
+const getHour = (date) => {
+ try {
+ let hourData = date.split('T')[1]
+ hourData = hourData.split(':')
+
+ let hour = Number(hourData[0])
+ let minute = Number(hourData[1])
+
+ let time = hour <= 12
+
+ hour = hour > 12 ? hour - 12 : hour
+
+ return `${hour}:${minute} ${time ? 'A.M.' : 'P.M.'}`
+
+ } catch (error) {
+ console.log(`Error trying to get hour: ${error}`)
+ return null
+ }
+}
+
module.exports = {
emailValidator,
passwordValidator,
phoneValidator,
cutText,
+ formatDate,
+ getHour,
}
\ No newline at end of file
From 46b908417f06742162fa840fe95fdb6b0ad20d76 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 11 Jan 2023 00:41:00 +0000
Subject: [PATCH 030/109] Update @types/react to version 18.0.26
---
package.json | 2 +-
yarn.lock | 11 ++++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 1307412..95c168a 100644
--- a/package.json
+++ b/package.json
@@ -50,7 +50,7 @@
"@react-native-community/eslint-config": "^2.0.0",
"@tsconfig/react-native": "^2.0.2",
"@types/jest": "^26.0.23",
- "@types/react": "^18.0.21",
+ "@types/react": "^18.0.26",
"@types/react-native": "^0.70.6",
"@types/react-test-renderer": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^5.45.0",
diff --git a/yarn.lock b/yarn.lock
index 025ff97..f6cf756 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2664,7 +2664,7 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@^18.0.21":
+"@types/react@*":
version "18.0.25"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.25.tgz#8b1dcd7e56fe7315535a4af25435e0bb55c8ae44"
integrity sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==
@@ -2673,6 +2673,15 @@
"@types/scheduler" "*"
csstype "^3.0.2"
+"@types/react@^18.0.26":
+ version "18.0.26"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
+ integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==
+ dependencies:
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
+
"@types/scheduler@*":
version "0.16.2"
resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
From c69cef2afd6191d6fdfaf63bf842e05189235d78 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 11 Jan 2023 01:50:22 +0000
Subject: [PATCH 031/109] Update @tsconfig/react-native to version 2.0.3
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 1307412..d460359 100644
--- a/package.json
+++ b/package.json
@@ -48,7 +48,7 @@
"@babel/core": "^7.20.12",
"@babel/runtime": "^7.12.5",
"@react-native-community/eslint-config": "^2.0.0",
- "@tsconfig/react-native": "^2.0.2",
+ "@tsconfig/react-native": "^2.0.3",
"@types/jest": "^26.0.23",
"@types/react": "^18.0.21",
"@types/react-native": "^0.70.6",
diff --git a/yarn.lock b/yarn.lock
index 025ff97..1cd876e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2522,10 +2522,10 @@
resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
-"@tsconfig/react-native@^2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@tsconfig/react-native/-/react-native-2.0.2.tgz#ac9b8ceb1de91e2f23ab89f915490a1a4afd65a0"
- integrity sha512-OY+qydDk8Xw+VONvAFB6WTZAi3OP/KSQWNIeuJgkGFHGV3epw8qlctJQ35+fKGG4919nGbNS9ZI0JuZl1y8w2g==
+"@tsconfig/react-native@^2.0.3":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/react-native/-/react-native-2.0.3.tgz#79ad8efc6d3729152da6cb23725b6c364a7349b2"
+ integrity sha512-jE58snEKBd9DXfyR4+ssZmYJ/W2mOSnNrvljR0aLyQJL9JKX6vlWELHkRjb3HBbcM9Uy0hZGijXbqEAjOERW2A==
"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7":
version "7.1.20"
From 16001581159c4193b63088035f8c44c749add0cc Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 11 Jan 2023 02:52:14 +0000
Subject: [PATCH 032/109] Update typescript to version 4.9.4
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 1307412..4379ce6 100644
--- a/package.json
+++ b/package.json
@@ -60,7 +60,7 @@
"jest": "^26.6.3",
"metro-react-native-babel-preset": "0.72.3",
"react-test-renderer": "18.1.0",
- "typescript": "^4.9.3"
+ "typescript": "^4.9.4"
},
"jest": {
"preset": "react-native",
diff --git a/yarn.lock b/yarn.lock
index 025ff97..5e500f3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8548,10 +8548,10 @@ typedarray-to-buffer@^3.1.5:
dependencies:
is-typedarray "^1.0.0"
-typescript@^4.9.3:
- version "4.9.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db"
- integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==
+typescript@^4.9.4:
+ version "4.9.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
+ integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
uglify-es@^3.1.9:
version "3.3.9"
From c5c7eb4fe1d5ffbaac2f0abce75be1ab004c5511 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 11 Jan 2023 18:41:04 +0000
Subject: [PATCH 033/109] Update @react-navigation/native-stack to version
6.9.8
---
package.json | 2 +-
yarn.lock | 15 ++++++++++-----
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/package.json b/package.json
index f9c5d69..7afed4d 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"@react-native-community/netinfo": "^9.3.7",
"@react-navigation/material-top-tabs": "^6.3.0",
"@react-navigation/native": "^6.0.14",
- "@react-navigation/native-stack": "^6.9.4",
+ "@react-navigation/native-stack": "^6.9.8",
"@rneui/base": "^4.0.0-rc.7",
"@rneui/themed": "^4.0.0-rc.7",
"axios": "0.27.2",
diff --git a/yarn.lock b/yarn.lock
index 692cc9b..b47d032 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1966,6 +1966,11 @@
color "^4.2.3"
warn-once "^0.1.0"
+"@react-navigation/elements@^1.3.13":
+ version "1.3.13"
+ resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.13.tgz#5105fa26df8d32810cd9f14d6ec5a3d2c2bb26d2"
+ integrity sha512-LqqK5s2ZfYHn2cQ376jC5V9dQztLH5ixkkJj9WR7JY2g4SghDd39WJhL3Jillw1Mu3F3b9sZwvAK+QkXhnDeAA==
+
"@react-navigation/elements@^1.3.7":
version "1.3.7"
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
@@ -1984,12 +1989,12 @@
color "^4.2.3"
warn-once "^0.1.0"
-"@react-navigation/native-stack@^6.9.4":
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.4.tgz#d9cc26ad97afcee1c0e3fb092ae4c60f848b1572"
- integrity sha512-R40G2Zfo748hE4+we/TUAEClw53l0QdFDJ0q/9VS1moxgI4zUopdBxN5SmF32OMFfkedMRAT9J+aVbwgmdn7pA==
+"@react-navigation/native-stack@^6.9.8":
+ version "6.9.8"
+ resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.8.tgz#c953a169918a4bdde56f7d2dc1073da4726b4cb7"
+ integrity sha512-74dje939lflsTXJQwCAdznbJ4B6V8sA5CSzuHwbiogL8B6EVXNa/qliXtB7DBAvzeyWDWT3u+gM2vOYJOeXYhA==
dependencies:
- "@react-navigation/elements" "^1.3.9"
+ "@react-navigation/elements" "^1.3.13"
warn-once "^0.1.0"
"@react-navigation/native@^6.0.14":
From 618deaeaa87368b79211061bd16a64ac496427c3 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 11 Jan 2023 19:50:24 +0000
Subject: [PATCH 034/109] Update @react-navigation/drawer to version 6.5.7
---
package.json | 2 +-
yarn.lock | 15 ++++++++++-----
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/package.json b/package.json
index f9c5d69..41c3933 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
"@hookform/resolvers": "^2.9.10",
"@react-native-async-storage/async-storage": "^1.17.11",
"@react-navigation/bottom-tabs": "^6.4.1",
- "@react-navigation/drawer": "^6.5.3",
+ "@react-navigation/drawer": "^6.5.7",
"@react-native-community/netinfo": "^9.3.7",
"@react-navigation/material-top-tabs": "^6.3.0",
"@react-navigation/native": "^6.0.14",
diff --git a/yarn.lock b/yarn.lock
index 692cc9b..5a3f8a2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1957,15 +1957,20 @@
react-is "^16.13.0"
use-latest-callback "^0.1.5"
-"@react-navigation/drawer@^6.5.3":
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.5.3.tgz#99869ec9a50352eae3e34850e0c715a92bc229b0"
- integrity sha512-5HP3aTH/yL/F8WS7S8Pa3CUGeRZ7sqAMjWatV6Z0nMBpQ0xRiobpds3jXkiedlPejUVZYcbU6YoJ1XQXHRaOkg==
+"@react-navigation/drawer@^6.5.7":
+ version "6.5.7"
+ resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.5.7.tgz#a687dd909d9f4ae92e07f3cc295986761d19e340"
+ integrity sha512-k8l+G05WrP+Il8USxEcaBtZ2Jv/JFn9dS8O1IlqIoddZITrFjsyDhk3zxeE3RWDcc9u0o7HgHfgKHPXxcT8QRQ==
dependencies:
- "@react-navigation/elements" "^1.3.9"
+ "@react-navigation/elements" "^1.3.13"
color "^4.2.3"
warn-once "^0.1.0"
+"@react-navigation/elements@^1.3.13":
+ version "1.3.13"
+ resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.13.tgz#5105fa26df8d32810cd9f14d6ec5a3d2c2bb26d2"
+ integrity sha512-LqqK5s2ZfYHn2cQ376jC5V9dQztLH5ixkkJj9WR7JY2g4SghDd39WJhL3Jillw1Mu3F3b9sZwvAK+QkXhnDeAA==
+
"@react-navigation/elements@^1.3.7":
version "1.3.7"
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
From 32f93cbd9fec6daf258adcb02a8c4e637efb2d68 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 11 Jan 2023 21:00:59 +0000
Subject: [PATCH 035/109] Update @types/react-native to version 0.70.8
---
package.json | 2 +-
yarn.lock | 9 ++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index f9c5d69..93a2f5d 100644
--- a/package.json
+++ b/package.json
@@ -51,7 +51,7 @@
"@tsconfig/react-native": "^2.0.3",
"@types/jest": "^26.0.23",
"@types/react": "^18.0.26",
- "@types/react-native": "^0.70.6",
+ "@types/react-native": "^0.70.8",
"@types/react-test-renderer": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^5.45.0",
"@typescript-eslint/parser": "^5.45.0",
diff --git a/yarn.lock b/yarn.lock
index 692cc9b..5303ff8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2650,13 +2650,20 @@
"@types/react" "*"
"@types/react-native" "*"
-"@types/react-native@*", "@types/react-native@^0.70.6":
+"@types/react-native@*":
version "0.70.6"
resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.6.tgz#0d1bc3014111f64f13e0df643aec2ab03f021fdb"
integrity sha512-ynQ2jj0km9d7dbnyKqVdQ6Nti7VQ8SLTA/KKkkS5+FnvGyvij2AOo1/xnkBR/jnSNXuzrvGVzw2n0VWfppmfKw==
dependencies:
"@types/react" "*"
+"@types/react-native@^0.70.8":
+ version "0.70.8"
+ resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.8.tgz#3302a0f7eddcd3350448ca17a9e415d02b1efde6"
+ integrity sha512-jvs5QMOrlyi0ScfT5Brha2roDoOWtbIOadNkp0jsueVen5+pH4SQAYtzL6xu0+dIcx3J/5LtZ/JYby2C1/zUug==
+ dependencies:
+ "@types/react" "*"
+
"@types/react-test-renderer@^18.0.0":
version "18.0.0"
resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz#7b7f69ca98821ea5501b21ba24ea7b6139da2243"
From 00aecc516e05845df016443cd82af8790f9d3f93 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 15:05:53 +0000
Subject: [PATCH 036/109] Update @types/react to version 18.0.27
---
package.json | 2 +-
yarn.lock | 13 ++++---------
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/package.json b/package.json
index 67515c0..034cd8d 100644
--- a/package.json
+++ b/package.json
@@ -50,7 +50,7 @@
"@react-native-community/eslint-config": "^2.0.0",
"@tsconfig/react-native": "^2.0.3",
"@types/jest": "^26.0.23",
- "@types/react": "^18.0.26",
+ "@types/react": "^18.0.27",
"@types/react-native": "^0.70.8",
"@types/react-test-renderer": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^5.45.0",
diff --git a/yarn.lock b/yarn.lock
index 8b718b1..9d4e8bd 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1976,11 +1976,6 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw==
-"@react-navigation/elements@^1.3.9":
- version "1.3.9"
- resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.9.tgz#33e26d7ad655b012e024ef0a005a3f66201287f8"
- integrity sha512-V9aIZN19ufaKWlXT4UcM545tDiEt9DIQS+74pDgbnzoQcDypn0CvSqWopFhPACMdJatgmlZUuOrrMfTeNrBWgA==
-
"@react-navigation/material-top-tabs@^6.3.0":
version "6.3.0"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
@@ -2685,10 +2680,10 @@
"@types/scheduler" "*"
csstype "^3.0.2"
-"@types/react@^18.0.26":
- version "18.0.26"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
- integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==
+"@types/react@^18.0.27":
+ version "18.0.27"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.27.tgz#d9425abe187a00f8a5ec182b010d4fd9da703b71"
+ integrity sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
From 0f83a3ba7c7d0810da06b422642a595b2f53af80 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 15:09:18 +0000
Subject: [PATCH 037/109] Bump json5 from 2.2.1 to 2.2.3
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)
---
updated-dependencies:
- dependency-name: json5
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
yarn.lock | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 8b718b1..fc31b5a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1976,11 +1976,6 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw==
-"@react-navigation/elements@^1.3.9":
- version "1.3.9"
- resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.9.tgz#33e26d7ad655b012e024ef0a005a3f66201287f8"
- integrity sha512-V9aIZN19ufaKWlXT4UcM545tDiEt9DIQS+74pDgbnzoQcDypn0CvSqWopFhPACMdJatgmlZUuOrrMfTeNrBWgA==
-
"@react-navigation/material-top-tabs@^6.3.0":
version "6.3.0"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
@@ -6008,12 +6003,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-json5@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
- integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
-
-json5@^2.2.2:
+json5@^2.2.1, json5@^2.2.2:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
From f7ee86034e1c178591f82f7b10c07dd568449e6f Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 15:15:41 +0000
Subject: [PATCH 038/109] Update @react-navigation/material-top-tabs to version
6.5.2
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 034cd8d..ecb0753 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
"@react-navigation/bottom-tabs": "^6.4.1",
"@react-navigation/drawer": "^6.5.7",
"@react-native-community/netinfo": "^9.3.7",
- "@react-navigation/material-top-tabs": "^6.3.0",
+ "@react-navigation/material-top-tabs": "^6.5.2",
"@react-navigation/native": "^6.0.14",
"@react-navigation/native-stack": "^6.9.8",
"@rneui/base": "^4.0.0-rc.7",
diff --git a/yarn.lock b/yarn.lock
index 0741791..7610aa9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1976,10 +1976,10 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw==
-"@react-navigation/material-top-tabs@^6.3.0":
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.3.0.tgz#ac49389155a3c1cb7a82119491e2059a7557718e"
- integrity sha512-nv9c3WbmzuwYZqDkinP375aTYzQIXkCzAmpHRsVH3AjpF2Qc62oKDjWuSMFdRn3VPe3LAH/0P6yUzQSX/800yQ==
+"@react-navigation/material-top-tabs@^6.5.2":
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.5.2.tgz#0e0c40154facc7431d5249235742fbb554c0290a"
+ integrity sha512-i/R3bEXVE5pygWP0dOMdFNOVzrQyHXL0lbqLfQx5HZXwbvCrpUBFqOED3bWLBrBOUhHQSXfYgTuteAfIF5hzzg==
dependencies:
color "^4.2.3"
warn-once "^0.1.0"
From 15a6db209d38cd932acf8a1632d8aa6af10a906a Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 15:16:34 +0000
Subject: [PATCH 039/109] Bump decode-uri-component from 0.2.0 to 0.2.2
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)
---
updated-dependencies:
- dependency-name: decode-uri-component
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 0741791..02696b6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3871,9 +3871,9 @@ decimal.js@^10.2.1:
integrity sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==
decode-uri-component@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
- integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
+ integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.4"
From 541fda3090b55b25b41b367600415156227c6ec8 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 15:20:45 +0000
Subject: [PATCH 040/109] Update @react-navigation/native to version 6.1.2
---
package.json | 2 +-
yarn.lock | 42 +++++++++++++++++++++---------------------
2 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/package.json b/package.json
index ecb0753..cdd57ea 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
"@react-navigation/drawer": "^6.5.7",
"@react-native-community/netinfo": "^9.3.7",
"@react-navigation/material-top-tabs": "^6.5.2",
- "@react-navigation/native": "^6.0.14",
+ "@react-navigation/native": "^6.1.2",
"@react-navigation/native-stack": "^6.9.8",
"@rneui/base": "^4.0.0-rc.7",
"@rneui/themed": "^4.0.0-rc.7",
diff --git a/yarn.lock b/yarn.lock
index 2879786..f824779 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1945,15 +1945,15 @@
color "^4.2.3"
warn-once "^0.1.0"
-"@react-navigation/core@^6.4.1":
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.1.tgz#2d290cadc23992e914c45b5712efa30e5f37587f"
- integrity sha512-M1rTS+qaw84ZItvObwFTjuvXfrJRnXL2uJJeiDVwSvu7/30Wp6bkL3/MfLUEA6I4CzJhL74iRSfCKSVe7kVhlw==
+"@react-navigation/core@^6.4.6":
+ version "6.4.6"
+ resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.6.tgz#b0738667dec5927b01c4c496c2f4c73ef8a5e4dd"
+ integrity sha512-6zaAgUT5k4vhJlddUk2l52RZyMkMelHdrRv1cL57ALi2RZzERdgmbiMKhJerxFLn9S8E3PUe8vwxHzjHOZKG4w==
dependencies:
- "@react-navigation/routers" "^6.1.3"
+ "@react-navigation/routers" "^6.1.6"
escape-string-regexp "^4.0.0"
nanoid "^3.1.23"
- query-string "^7.0.0"
+ query-string "^7.1.3"
react-is "^16.13.0"
use-latest-callback "^0.1.5"
@@ -1992,20 +1992,20 @@
"@react-navigation/elements" "^1.3.13"
warn-once "^0.1.0"
-"@react-navigation/native@^6.0.14":
- version "6.0.14"
- resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.0.14.tgz#3ce3a4176ac7dc5495241d56a28db18449baf754"
- integrity sha512-Z95bJrRkZerBJq6Qc/xjA/kibPpB+UvPeMWS1CBhRF8FaX1483UdHqPqSbW879tPwjP2R4XfoA4dtoEHswrOjA==
+"@react-navigation/native@^6.1.2":
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.2.tgz#6fffbf4787c233687fff8fe9ce7364ffce696d38"
+ integrity sha512-qLUe0asHofr5EhxKjvUBJ9DrPPmR4535IEwmW3oU4DRb3cLbNysjajJKHL8kcYtqPvn9Bx9QZG2x0PMb2vN23A==
dependencies:
- "@react-navigation/core" "^6.4.1"
+ "@react-navigation/core" "^6.4.6"
escape-string-regexp "^4.0.0"
fast-deep-equal "^3.1.3"
nanoid "^3.1.23"
-"@react-navigation/routers@^6.1.3":
- version "6.1.3"
- resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.3.tgz#1df51959e9a67c44367462e8b929b7360a5d2555"
- integrity sha512-idJotMEzHc3haWsCh7EvnnZMKxvaS4YF/x2UyFBkNFiEFUaEo/1ioQU6qqmVLspdEv4bI/dLm97hQo7qD8Yl7Q==
+"@react-navigation/routers@^6.1.6":
+ version "6.1.6"
+ resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.6.tgz#f57f2a73855d329255aa225fdad75ae8e7700c6d"
+ integrity sha512-Z5DeCW3pUvMafbU9Cjy1qJYC2Bvl8iy3+PfsB0DsAwQ6zZ3WAXW5FTMX4Gb9H+Jg6qHWGbMFFwlYpS3UJ3tlVQ==
dependencies:
nanoid "^3.1.23"
@@ -3870,7 +3870,7 @@ decimal.js@^10.2.1:
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.2.tgz#0341651d1d997d86065a2ce3a441fbd0d8e8b98e"
integrity sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==
-decode-uri-component@^0.2.0:
+decode-uri-component@^0.2.0, decode-uri-component@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
@@ -7297,12 +7297,12 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-query-string@^7.0.0:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.1.tgz#754620669db978625a90f635f12617c271a088e1"
- integrity sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==
+query-string@^7.1.3:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328"
+ integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==
dependencies:
- decode-uri-component "^0.2.0"
+ decode-uri-component "^0.2.2"
filter-obj "^1.1.0"
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
From 20291bc67e05a8199de344b32d19fb65d8a2c22c Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 16:30:39 +0000
Subject: [PATCH 041/109] Update @react-navigation/bottom-tabs to version 6.5.3
---
package.json | 2 +-
yarn.lock | 15 +++++----------
2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/package.json b/package.json
index ecb0753..8a2b854 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
"@fortawesome/react-native-fontawesome": "^0.3.0",
"@hookform/resolvers": "^2.9.10",
"@react-native-async-storage/async-storage": "^1.17.11",
- "@react-navigation/bottom-tabs": "^6.4.1",
+ "@react-navigation/bottom-tabs": "^6.5.3",
"@react-navigation/drawer": "^6.5.7",
"@react-native-community/netinfo": "^9.3.7",
"@react-navigation/material-top-tabs": "^6.5.2",
diff --git a/yarn.lock b/yarn.lock
index 2879786..fd1fba1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1936,12 +1936,12 @@
resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa"
integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==
-"@react-navigation/bottom-tabs@^6.4.1":
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.4.1.tgz#54e469077f7c9f3750e6727ec8f298d5497b6ae5"
- integrity sha512-b12o0aVe+A9bUVP31kQLVcZ5l4Inm/7XhpSS5FvwhoI9L2iwofK1tt98uEQd79NIAklfui+IqRqr2X6XKkygbA==
+"@react-navigation/bottom-tabs@^6.5.3":
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.3.tgz#76bb793b42326544997d438c5202b59913d0d656"
+ integrity sha512-ZA2Ko9fNwNaaSNn7738KpEk8Doi+yjRfTg8Wb/WvduIaK/28qNLAYWBCUEVjBC55y/9zJOzwc4R8Av2J2MG/4g==
dependencies:
- "@react-navigation/elements" "^1.3.7"
+ "@react-navigation/elements" "^1.3.13"
color "^4.2.3"
warn-once "^0.1.0"
@@ -1971,11 +1971,6 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.13.tgz#5105fa26df8d32810cd9f14d6ec5a3d2c2bb26d2"
integrity sha512-LqqK5s2ZfYHn2cQ376jC5V9dQztLH5ixkkJj9WR7JY2g4SghDd39WJhL3Jillw1Mu3F3b9sZwvAK+QkXhnDeAA==
-"@react-navigation/elements@^1.3.7":
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215"
- integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw==
-
"@react-navigation/material-top-tabs@^6.5.2":
version "6.5.2"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.5.2.tgz#0e0c40154facc7431d5249235742fbb554c0290a"
From b407e9a884e79fd1d21a5fb690a2ed8543e2fa7d Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 17:37:33 +0000
Subject: [PATCH 042/109] Update react-hook-form to version 7.42.1
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index ecb0753..332f8d3 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
"native-base": "^3.4.25",
"react": "18.1.0",
"react-dom": "^18.2.0",
- "react-hook-form": "^7.41.5",
+ "react-hook-form": "^7.42.1",
"react-native": "0.70.5",
"react-native-ionicons": "^4.6.5",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
diff --git a/yarn.lock b/yarn.lock
index 2879786..3065249 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7348,10 +7348,10 @@ react-freeze@^1.0.0:
resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.3.tgz#5e3ca90e682fed1d73a7cb50c2c7402b3e85618d"
integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==
-react-hook-form@^7.41.5:
- version "7.41.5"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.41.5.tgz#dcd0e7438c15044eadc99df6deb889da5858a03b"
- integrity sha512-DAKjSJ7X9f16oQrP3TW2/eD9N6HOgrmIahP4LOdFphEWVfGZ2LulFd6f6AQ/YS/0cx/5oc4j8a1PXxuaurWp/Q==
+react-hook-form@^7.42.1:
+ version "7.42.1"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.42.1.tgz#c6396ca684716d89abc1c7e64343badfd30c56c6"
+ integrity sha512-2UIGqwMZksd5HS55crTT1ATLTr0rAI4jS7yVuqTaoRVDhY2Qc4IyjskCmpnmdYqUNOYFy04vW253tb2JRVh+IQ==
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.1.0:
version "18.2.0"
From 2a4c115ffcec58a8246c3a65c392d63d5cf60f49 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 17:54:05 +0000
Subject: [PATCH 043/109] Update all of typescript-eslint to version 5.48.2
---
package.json | 4 +--
yarn.lock | 98 ++++++++++++++++++++++++++--------------------------
2 files changed, 51 insertions(+), 51 deletions(-)
diff --git a/package.json b/package.json
index 2f87975..d07e8a5 100644
--- a/package.json
+++ b/package.json
@@ -53,8 +53,8 @@
"@types/react": "^18.0.27",
"@types/react-native": "^0.70.8",
"@types/react-test-renderer": "^18.0.0",
- "@typescript-eslint/eslint-plugin": "^5.45.0",
- "@typescript-eslint/parser": "^5.45.0",
+ "@typescript-eslint/eslint-plugin": "^5.48.2",
+ "@typescript-eslint/parser": "^5.48.2",
"babel-jest": "^26.6.3",
"eslint": "^7.32.0",
"jest": "^26.6.3",
diff --git a/yarn.lock b/yarn.lock
index 49bd058..e3ebf03 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2742,14 +2742,14 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/eslint-plugin@^5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz#ffa505cf961d4844d38cfa19dcec4973a6039e41"
- integrity sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==
- dependencies:
- "@typescript-eslint/scope-manager" "5.45.0"
- "@typescript-eslint/type-utils" "5.45.0"
- "@typescript-eslint/utils" "5.45.0"
+"@typescript-eslint/eslint-plugin@^5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3"
+ integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.48.2"
+ "@typescript-eslint/type-utils" "5.48.2"
+ "@typescript-eslint/utils" "5.48.2"
debug "^4.3.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
@@ -2779,31 +2779,31 @@
"@typescript-eslint/typescript-estree" "3.10.1"
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/parser@^5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.45.0.tgz#b18a5f6b3cf1c2b3e399e9d2df4be40d6b0ddd0e"
- integrity sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==
+"@typescript-eslint/parser@^5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3"
+ integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==
dependencies:
- "@typescript-eslint/scope-manager" "5.45.0"
- "@typescript-eslint/types" "5.45.0"
- "@typescript-eslint/typescript-estree" "5.45.0"
+ "@typescript-eslint/scope-manager" "5.48.2"
+ "@typescript-eslint/types" "5.48.2"
+ "@typescript-eslint/typescript-estree" "5.48.2"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz#7a4ac1bfa9544bff3f620ab85947945938319a96"
- integrity sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==
+"@typescript-eslint/scope-manager@5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc"
+ integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==
dependencies:
- "@typescript-eslint/types" "5.45.0"
- "@typescript-eslint/visitor-keys" "5.45.0"
+ "@typescript-eslint/types" "5.48.2"
+ "@typescript-eslint/visitor-keys" "5.48.2"
-"@typescript-eslint/type-utils@5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.45.0.tgz#aefbc954c40878fcebeabfb77d20d84a3da3a8b2"
- integrity sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==
+"@typescript-eslint/type-utils@5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz#7d3aeca9fa37a7ab7e3d9056a99b42f342c48ad7"
+ integrity sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==
dependencies:
- "@typescript-eslint/typescript-estree" "5.45.0"
- "@typescript-eslint/utils" "5.45.0"
+ "@typescript-eslint/typescript-estree" "5.48.2"
+ "@typescript-eslint/utils" "5.48.2"
debug "^4.3.4"
tsutils "^3.21.0"
@@ -2812,10 +2812,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727"
integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==
-"@typescript-eslint/types@5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.0.tgz#794760b9037ee4154c09549ef5a96599621109c5"
- integrity sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==
+"@typescript-eslint/types@5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e"
+ integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==
"@typescript-eslint/typescript-estree@3.10.1":
version "3.10.1"
@@ -2831,29 +2831,29 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/typescript-estree@5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz#f70a0d646d7f38c0dfd6936a5e171a77f1e5291d"
- integrity sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==
+"@typescript-eslint/typescript-estree@5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0"
+ integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==
dependencies:
- "@typescript-eslint/types" "5.45.0"
- "@typescript-eslint/visitor-keys" "5.45.0"
+ "@typescript-eslint/types" "5.48.2"
+ "@typescript-eslint/visitor-keys" "5.48.2"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.45.0.tgz#9cca2996eee1b8615485a6918a5c763629c7acf5"
- integrity sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==
+"@typescript-eslint/utils@5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3"
+ integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.45.0"
- "@typescript-eslint/types" "5.45.0"
- "@typescript-eslint/typescript-estree" "5.45.0"
+ "@typescript-eslint/scope-manager" "5.48.2"
+ "@typescript-eslint/types" "5.48.2"
+ "@typescript-eslint/typescript-estree" "5.48.2"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
@@ -2865,12 +2865,12 @@
dependencies:
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/visitor-keys@5.45.0":
- version "5.45.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz#e0d160e9e7fdb7f8da697a5b78e7a14a22a70528"
- integrity sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==
+"@typescript-eslint/visitor-keys@5.48.2":
+ version "5.48.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060"
+ integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==
dependencies:
- "@typescript-eslint/types" "5.45.0"
+ "@typescript-eslint/types" "5.48.2"
eslint-visitor-keys "^3.3.0"
abab@^2.0.3, abab@^2.0.5:
From 69e8962720676ad8f324a2cce8c48b4989933888 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Fri, 20 Jan 2023 19:00:29 +0000
Subject: [PATCH 044/109] Update react-native-screens to version 3.19.0
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 2f87975..195a523 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
"react-native-keyboard-aware-scroll-view": "^0.9.5",
"react-native-linear-gradient": "^2.6.2",
"react-native-safe-area-context": "3.3.2",
- "react-native-screens": "^3.18.2",
+ "react-native-screens": "^3.19.0",
"react-native-svg": "12.1.1",
"react-native-svg-transformer": "^1.0.0",
"react-native-vector-icons": "^9.2.0",
diff --git a/yarn.lock b/yarn.lock
index 49bd058..59977a0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7413,10 +7413,10 @@ react-native-safe-area-context@3.3.2:
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz#9549a2ce580f2374edb05e49d661258d1b8bcaed"
integrity sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==
-react-native-screens@^3.18.2:
- version "3.18.2"
- resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.18.2.tgz#d7ab2d145258d3db9fa630fa5379dc4474117866"
- integrity sha512-ANUEuvMUlsYJ1QKukEhzhfrvOUO9BVH9Nzg+6eWxpn3cfD/O83yPBOF8Mx6x5H/2+sMy+VS5x/chWOOo/U7QJw==
+react-native-screens@^3.19.0:
+ version "3.19.0"
+ resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.19.0.tgz#ec68685e04b074ebce4641b3a0ae7e2571629b75"
+ integrity sha512-Ehsmy7jr3H3j5pmN+/FqsAaIAD+k+xkcdePfLcg4rYRbN5X7fJPgaqhcmiCcZ0YxsU8ttsstP9IvRLNQuIkRRA==
dependencies:
react-freeze "^1.0.0"
warn-once "^0.1.0"
From ce5fb3076fc37db7644936b50debe20fd3a8c89f Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 22 Jan 2023 09:31:53 -0400
Subject: [PATCH 045/109] Update structure and add calendar and notification
pages
---
.../CalendarComponents/EventItem.js | 110 ++++++++++
src/components/LoginComponents/LoginForm.js | 3 -
src/components/NavBar.js | 48 ++++-
.../NotificationItem.js | 97 +++++++++
src/hooks/useCustomToast.js | 4 +-
src/navigation/BottomNavigation.js | 38 ++--
src/navigation/LoginBottomNavigation.js | 89 ++++++++
src/navigation/StackNavigation.js | 13 +-
src/pages/Login/LoginPage.js | 33 ---
src/pages/Main/CalendarPage.js | 193 +++++++++++++++++-
src/pages/Main/HomePage.js | 2 -
src/pages/Main/NotificationPage.js | 182 ++++++++++++++++-
src/pages/Main/UserPage.js | 21 +-
src/styled-components/colors.js | 7 +
src/utilities/functions.js | 34 ++-
15 files changed, 794 insertions(+), 80 deletions(-)
create mode 100644 src/components/CalendarComponents/EventItem.js
create mode 100644 src/components/NotificationComponents/NotificationItem.js
create mode 100644 src/navigation/LoginBottomNavigation.js
delete mode 100644 src/pages/Login/LoginPage.js
diff --git a/src/components/CalendarComponents/EventItem.js b/src/components/CalendarComponents/EventItem.js
new file mode 100644
index 0000000..5bcca21
--- /dev/null
+++ b/src/components/CalendarComponents/EventItem.js
@@ -0,0 +1,110 @@
+import React from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { HStack, Box, Text, VStack } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import colors from '../../styled-components/colors'
+import { cutText, getDate } from '../../utilities/functions'
+
+const EventItem = ({ navigation, date, name, type, id }) => {
+
+ const layout = useWindowDimensions()
+
+ const { dayWeek, day, month, year } = getDate(date)
+ const eventMonth = month.slice(0, 3)
+ const eventDay = `${dayWeek}, ${day} de ${month.toLowerCase()} de ${year}`
+
+ return (
+
+
+
+
+
+
+
+ {cutText(eventMonth.toUpperCase(), 3)}
+
+ {`\n${day}`}
+
+
+
+
+
+ {cutText(name, 30)}
+
+ {`\n${cutText(eventDay, 45)}`}
+
+
+
+
+
+
+
+
+
+
+ )
+
+}
+
+export default EventItem
\ No newline at end of file
diff --git a/src/components/LoginComponents/LoginForm.js b/src/components/LoginComponents/LoginForm.js
index d559c64..515f0a7 100644
--- a/src/components/LoginComponents/LoginForm.js
+++ b/src/components/LoginComponents/LoginForm.js
@@ -103,11 +103,8 @@ const LoginForm = ({ navigation }) => {
minH='100%'
>
{
+const NavBar = ({ hidden = false, logout = true }) => {
const { isConnected, recognizeConnection } = useConnection()
+ const { dispatch } = useAuthContext()
+ const { showSuccessToast } = useCustomToast()
+
+ const {
+ state: { isAuthenticated },
+ } = useAuthContext()
const layout = useWindowDimensions()
@@ -21,13 +29,14 @@ const NavBar = ({ hidden = false }) => {
pt={2}
pr={2}
minW={layout.width}
+
>
- {!isConnected &&
+ {!isConnected ?
recognizeConnection()}
>
@@ -47,6 +56,39 @@ const NavBar = ({ hidden = false }) => {
/>
+ : isAuthenticated && logout &&
+ {
+ console.log('User logout')
+ dispatch({ type: 'LOGOUT' })
+ showSuccessToast('¡Esperamos verte proximamente por acá!')
+ }}
+ >
+
+
+ Cerrar sesión
+
+
+
+
}
diff --git a/src/components/NotificationComponents/NotificationItem.js b/src/components/NotificationComponents/NotificationItem.js
new file mode 100644
index 0000000..13ac9fe
--- /dev/null
+++ b/src/components/NotificationComponents/NotificationItem.js
@@ -0,0 +1,97 @@
+import React from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { HStack, Box, Text, VStack, Stack } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import colors from '../../styled-components/colors'
+import { cutText, getDate, formatDate } from '../../utilities/functions'
+
+const NotificationItem = ({ navigation, date, name, type, id, read = false }) => {
+
+ const layout = useWindowDimensions()
+
+ const { dayWeek, day, month, year } = getDate(date)
+ const eventMonth = month.slice(0, 3)
+ const eventDay = `${dayWeek}, ${day} de ${month.toLowerCase()} de ${year}`
+
+ return (
+
+
+
+
+
+
+
+
+
+ {cutText(name, 75)}
+
+
+
+
+ {formatDate(date)}
+
+
+
+
+
+
+
+ )
+
+}
+
+export default NotificationItem
\ No newline at end of file
diff --git a/src/hooks/useCustomToast.js b/src/hooks/useCustomToast.js
index e3690d0..484d125 100644
--- a/src/hooks/useCustomToast.js
+++ b/src/hooks/useCustomToast.js
@@ -1,6 +1,6 @@
import { Dimensions } from 'react-native'
import { useToast, Avatar, Text, HStack } from 'native-base'
-import Icon from 'react-native-ionicons'
+import Icon from 'react-native-vector-icons/MaterialCommunityIcons'
import colors from '../styled-components/colors'
const { width } = Dimensions.get('window')
@@ -19,7 +19,7 @@ const Toast = ({ id, text = 'r', color = colors.primary, bgColor = colors.secund
>
diff --git a/src/navigation/BottomNavigation.js b/src/navigation/BottomNavigation.js
index 3c4965d..3189f37 100644
--- a/src/navigation/BottomNavigation.js
+++ b/src/navigation/BottomNavigation.js
@@ -9,19 +9,19 @@ import NotificationPage from '../pages/Main/NotificationPage'
import UserPage from '../pages/Main/UserPage'
import { View } from 'react-native'
-import Icon from 'react-native-vector-icons/Ionicons'
+import Icon from 'react-native-vector-icons/Ionicons'
import styles from './styled-components/styles'
const Tab = createBottomTabNavigator()
const bottomRoutes = [
{
- name: 'Home',
- component: HomePage,
+ name: 'Post',
+ component: PostPage,
Icon: ({ color, size }) => (
@@ -39,14 +39,14 @@ const bottomRoutes = [
)
},
{
- name: 'Post',
- component: PostPage,
+ name: 'Home',
+ component: HomePage,
Icon: ({ color, size }) => (
@@ -78,6 +78,7 @@ const bottomRoutes = [
]
const BottomNavigation = () => {
+
return (
{
},
}}
>
- {bottomRoutes.map(({ name, component, Icon }) => (
-
- ))}
+ {bottomRoutes
+ .map(({ name, component, Icon }) => (
+
+ ))}
)
}
diff --git a/src/navigation/LoginBottomNavigation.js b/src/navigation/LoginBottomNavigation.js
new file mode 100644
index 0000000..2bf398b
--- /dev/null
+++ b/src/navigation/LoginBottomNavigation.js
@@ -0,0 +1,89 @@
+import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
+
+import colors from '../styled-components/colors'
+
+import HomePage from '../pages/Main/HomePage'
+import CalendarPage from '../pages/Main/CalendarPage'
+import UserPage from '../pages/Main/UserPage'
+
+import { View } from 'react-native'
+
+import Icon from 'react-native-vector-icons/Ionicons'
+import styles from './styled-components/styles'
+
+const Tab = createBottomTabNavigator()
+
+const bottomRoutes = [
+ {
+ name: 'Calendar',
+ component: CalendarPage,
+ Icon: ({ color, size }) => (
+
+ )
+ },
+ {
+ name: 'Home',
+ component: HomePage,
+ Icon: ({ color, size }) => (
+
+
+
+ )
+ },
+ {
+ name: 'Profile',
+ component: UserPage,
+ Icon: ({ color, size }) => (
+
+ )
+ },
+]
+
+const LoginBottomNavigation = () => {
+
+ return (
+
+ {bottomRoutes
+ .map(({ name, component, Icon }) => (
+
+ ))}
+
+ )
+}
+
+export default LoginBottomNavigation
\ No newline at end of file
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index 00e3458..b72515d 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -1,8 +1,8 @@
import { createNativeStackNavigator } from '@react-navigation/native-stack'
-import LoginPage from '../pages/Login/LoginPage'
import EventPage from '../pages/Events/EventPage'
+import LoginBottomNavigation from './LoginBottomNavigation'
import BottomNavigation from './BottomNavigation'
import useAuthContext from '../hooks/useAuthContext'
@@ -16,13 +16,12 @@ const Stack = createNativeStackNavigator()
const stackRoutes = [
{
name: 'Login',
- component: LoginPage,
+ component: LoginBottomNavigation,
requireAuth: false,
options: {
- headerShown: false
+ headerShown: false,
}
},
-
{
name: 'SignIn',
component: BottomNavigation,
@@ -35,7 +34,7 @@ const stackRoutes = [
{
name: 'EventPage',
component: EventPage,
- requireAuth: true,
+ requireAuth: false,
options: {
headerShown: false,
}
@@ -44,7 +43,7 @@ const stackRoutes = [
{
name: 'CreoleBallsTournamentPage',
component: CreoleBallsTournamentPage,
- requireAuth: true,
+ requireAuth: false,
options: {
headerShown: false,
}
@@ -53,7 +52,7 @@ const stackRoutes = [
{
name: 'CreoleBallsListPage',
component: CreoleBallsListPage,
- requireAuth: true,
+ requireAuth: false,
options: {
headerShown: false,
}
diff --git a/src/pages/Login/LoginPage.js b/src/pages/Login/LoginPage.js
deleted file mode 100644
index fee329b..0000000
--- a/src/pages/Login/LoginPage.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from 'react'
-import { ScrollView, VStack } from 'native-base'
-
-import LoginForm from '../../components/LoginComponents/LoginForm'
-import Background from '../../components/Background'
-import colors from '../../styled-components/colors'
-
-const LoginPage = ({ navigation }) => {
-
- return (
-
-
-
-
-
-
-
- )
-
-}
-
-export default LoginPage
\ No newline at end of file
diff --git a/src/pages/Main/CalendarPage.js b/src/pages/Main/CalendarPage.js
index b3a7992..c8cd0ec 100644
--- a/src/pages/Main/CalendarPage.js
+++ b/src/pages/Main/CalendarPage.js
@@ -1,15 +1,202 @@
-import React from 'react'
-import { VStack } from 'native-base'
+import React, { useState, useCallback } from 'react'
+import { ActivityIndicator, RefreshControl, useWindowDimensions } from 'react-native'
+
+import { useFocusEffect } from '@react-navigation/native'
+
+import { VStack, FlatList, Stack } from 'native-base'
import Container from '../../components/Container'
+import EventItem from '../../components/CalendarComponents/EventItem'
+
+import NotFound from '../../components/NotFound'
+
+import useLoading from '../../hooks/useLoading'
+
+import { getEvents } from '../../services/events/EventsService'
+
+import colors from '../../styled-components/colors'
const CalendarPage = ({ navigation }) => {
+ const started = [
+ {
+ id: 1,
+ name: 'Yoga',
+ date: '2023-01-03',
+ type: 1
+ },
+ {
+ id: 2,
+ name: 'Torneo de bolas criollas',
+ date: '2023-01-14',
+ type: 1
+ },
+ {
+ id: 3,
+ name: 'Torneo de dominó',
+ date: '2023-01-25',
+ type: 1
+ },
+ {
+ id: 4,
+ name: 'Futbolito',
+ date: '2023-02-08',
+ type: 1
+ },
+ {
+ id: 5,
+ name: 'Esgrima',
+ date: '2023-02-10',
+ type: 1
+ },
+ {
+ id: 6,
+ name: 'Carreritas',
+ date: '2023-02-14',
+ type: 1
+ },
+ {
+ id: 7,
+ name: 'Torneo de Minecraft',
+ date: '2023-10-12',
+ type: 1
+ },
+ {
+ id: 8,
+ name: 'Torneo de Call of Duty',
+ date: '2023-12-12',
+ type: 1
+ },
+ ]
+
+
+ const wait = (timeOut) => {
+ return new Promise(resolve => setTimeout(resolve, timeOut))
+ }
+
+ const { isLoading, startLoading, stopLoading } = useLoading()
+
+ const [events, setEvents] = useState(started)
+ const [currentPage, setCurrentPage] = useState(1)
+ const [isNextPage, setIsNextPage] = useState(true)
+ const [refreshing, setRefreshing] = useState(false)
+
+ const layout = useWindowDimensions()
+
+ const onRefresh = useCallback(() => {
+ setIsNextPage(true)
+ setCurrentPage(1)
+ setRefreshing(true)
+ wait(2000).then(() => setRefreshing(false))
+ }, [])
+
+ const getData = () => {
+
+ if (isNextPage) {
+
+ startLoading()
+
+ getEvents(currentPage)
+ .then(res => {
+ const { data, status } = res
+
+ setEvents(status === 200 ? data?.data?.data : [])
+
+ console.log(data?.data?.data)
+
+ console.log(events)
+
+ setIsNextPage(data?.links?.next ? true : false)
+ console.log(`Events: ${events}`)
+ console.log(`Next page: ${isNextPage}`)
+ })
+ .catch(error => {
+ console.log(`Event error: ${error}`)
+ })
+ .finally(() => {
+ stopLoading()
+ })
+
+ }
+
+ }
+
+ useFocusEffect(
+ useCallback(() => {
+ getData()
+ }, [currentPage])
+ )
+
+ const renderItem = ({ item }) => {
+
+ return (
+
+
+
+ )
+ }
+
+ const renderLoader = () => {
+ return (
+ isLoading &&
+
+
+
+ )
+ }
+
+ const loadMoreItem = () => {
+ setCurrentPage(currentPage + 1)
+ }
+
return (
-
+ {!events || events?.length === 0 ? (
+
+ ) : events?.length > 0 || !isLoading ? (
+
+ }
+ showsVerticalScrollIndicator={false}
+ data={events}
+ minW={layout.width}
+ maxH={layout.height * .85}
+ keyExtractor={item => item?.id}
+ renderItem={renderItem}
+ ListFooterComponent={renderLoader}
+ onEndReached={loadMoreItem}
+ />
+ ) : (
+
+
+
+ )}
)
diff --git a/src/pages/Main/HomePage.js b/src/pages/Main/HomePage.js
index a3538b7..63b218a 100644
--- a/src/pages/Main/HomePage.js
+++ b/src/pages/Main/HomePage.js
@@ -77,8 +77,6 @@ const HomePage = ({ navigation }) => {
const renderItem = ({ item }) => {
-
-
return (
{
+ const started = [
+ {
+ id: 1,
+ name: '¡Nuevo evento! Torneo de Bolas Criollas E23.',
+ date: '2023-01-03',
+ type: 1,
+ read: true
+ },
+ {
+ id: 2,
+ name: 'Username comentó en el evento de Torneo de Bolas Criollas E23.',
+ date: '2023-01-14',
+ type: 1,
+ read: true
+ },
+ {
+ id: 3,
+ name: '¡Nuevo evento! Re-apertura de la cancha de futbolito.',
+ date: '2023-01-25',
+ type: 1,
+ read: false
+ },
+ {
+ id: 4,
+ name: 'Importante: Junta directiva para socios del club.',
+ date: '2023-02-08',
+ type: 1,
+ read: false
+ },
+ {
+ id: 5,
+ name: 'Username comentó en el evento de Re-apertura de la cancha de futbolito.',
+ date: '2023-02-14',
+ type: 1,
+ read: true
+ },
+ ]
+
+
+ const wait = (timeOut) => {
+ return new Promise(resolve => setTimeout(resolve, timeOut))
+ }
+
+ const { isLoading, startLoading, stopLoading } = useLoading()
+
+ const [events, setEvents] = useState(started)
+ const [currentPage, setCurrentPage] = useState(1)
+ const [isNextPage, setIsNextPage] = useState(true)
+ const [refreshing, setRefreshing] = useState(false)
+
+ const layout = useWindowDimensions()
+
+ const onRefresh = useCallback(() => {
+ setIsNextPage(true)
+ setCurrentPage(1)
+ setRefreshing(true)
+ wait(2000).then(() => setRefreshing(false))
+ }, [])
+
+ const getData = () => {
+
+ if (isNextPage) {
+
+ startLoading()
+
+ getEvents(currentPage)
+ .then(res => {
+ const { data, status } = res
+
+ setEvents(status === 200 ? data?.data?.data : [])
+
+ console.log(data?.data?.data)
+
+ console.log(events)
+
+ setIsNextPage(data?.links?.next ? true : false)
+ console.log(`Events: ${events}`)
+ console.log(`Next page: ${isNextPage}`)
+ })
+ .catch(error => {
+ console.log(`Event error: ${error}`)
+ })
+ .finally(() => {
+ stopLoading()
+ })
+
+ }
+
+ }
+
+ useFocusEffect(
+ useCallback(() => {
+ getData()
+ }, [currentPage])
+ )
+
+ const renderItem = ({ item }) => {
+
+ return (
+
+
+
+ )
+ }
+
+ const renderLoader = () => {
+ return (
+ isLoading &&
+
+
+
+ )
+ }
+
+ const loadMoreItem = () => {
+ setCurrentPage(currentPage + 1)
+ }
+
return (
-
+ {!events || events?.length === 0 ? (
+
+ ) : events?.length > 0 || !isLoading ? (
+
+ }
+ showsVerticalScrollIndicator={false}
+ data={events}
+ minW={layout.width}
+ maxH={layout.height * .85}
+ keyExtractor={item => item?.id}
+ renderItem={renderItem}
+ ListFooterComponent={renderLoader}
+ onEndReached={loadMoreItem}
+ />
+ ) : (
+
+
+
+ )}
)
diff --git a/src/pages/Main/UserPage.js b/src/pages/Main/UserPage.js
index ecf38ed..f065c69 100644
--- a/src/pages/Main/UserPage.js
+++ b/src/pages/Main/UserPage.js
@@ -1,16 +1,27 @@
import React from 'react'
-import { VStack } from 'native-base'
+import { ScrollView } from 'native-base'
import Container from '../../components/Container'
+import useAuthContext from '../../hooks/useAuthContext'
+import LoginForm from '../../components/LoginComponents/LoginForm'
+
const UserPage = ({ navigation }) => {
+ const {
+ state: { isAuthenticated },
+ } = useAuthContext()
+
return (
-
-
+
-
-
+ {!isAuthenticated &&
+
+ }
+
)
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 5cbf91a..4b940e2 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -52,6 +52,13 @@ const colors = {
},
divider: {
primary: '#48CBC5'
+ },
+ notification: {
+ backgroundColor: 'white',
+ active: 'rgba(72, 203, 197, 1)',
+ inactive: '#6B6D79',
+ textActive: 'black',
+ textInactive: '#6B6D79'
}
}
diff --git a/src/utilities/functions.js b/src/utilities/functions.js
index ddeb523..8c8ef07 100644
--- a/src/utilities/functions.js
+++ b/src/utilities/functions.js
@@ -43,7 +43,7 @@ const getHour = (date) => {
try {
let hourData = date.split('T')[1]
hourData = hourData.split(':')
-
+
let hour = Number(hourData[0])
let minute = Number(hourData[1])
@@ -59,6 +59,37 @@ const getHour = (date) => {
}
}
+const getDate = (date) => {
+
+ try {
+
+ const months = [
+ 'Enero', 'Febrero', 'Marzo',
+ 'Abril', 'Mayo', 'Junio',
+ 'Julio', 'Agosto', 'Septiembre',
+ 'Octubre', 'Noviembre', 'Diciembre'
+ ]
+
+ const days = [
+ 'Lunes', 'Martes', 'Miércoles', 'Jueves',
+ 'Viernes', 'Sábado', 'Domingo'
+ ]
+
+ const d = new Date(date)
+
+ return {
+ dayWeek: days[d.getDay()],
+ day: d.getDate() + 1,
+ month: months[d.getMonth()].toLowerCase(),
+ year: d.getFullYear()
+ }
+
+ } catch (error) {
+ console.log(`Error trying to get date: ${error}`)
+ return null
+ }
+}
+
module.exports = {
emailValidator,
passwordValidator,
@@ -66,4 +97,5 @@ module.exports = {
cutText,
formatDate,
getHour,
+ getDate,
}
\ No newline at end of file
From 9a7c328b77582a9e9221da7f255bc9ce1c3ac14c Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Sun, 22 Jan 2023 20:57:05 -0400
Subject: [PATCH 046/109] Update select roster page
---
.../CreoleBallsComponents/CreoleGameCard.js | 163 ++++++-----
.../CreoleBallsComponents/RosterTeam.js | 121 ++++++++
src/components/LoginComponents/LoginForm.js | 3 +-
src/hooks/useCustomToast.js | 6 +-
src/navigation/BottomNavigation.js | 1 +
src/navigation/LoginBottomNavigation.js | 3 +-
src/navigation/StackNavigation.js | 104 +++----
src/pages/CreoleBalls/CreoleBallsListPage.js | 41 ++-
.../CreoleBalls/CreoleBallsTournamentPage.js | 19 --
src/pages/CreoleBalls/PlayerRoster.js | 266 ++++++++++++++++++
src/pages/Main/HomePage.js | 65 ++++-
src/pages/Main/NotificationPage.js | 15 +-
src/pages/Main/PostPage.js | 211 +++++++++++++-
src/styled-components/colors.js | 14 +-
14 files changed, 861 insertions(+), 171 deletions(-)
create mode 100644 src/components/CreoleBallsComponents/RosterTeam.js
create mode 100644 src/pages/CreoleBalls/PlayerRoster.js
diff --git a/src/components/CreoleBallsComponents/CreoleGameCard.js b/src/components/CreoleBallsComponents/CreoleGameCard.js
index 3be64e6..59cc493 100644
--- a/src/components/CreoleBallsComponents/CreoleGameCard.js
+++ b/src/components/CreoleBallsComponents/CreoleGameCard.js
@@ -1,6 +1,6 @@
import React from 'react'
import { Box, HStack, Stack, VStack, Text, Divider } from 'native-base'
-import { useWindowDimensions } from 'react-native'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
import colors from '../../styled-components/colors'
const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
@@ -15,89 +15,102 @@ const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
shadow={1}
minH={130}
>
- {
+ navigation?.navigate('PlayerRoster', {
+ id: id,
+ title: title,
+ teamA: teamA,
+ teamB: teamB,
+ })
+ console.log(`Game ID: ${id} pressed...`)
+ }}
>
-
-
-
- Juego N°{id}
-
-
-
-
-
+
-
- 0
-
-
- {teamA}
-
-
-
-
+
+
+
-
- 0
-
-
+ 0
+
+
+ {teamA}
+
+
+
+
- {teamB}
-
-
-
-
-
-
-
+ 0
+
+
+ {teamB}
+
+
+
+
+
+
- El juego no ha finalizado...
-
-
-
+
+ El juego no ha finalizado...
+
+
+
+
)
}
diff --git a/src/components/CreoleBallsComponents/RosterTeam.js b/src/components/CreoleBallsComponents/RosterTeam.js
new file mode 100644
index 0000000..8a3e265
--- /dev/null
+++ b/src/components/CreoleBallsComponents/RosterTeam.js
@@ -0,0 +1,121 @@
+import React, { useState } from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+import { VStack, Text, Box, HStack, FlatList } from 'native-base'
+
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import colors from '../../styled-components/colors'
+
+const RosterTeam = ({ id = 0, teamID = 0, name = '', team = [], roster = [], setRoster, add, remove, r }) => {
+
+ const layout = useWindowDimensions()
+
+ const [checked, setChecked] = useState(false)
+
+ const renderItem = ({ item }) => {
+ return (
+ {
+ setChecked(!checked)
+
+ if (roster.some(member => member.name === item.name)) {
+ remove(item)
+ } else {
+ add(item)
+ }
+ }}
+ disabled={!roster.some(member => member.id === item.id) && roster.length >= 8}
+ >
+ member.id === item.id) && roster.length >= 8 ? 0.5 : 1}
+ >
+ member.id === item.id) ?
+ colors.creoleRoster.checkboxColor : !roster.some(member => member.id === item.id) && roster.length >= 8 ?
+ colors.creoleRoster.checkboxInactiveBorderColor :
+ colors.creoleRoster.checkboxBackgroundColor
+ }
+ borderWidth={2}
+ borderRadius={2}
+ borderColor={
+ roster.some(member => member.id === item.id) ?
+ colors.creoleRoster.checkboxColor :
+ colors.creoleRoster.checkboxInactiveBorderColor
+ }
+ alignItems='center'
+ >
+ {roster.some(member => member.id === item.id) &&
+
+ }
+
+ member.id === item.id) && roster.length >= 8}
+ color={roster.some(member => member.id === item.id) ?
+ colors.creoleRoster.checkboxColor :
+ colors.creoleRoster.textColor}
+ >
+ {item.name}
+
+
+
+ )
+ }
+
+ return (
+
+
+
+ Equipo {id}:
+
+
+ {name}
+
+
+
+
+ item?.id}
+ renderItem={renderItem}
+ />
+
+
+ )
+}
+
+export default RosterTeam
\ No newline at end of file
diff --git a/src/components/LoginComponents/LoginForm.js b/src/components/LoginComponents/LoginForm.js
index 515f0a7..072513c 100644
--- a/src/components/LoginComponents/LoginForm.js
+++ b/src/components/LoginComponents/LoginForm.js
@@ -40,7 +40,7 @@ import StyledLink from '../Link'
const LoginForm = ({ navigation }) => {
- const { showErrorToast } = useCustomToast()
+ const { showSuccessToast, showErrorToast } = useCustomToast()
const { isLoading, startLoading, stopLoading } = useLoading()
const { dispatch } = useAuthContext()
@@ -69,6 +69,7 @@ const LoginForm = ({ navigation }) => {
const token = '1253642'
if (token) {
+ showSuccessToast('¡Bienvenido!')
setSession(response.id, token)
dispatch({
type: 'LOGIN',
diff --git a/src/hooks/useCustomToast.js b/src/hooks/useCustomToast.js
index 484d125..b3b97b7 100644
--- a/src/hooks/useCustomToast.js
+++ b/src/hooks/useCustomToast.js
@@ -5,7 +5,7 @@ import colors from '../styled-components/colors'
const { width } = Dimensions.get('window')
-const Toast = ({ id, text = 'r', color = colors.primary, bgColor = colors.secundary}) => (
+const Toast = ({ id = 0, text = 'Hello World!', color = colors.primary, bgColor = colors.secundary}) => (
diff --git a/src/navigation/BottomNavigation.js b/src/navigation/BottomNavigation.js
index 3189f37..ecd60a0 100644
--- a/src/navigation/BottomNavigation.js
+++ b/src/navigation/BottomNavigation.js
@@ -81,6 +81,7 @@ const BottomNavigation = () => {
return (
{
return (
{
}}
>
{bottomRoutes
- .map(({ name, component, Icon }) => (
+ .map(({ name, component, Icon }) => (
{
const {
state: { isAuthenticated },
} = useAuthContext()
+ const stackRoutes = [
+ {
+ name: 'Login',
+ component: LoginBottomNavigation,
+ requireAuth: false,
+ options: {
+ headerShown: false,
+ }
+ },
+ {
+ name: 'SignIn',
+ component: BottomNavigation,
+ requireAuth: true,
+ options: {
+ headerShown: false,
+ }
+ },
+
+ {
+ name: 'EventPage',
+ component: EventPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+
+ {
+ name: 'CreoleBallsTournamentPage',
+ component: CreoleBallsTournamentPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+
+ {
+ name: 'CreoleBallsListPage',
+ component: CreoleBallsListPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+ {
+ name: 'PlayerRoster',
+ component: PlayerRoster,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+
+
+ ]
+
return (
{
justifyContent='space-between'
>
-
+
+ navigation?.goBack()}
+ >
+
+
+
+
+
{tournament.title}
-
+
{events?.length > 0 || !isLoading ? (
{
>
)}
@@ -157,14 +178,12 @@ const CreoleBallsListPage = ({ navigation, route }) => {
bgColor={colors.divider.primary}
borderRadius={50}
/>
- navigation?.goBack()}
+
- Regresar
-
+
+
diff --git a/src/pages/CreoleBalls/CreoleBallsTournamentPage.js b/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
index 49ce18b..48e1fe0 100644
--- a/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
+++ b/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
@@ -279,25 +279,6 @@ const CreoleBallsTournamentPage = ({ navigation, route }) => {
-
- {
- console.log(`Share button is pressed`)
- }}
- >
-
-
-
-
{
+ switch (action.type) {
+ case 'ADD_MEMBER':
+ return [...state, action.payload]
+ case 'REMOVE_MEMBER':
+ return action.payload
+ default: return state
+ }
+}
+
+const firstRosterReducer = (state, action) => {
+ switch (action.type) {
+ case 'ADD_MEMBER':
+ return [...state, action.payload]
+ case 'REMOVE_MEMBER':
+ return action.payload
+ default: return state
+ }
+}
+
+const secondRosterReducer = (state, action) => {
+ switch (action.type) {
+ case 'ADD_MEMBER':
+ return [...state, action.payload]
+ case 'REMOVE_MEMBER':
+ return action.payload
+ default: return state
+ }
+}
+
+const PlayerRoster = ({ navigation, route }) => {
+
+ const game = route?.params
+
+ const layout = useWindowDimensions()
+
+ const [firstRoster, firstDispatch] = useReducer(firstRosterReducer, [])
+ const [secondRoster, secondDispatch] = useReducer(secondRosterReducer, [])
+
+ const addFirstRoster = (player) => {
+ firstDispatch({
+ type: 'ADD_MEMBER',
+ payload: player
+ })
+ }
+
+ const removeFirstRoster = (player) => {
+ firstDispatch({
+ type: 'REMOVE_MEMBER',
+ payload: firstRoster.filter(member => member.id !== player.id)
+ })
+ }
+
+ const addSecondRoster = (player) => {
+ secondDispatch({
+ type: 'ADD_MEMBER',
+ payload: player
+ })
+ }
+
+ const removeSecondRoster = (player) => {
+ secondDispatch({
+ type: 'REMOVE_MEMBER',
+ payload: secondRoster.filter(member => member.id !== player.id)
+ })
+ }
+
+ const [firstTeam, setFirstTeam] = useState([
+ {
+ id: 1,
+ name: 'Alberto Alvarez'
+ },
+ {
+ id: 2,
+ name: 'Gonzalo Gonzalaz'
+ },
+ {
+ id: 3,
+ name: 'Pedro Pérez'
+ },
+ {
+ id: 4,
+ name: 'Ricardo Rodríguez'
+ },
+ {
+ id: 5,
+ name: 'William Pérez'
+ },
+ {
+ id: 6,
+ name: 'Luis Lares'
+ },
+ {
+ id: 7,
+ name: 'Andrés Corrales'
+ },
+ {
+ id: 8,
+ name: 'Félix Rivas'
+ }
+ ])
+ const [secondTeam, setSecondTeam] = useState([
+ {
+ id: 1,
+ name: 'Cristiano Ronaldo'
+ },
+ {
+ id: 2,
+ name: 'Lionel Messi'
+ },
+ {
+ id: 3,
+ name: 'Salomón Rondón'
+ },
+ {
+ id: 4,
+ name: 'Kun Agüero'
+ },
+ {
+ id: 5,
+ name: 'Iker Casillas'
+ },
+ {
+ id: 6,
+ name: 'Manuel Neuer'
+ },
+ {
+ id: 7,
+ name: 'Tony Kross'
+ },
+ {
+ id: 8,
+ name: 'Luis Suárez'
+ },
+ {
+ id: 9,
+ name: 'David Beckham'
+ },
+ {
+ id: 10,
+ name: 'Adrián Anzola'
+ },
+ ])
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+
+
+
+ {game.title}
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ console.log('Is pressed')
+ }}
+ >
+
+ Iniciar juego
+
+
+
+
+
+
+ )
+}
+
+export default PlayerRoster
\ No newline at end of file
diff --git a/src/pages/Main/HomePage.js b/src/pages/Main/HomePage.js
index 63b218a..36ce14b 100644
--- a/src/pages/Main/HomePage.js
+++ b/src/pages/Main/HomePage.js
@@ -15,6 +15,7 @@ import NotFound from '../../components/NotFound'
import { getEvents } from '../../services/events/EventsService'
import { formatDate, getHour } from '../../utilities/functions'
+import useCustomToast from '../../hooks/useCustomToast'
const HomePage = ({ navigation }) => {
@@ -31,6 +32,67 @@ const HomePage = ({ navigation }) => {
const layout = useWindowDimensions()
+ const { showErrorToast } = useCustomToast()
+
+ const data = [
+ {
+ id: 0,
+ nombre: 'Torneo de voleibol',
+ descripcion: 'Sábado 26 de noviembre',
+ tipo: 'N',
+ creado: '2023-01-22T03:24:00',
+ instalacion: {
+ nombre: 'Área de deportes',
+ },
+ area: {
+ nombre: 'Sector D',
+ },
+ image: 'https://imagenes.elpais.com/resizer/L-x86NTaSVVBr9YZnnn1driudPw=/980x0/cloudfront-eu-central-1.images.arcpublishing.com/prisa/CNK6AU3UNFB2REUA4VXS233FKE.jpg'
+ },
+ {
+ id: 1,
+ nombre: 'Juegos interclub',
+ descripcion: 'del 01 al 07 de diciembre',
+ tipo: 'N',
+ creado: '2023-02-14T03:24:00',
+ instalacion: {
+ nombre: 'Área de deportes',
+ },
+ area: {
+ nombre: 'Sector B',
+ },
+ image: 'https://warwick.ac.uk/services/sport/find-your-active.jpg'
+ },
+ {
+ id: 2,
+ nombre: 'Torneo de bolas criollas',
+ descripcion: 'Viernes 09 de diciembre',
+ tipo: 'D',
+ creado: '2023-05-22T16:34:00',
+ instalacion: {
+ nombre: 'Área de deportes',
+ },
+ area: {
+ nombre: 'Sector C',
+ },
+ image: 'https://http2.mlstatic.com/D_NQ_NP_655547-MLV25593228224_052017-O.webp'
+ },
+ {
+ id: 3,
+ nombre: 'Torneo de dominó',
+ descripcion: 'Martes 12 de diciembre',
+ tipo: 'D',
+ creado: '2023-12-12T16:34:00',
+ instalacion: {
+ nombre: 'Área de caneys',
+ },
+ area: {
+ nombre: 'Sector A',
+ },
+ image: 'https://patasdegallo.com/wp-content/uploads/2016/12/capacidad-mental.jpg'
+ },
+ ]
+
const onRefresh = useCallback(() => {
setIsNextPage(true)
setCurrentPage(1)
@@ -60,6 +122,7 @@ const HomePage = ({ navigation }) => {
})
.catch(error => {
console.log(`Event error: ${error}`)
+ setEvents(data)
})
.finally(() => {
stopLoading()
@@ -91,7 +154,7 @@ const HomePage = ({ navigation }) => {
description={item?.descripcion || ""}
location={item?.instalacion?.nombre || ""}
area={item?.area?.nombre || ""}
- image={`https://medinajosedev.com/storage/${item?.imagen_principal}` || ""}
+ image={item?.image /*`https://medinajosedev.com/storage/${item?.imagen_principal}` || ""*/}
navigation={navigation}
/>
diff --git a/src/pages/Main/NotificationPage.js b/src/pages/Main/NotificationPage.js
index a4eb4fc..43dff2b 100644
--- a/src/pages/Main/NotificationPage.js
+++ b/src/pages/Main/NotificationPage.js
@@ -63,7 +63,7 @@ const NotificationPage = ({ navigation }) => {
const { isLoading, startLoading, stopLoading } = useLoading()
- const [events, setEvents] = useState(started)
+ const [notification, setEvents] = useState(started)
const [currentPage, setCurrentPage] = useState(1)
const [isNextPage, setIsNextPage] = useState(true)
const [refreshing, setRefreshing] = useState(false)
@@ -82,7 +82,7 @@ const NotificationPage = ({ navigation }) => {
if (isNextPage) {
startLoading()
-
+/*
getEvents(currentPage)
.then(res => {
const { data, status } = res
@@ -91,10 +91,10 @@ const NotificationPage = ({ navigation }) => {
console.log(data?.data?.data)
- console.log(events)
+ console.log(notification)
setIsNextPage(data?.links?.next ? true : false)
- console.log(`Events: ${events}`)
+ console.log(`Events: ${notification}`)
console.log(`Next page: ${isNextPage}`)
})
.catch(error => {
@@ -103,6 +103,7 @@ const NotificationPage = ({ navigation }) => {
.finally(() => {
stopLoading()
})
+ */
}
@@ -154,11 +155,11 @@ const NotificationPage = ({ navigation }) => {
py={2}
alignItems='center'
>
- {!events || events?.length === 0 ? (
+ {!notification || notification?.length === 0 ? (
- ) : events?.length > 0 || !isLoading ? (
+ ) : notification?.length > 0 || !isLoading ? (
{
/>
}
showsVerticalScrollIndicator={false}
- data={events}
+ data={notification}
minW={layout.width}
maxH={layout.height * .85}
keyExtractor={item => item?.id}
diff --git a/src/pages/Main/PostPage.js b/src/pages/Main/PostPage.js
index 42190f6..70d222a 100644
--- a/src/pages/Main/PostPage.js
+++ b/src/pages/Main/PostPage.js
@@ -1,15 +1,218 @@
-import React from 'react'
-import { VStack } from 'native-base'
+import React, { useCallback, useState } from 'react'
+import { ActivityIndicator, useWindowDimensions, RefreshControl } from 'react-native'
+
+import { useFocusEffect } from '@react-navigation/native'
+import { FlatList, Stack, Text, VStack } from 'native-base'
+
import Container from '../../components/Container'
+import InfoCard from '../../components/HomeComponents/InfoCard'
+import useLoading from '../../hooks/useLoading'
+
+
+import colors from '../../styled-components/colors'
+
+import NotFound from '../../components/NotFound'
+
+import { getEvents } from '../../services/events/EventsService'
+
+import { formatDate, getHour } from '../../utilities/functions'
+import useCustomToast from '../../hooks/useCustomToast'
const PostPage = ({ navigation }) => {
+ const wait = (timeOut) => {
+ return new Promise(resolve => setTimeout(resolve, timeOut))
+ }
+
+ const { isLoading, startLoading, stopLoading } = useLoading()
+
+ const [events, setEvents] = useState(null)
+ const [currentPage, setCurrentPage] = useState(1)
+ const [isNextPage, setIsNextPage] = useState(true)
+ const [refreshing, setRefreshing] = useState(false)
+
+ const layout = useWindowDimensions()
+
+ const { showErrorToast } = useCustomToast()
+
+ const data = [
+ {
+ id: 0,
+ nombre: 'Torneo de dominó',
+ descripcion: 'Sábado 26 de noviembre',
+ tipo: 'D',
+ creado: '2023-01-22T03:24:00',
+ instalacion: {
+ nombre: 'Área de deportes',
+ },
+ area: {
+ nombre: 'Sector D',
+ },
+ image: 'https://patasdegallo.com/wp-content/uploads/2016/12/capacidad-mental.jpg'
+ },
+ {
+ id: 1,
+ nombre: 'Juegos de bolas criollas',
+ descripcion: 'del 01 al 07 de diciembre',
+ tipo: 'D',
+ creado: '2023-02-14T03:24:00',
+ instalacion: {
+ nombre: 'Área de deportes',
+ },
+ area: {
+ nombre: 'Sector B',
+ },
+ image: 'https://http2.mlstatic.com/D_NQ_NP_655547-MLV25593228224_052017-O.webp'
+ },
+ {
+ id: 2,
+ nombre: 'Torneo de bolas criollas en playa asiática',
+ descripcion: 'Viernes 09 de diciembre',
+ tipo: 'D',
+ creado: '2023-05-22T16:34:00',
+ instalacion: {
+ nombre: 'Área de deportes',
+ },
+ area: {
+ nombre: 'Sector C',
+ },
+ image: 'https://http2.mlstatic.com/D_NQ_NP_655547-MLV25593228224_052017-O.webp'
+ },
+ {
+ id: 3,
+ nombre: 'Torneo de dominó',
+ descripcion: 'Martes 12 de diciembre',
+ tipo: 'D',
+ creado: '2023-12-12T16:34:00',
+ instalacion: {
+ nombre: 'Área de caneys',
+ },
+ area: {
+ nombre: 'Sector A',
+ },
+ image: 'https://patasdegallo.com/wp-content/uploads/2016/12/capacidad-mental.jpg'
+ },
+ ]
+
+ const onRefresh = useCallback(() => {
+ setIsNextPage(true)
+ setCurrentPage(1)
+ setRefreshing(true)
+ wait(2000).then(() => setRefreshing(false))
+ }, [])
+
+ const getData = () => {
+
+ if (isNextPage) {
+
+ startLoading()
+
+ getEvents(currentPage)
+ .then(res => {
+ const { data, status } = res
+
+ setEvents(status === 200 ? data?.data?.data : [])
+
+ console.log(data?.data?.data)
+
+ console.log(events)
+
+ setIsNextPage(data?.links?.next ? true : false)
+ console.log(`Events: ${events}`)
+ console.log(`Next page: ${isNextPage}`)
+ })
+ .catch(error => {
+ console.log(`Event error: ${error}`)
+ setEvents(data)
+ })
+ .finally(() => {
+ stopLoading()
+ })
+
+ }
+
+ }
+
+ useFocusEffect(
+ useCallback(() => {
+ getData()
+ }, [currentPage])
+ )
+
+ const renderItem = ({ item }) => {
+
+ return (
+
+
+
+ )
+ }
+
+ const renderLoader = () => {
+ return (
+ isLoading &&
+
+
+
+ )
+ }
+
+ const loadMoreItem = () => {
+ setCurrentPage(currentPage + 1)
+ }
+
return (
-
+ {!events || events?.length === 0 ? (
+
+ ) : events?.length > 0 || !isLoading ? (
+
+ }
+ showsVerticalScrollIndicator={false}
+ data={events}
+ maxH={layout.height * .80}
+ keyExtractor={item => item?.id}
+ renderItem={renderItem}
+ ListFooterComponent={renderLoader}
+ onEndReached={loadMoreItem}
+ />
+ ) : (
+
+
+
+ )}
)
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 4b940e2..d76d543 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -7,6 +7,7 @@ const colors = {
white: '#ffffff',
gray: '#6B6D79',
gray1: '#ecf0f3',
+ gray2: '#d4d4d8',
error: {
primary: '#d95f5f',
secondary: '#f52556',
@@ -54,11 +55,20 @@ const colors = {
primary: '#48CBC5'
},
notification: {
- backgroundColor: 'white',
+ backgroundColor: '#FFFFFF',
active: 'rgba(72, 203, 197, 1)',
inactive: '#6B6D79',
- textActive: 'black',
+ textActive: '#000000',
textInactive: '#6B6D79'
+ },
+ creoleRoster: {
+ backgroundColor: '#ECF0F3',
+ checkboxColor: '#48CBC5',
+ checkboxBackgroundColor: '#FFFFFF',
+ checkboxInactiveBorderColor: '#6B6D79',
+ textColor: '#6B6D79',
+ titleTextColor: '#48CBC5',
+ teamTextColor: '#6B6D79'
}
}
From 84cf25ba2db3e4f085ee0a80c7f40de84cad4209 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Mon, 23 Jan 2023 21:04:33 -0400
Subject: [PATCH 047/109] Update
---
src/components/HomeComponents/InfoCard.js | 16 +-
src/navigation/StackNavigation.js | 9 +
.../CreoleBalls/CreoleBallsTournamentPage.js | 3 +-
src/pages/CreoleBalls/PlayerRoster.js | 14 +-
src/pages/CreoleBalls/StartedGamePage.js | 355 ++++++++++++++++++
src/pages/Events/EventPage.js | 21 +-
src/pages/Main/CalendarPage.js | 4 +-
src/pages/Main/HomePage.js | 9 +-
src/pages/Main/PostPage.js | 10 +-
src/styled-components/colors.js | 11 +-
src/utilities/functions.js | 6 +-
11 files changed, 419 insertions(+), 39 deletions(-)
create mode 100644 src/pages/CreoleBalls/StartedGamePage.js
diff --git a/src/components/HomeComponents/InfoCard.js b/src/components/HomeComponents/InfoCard.js
index 88fb556..a93e6b6 100644
--- a/src/components/HomeComponents/InfoCard.js
+++ b/src/components/HomeComponents/InfoCard.js
@@ -9,7 +9,7 @@ import colors from '../../styled-components/colors'
import styles from './styled-components/styles'
-const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour = '', location = '', area = '', description = '', image = '' }) => {
+const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour = '', location = '', area = '', description = '', image = '', tournament = null }) => {
return (
{
+ if (type === 'B')
+ navigation?.navigate('CreoleBallsTournamentPage', {
+ id: id,
+ type: type,
+ title: title,
+ date: date,
+ hour: hour,
+ location: location,
+ area: area,
+ description: description,
+ image: image,
+ tournament: tournament
+ })
if (type === 'D')
navigation?.navigate('CreoleBallsTournamentPage', {
id: id,
@@ -33,6 +46,7 @@ const InfoCard = ({ navigation, id = 0, type = 3, title = '', date = '', hour =
area: area,
description: description,
image: image,
+ tournament: tournament
})
if (type === 'N')
navigation?.navigate('EventPage', {
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index 57f7983..f33a3af 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -11,6 +11,7 @@ import styles from './styled-components/styles'
import CreoleBallsTournamentPage from '../pages/CreoleBalls/CreoleBallsTournamentPage'
import CreoleBallsListPage from '../pages/CreoleBalls/CreoleBallsListPage'
import PlayerRoster from '../pages/CreoleBalls/PlayerRoster'
+import StartedGamePage from '../pages/CreoleBalls/StartedGamePage'
const Stack = createNativeStackNavigator()
@@ -72,6 +73,14 @@ const StackNavigation = () => {
headerShown: false,
}
},
+ {
+ name: 'StartedGamePage',
+ component: StartedGamePage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
]
diff --git a/src/pages/CreoleBalls/CreoleBallsTournamentPage.js b/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
index 48e1fe0..668d341 100644
--- a/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
+++ b/src/pages/CreoleBalls/CreoleBallsTournamentPage.js
@@ -286,6 +286,7 @@ const CreoleBallsTournamentPage = ({ navigation, route }) => {
openDelay={200}
>
{
console.log(`Game list button is pressed`)
navigation?.navigate('CreoleBallsListPage', {
@@ -303,7 +304,7 @@ const CreoleBallsTournamentPage = ({ navigation, route }) => {
>
diff --git a/src/pages/CreoleBalls/PlayerRoster.js b/src/pages/CreoleBalls/PlayerRoster.js
index 50446fb..bd521ab 100644
--- a/src/pages/CreoleBalls/PlayerRoster.js
+++ b/src/pages/CreoleBalls/PlayerRoster.js
@@ -74,6 +74,8 @@ const PlayerRoster = ({ navigation, route }) => {
})
}
+ const [teamA, setTeamA] = useState('Apucla')
+
const [firstTeam, setFirstTeam] = useState([
{
id: 1,
@@ -108,6 +110,8 @@ const PlayerRoster = ({ navigation, route }) => {
name: 'Félix Rivas'
}
])
+
+ const [teamB, setTeamB] = useState('DCyTeam')
const [secondTeam, setSecondTeam] = useState([
{
id: 1,
@@ -198,7 +202,7 @@ const PlayerRoster = ({ navigation, route }) => {
{
{
disabled={firstRoster.length !== 8 || secondRoster.length !== 8}
onPress={() => {
console.log('Is pressed')
+ navigation?.navigate('StartedGamePage', {
+ teamA: teamA,
+ teamB: teamB,
+ rosterA: firstRoster,
+ rosterB: secondRoster
+ })
}}
>
{
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ const [coinPressed, setCoinPressed] = useState(false)
+ const [shoot, setShoot] = useState(false)
+ const [coinTeam, setCoinTeam] = useState(false)
+
+ const coinThrow = () => {
+
+ const throws = Math.round(Math.random() * 6)
+ setShoot(true)
+ setCoinPressed(true)
+
+ const coinShoot = setInterval(() =>
+ setCoinTeam(Math.random() < .5 ? true : false)
+ , throws * 100)
+
+ setTimeout(() => {
+ clearInterval(coinShoot)
+ setCoinPressed(false)
+ }, throws * 500)
+
+ }
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+ Volver
+
+
+
+
+
+ 30:00
+
+
+
+
+
+
+
+
+
+ }
+ space={2}
+ >
+
+
+ {`${game?.teamA.slice(0, 3).toUpperCase()}`}
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+ {`${game?.teamB.slice(0, 3).toUpperCase()}`}
+
+
+
+
+
+
+
+ ¿Quién comienza el juego?
+
+
+
+
+
+ {
+ setShoot(true)
+ setCoinTeam(true)
+ }}
+ disabled={coinPressed}
+ >
+
+
+
+
+
+ {game.teamA}
+
+
+
+
+ {
+ setShoot(true)
+ setCoinTeam(false)
+ }}
+ disabled={coinPressed}
+ >
+
+
+
+
+
+ {game.teamB}
+
+
+
+
+
+
+ {
+ console.log('Select team')
+ }}
+ disabled={coinPressed}
+ >
+
+ Comenzar con selección
+
+
+
+
+ o
+
+ coinThrow()}
+ disabled={coinPressed}
+ >
+
+ Lanzar la moneda
+
+
+
+
+
+
+
+
+ {shoot &&
+
+ {coinTeam ? game.teamA : game.teamB}
+
+ }
+
+
+
+
+
+ )
+}
+
+export default StartedGamePage
\ No newline at end of file
diff --git a/src/pages/Events/EventPage.js b/src/pages/Events/EventPage.js
index a8a695e..15f094c 100644
--- a/src/pages/Events/EventPage.js
+++ b/src/pages/Events/EventPage.js
@@ -200,28 +200,9 @@ const EventPage = ({ navigation, route }) => {
w={layout.width}
h={12}
px={10}
- justifyContent='space-between'
+ justifyContent='flex-end'
alignItems='center'
>
-
- {
- console.log(`Share button is pressed`)
- }}
- >
-
-
-
-
{
if (isNextPage) {
startLoading()
-
+/*
getEvents(currentPage)
.then(res => {
const { data, status } = res
@@ -115,7 +115,7 @@ const CalendarPage = ({ navigation }) => {
.finally(() => {
stopLoading()
})
-
+*/
}
}
diff --git a/src/pages/Main/HomePage.js b/src/pages/Main/HomePage.js
index 36ce14b..761505f 100644
--- a/src/pages/Main/HomePage.js
+++ b/src/pages/Main/HomePage.js
@@ -14,7 +14,7 @@ import NotFound from '../../components/NotFound'
import { getEvents } from '../../services/events/EventsService'
-import { formatDate, getHour } from '../../utilities/functions'
+import { formatDate, getHour, getDate } from '../../utilities/functions'
import useCustomToast from '../../hooks/useCustomToast'
const HomePage = ({ navigation }) => {
@@ -140,6 +140,8 @@ const HomePage = ({ navigation }) => {
const renderItem = ({ item }) => {
+ const { dayWeek, day, month, year } = getDate(item?.creado)
+
return (
{
id={item?.id}
type={item?.tipo || ""}
title={item?.nombre || ""}
- date={formatDate(item?.creado) || ""}
+ date={`${dayWeek}, ${day} de ${month} de ${year}` || ""}
hour={getHour(item?.creado) || ""}
description={item?.descripcion || ""}
location={item?.instalacion?.nombre || ""}
area={item?.area?.nombre || ""}
- image={item?.image /*`https://medinajosedev.com/storage/${item?.imagen_principal}` || ""*/}
+ image={`https://medinajosedev.com/storage/${item?.imagen_principal}` || ""}
+ tournament={item?.torneo}
navigation={navigation}
/>
diff --git a/src/pages/Main/PostPage.js b/src/pages/Main/PostPage.js
index 70d222a..bf9a1d6 100644
--- a/src/pages/Main/PostPage.js
+++ b/src/pages/Main/PostPage.js
@@ -111,14 +111,12 @@ const PostPage = ({ navigation }) => {
.then(res => {
const { data, status } = res
- setEvents(status === 200 ? data?.data?.data : [])
+ const games = data?.data?.data.filter(game => game?.tipo === 'D' || game?.tipo === 'B')
- console.log(data?.data?.data)
-
- console.log(events)
+ setEvents(status === 200 ? games : [])
setIsNextPage(data?.links?.next ? true : false)
- console.log(`Events: ${events}`)
+ console.log(`Events: ${games}`)
console.log(`Next page: ${isNextPage}`)
})
.catch(error => {
@@ -155,7 +153,7 @@ const PostPage = ({ navigation }) => {
description={item?.descripcion || ""}
location={item?.instalacion?.nombre || ""}
area={item?.area?.nombre || ""}
- image={item?.image /*`https://medinajosedev.com/storage/${item?.imagen_principal}` || ""*/}
+ image={`https://medinajosedev.com/storage/${item?.imagen_principal}` || ""}
navigation={navigation}
/>
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index d76d543..5c30cdb 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -68,7 +68,16 @@ const colors = {
checkboxInactiveBorderColor: '#6B6D79',
textColor: '#6B6D79',
titleTextColor: '#48CBC5',
- teamTextColor: '#6B6D79'
+ teamTextColor: '#6B6D79',
+ },
+ creoleStartGame: {
+ timeColor: '#016F6C',
+ teamAColor: '#FF9A9A',
+ teamBColor: '#8AC28C',
+ scoreColor: '#6D6E70',
+ text: '#1F202A',
+ teamSelectedTextColor: '#48CBC5',
+ backgroundIconColor: '#ECF0F3'
}
}
diff --git a/src/utilities/functions.js b/src/utilities/functions.js
index 8c8ef07..68a69a2 100644
--- a/src/utilities/functions.js
+++ b/src/utilities/functions.js
@@ -71,15 +71,15 @@ const getDate = (date) => {
]
const days = [
- 'Lunes', 'Martes', 'Miércoles', 'Jueves',
- 'Viernes', 'Sábado', 'Domingo'
+ 'Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves',
+ 'Viernes', 'Sábado'
]
const d = new Date(date)
return {
dayWeek: days[d.getDay()],
- day: d.getDate() + 1,
+ day: d.getDate(),
month: months[d.getMonth()].toLowerCase(),
year: d.getFullYear()
}
From fef6ecf2309ff6638f4d3ac85009d47f7a82c288 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 24 Jan 2023 19:32:43 +0000
Subject: [PATCH 048/109] Update all of typescript-eslint to version 5.49.0
---
package.json | 4 +--
yarn.lock | 98 ++++++++++++++++++++++++++--------------------------
2 files changed, 51 insertions(+), 51 deletions(-)
diff --git a/package.json b/package.json
index 2bc47f1..fafc17c 100644
--- a/package.json
+++ b/package.json
@@ -53,8 +53,8 @@
"@types/react": "^18.0.27",
"@types/react-native": "^0.70.8",
"@types/react-test-renderer": "^18.0.0",
- "@typescript-eslint/eslint-plugin": "^5.48.2",
- "@typescript-eslint/parser": "^5.48.2",
+ "@typescript-eslint/eslint-plugin": "^5.49.0",
+ "@typescript-eslint/parser": "^5.49.0",
"babel-jest": "^26.6.3",
"eslint": "^7.32.0",
"jest": "^26.6.3",
diff --git a/yarn.lock b/yarn.lock
index 385f599..af1ffcd 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2742,14 +2742,14 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/eslint-plugin@^5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3"
- integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==
- dependencies:
- "@typescript-eslint/scope-manager" "5.48.2"
- "@typescript-eslint/type-utils" "5.48.2"
- "@typescript-eslint/utils" "5.48.2"
+"@typescript-eslint/eslint-plugin@^5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz#d0b4556f0792194bf0c2fb297897efa321492389"
+ integrity sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.49.0"
+ "@typescript-eslint/type-utils" "5.49.0"
+ "@typescript-eslint/utils" "5.49.0"
debug "^4.3.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
@@ -2779,31 +2779,31 @@
"@typescript-eslint/typescript-estree" "3.10.1"
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/parser@^5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3"
- integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==
+"@typescript-eslint/parser@^5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.49.0.tgz#d699734b2f20e16351e117417d34a2bc9d7c4b90"
+ integrity sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==
dependencies:
- "@typescript-eslint/scope-manager" "5.48.2"
- "@typescript-eslint/types" "5.48.2"
- "@typescript-eslint/typescript-estree" "5.48.2"
+ "@typescript-eslint/scope-manager" "5.49.0"
+ "@typescript-eslint/types" "5.49.0"
+ "@typescript-eslint/typescript-estree" "5.49.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc"
- integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==
+"@typescript-eslint/scope-manager@5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz#81b5d899cdae446c26ddf18bd47a2f5484a8af3e"
+ integrity sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==
dependencies:
- "@typescript-eslint/types" "5.48.2"
- "@typescript-eslint/visitor-keys" "5.48.2"
+ "@typescript-eslint/types" "5.49.0"
+ "@typescript-eslint/visitor-keys" "5.49.0"
-"@typescript-eslint/type-utils@5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz#7d3aeca9fa37a7ab7e3d9056a99b42f342c48ad7"
- integrity sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==
+"@typescript-eslint/type-utils@5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz#8d5dcc8d422881e2ccf4ebdc6b1d4cc61aa64125"
+ integrity sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==
dependencies:
- "@typescript-eslint/typescript-estree" "5.48.2"
- "@typescript-eslint/utils" "5.48.2"
+ "@typescript-eslint/typescript-estree" "5.49.0"
+ "@typescript-eslint/utils" "5.49.0"
debug "^4.3.4"
tsutils "^3.21.0"
@@ -2812,10 +2812,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727"
integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==
-"@typescript-eslint/types@5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e"
- integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==
+"@typescript-eslint/types@5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.49.0.tgz#ad66766cb36ca1c89fcb6ac8b87ec2e6dac435c3"
+ integrity sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==
"@typescript-eslint/typescript-estree@3.10.1":
version "3.10.1"
@@ -2831,29 +2831,29 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/typescript-estree@5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0"
- integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==
+"@typescript-eslint/typescript-estree@5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz#ebd6294c0ea97891fce6af536048181e23d729c8"
+ integrity sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==
dependencies:
- "@typescript-eslint/types" "5.48.2"
- "@typescript-eslint/visitor-keys" "5.48.2"
+ "@typescript-eslint/types" "5.49.0"
+ "@typescript-eslint/visitor-keys" "5.49.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3"
- integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==
+"@typescript-eslint/utils@5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.49.0.tgz#1c07923bc55ff7834dfcde487fff8d8624a87b32"
+ integrity sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.48.2"
- "@typescript-eslint/types" "5.48.2"
- "@typescript-eslint/typescript-estree" "5.48.2"
+ "@typescript-eslint/scope-manager" "5.49.0"
+ "@typescript-eslint/types" "5.49.0"
+ "@typescript-eslint/typescript-estree" "5.49.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
@@ -2865,12 +2865,12 @@
dependencies:
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/visitor-keys@5.48.2":
- version "5.48.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060"
- integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==
+"@typescript-eslint/visitor-keys@5.49.0":
+ version "5.49.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz#2561c4da3f235f5c852759bf6c5faec7524f90fe"
+ integrity sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==
dependencies:
- "@typescript-eslint/types" "5.48.2"
+ "@typescript-eslint/types" "5.49.0"
eslint-visitor-keys "^3.3.0"
abab@^2.0.3, abab@^2.0.5:
From d6a9a9f62f703ac71852351ec88edcb016d2e722 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Tue, 24 Jan 2023 16:41:37 -0400
Subject: [PATCH 049/109] Update
---
.../CreoleBallsComponents/CreoleGameCard.js | 21 +-
src/navigation/StackNavigation.js | 31 +-
src/pages/CreoleBalls/ColorTeamPage.js | 310 ++++++++++++++++
src/pages/CreoleBalls/CreoleBallsListPage.js | 24 +-
src/pages/CreoleBalls/PlayTeamAPage.js | 351 ++++++++++++++++++
src/pages/CreoleBalls/PlayTeamBPage.js | 351 ++++++++++++++++++
src/pages/CreoleBalls/PlayerRoster.js | 4 +-
src/pages/CreoleBalls/StartedGamePage.js | 33 +-
src/styled-components/colors.js | 1 +
9 files changed, 1097 insertions(+), 29 deletions(-)
create mode 100644 src/pages/CreoleBalls/ColorTeamPage.js
create mode 100644 src/pages/CreoleBalls/PlayTeamAPage.js
create mode 100644 src/pages/CreoleBalls/PlayTeamBPage.js
diff --git a/src/components/CreoleBallsComponents/CreoleGameCard.js b/src/components/CreoleBallsComponents/CreoleGameCard.js
index 59cc493..dc18725 100644
--- a/src/components/CreoleBallsComponents/CreoleGameCard.js
+++ b/src/components/CreoleBallsComponents/CreoleGameCard.js
@@ -2,6 +2,7 @@ import React from 'react'
import { Box, HStack, Stack, VStack, Text, Divider } from 'native-base'
import { TouchableOpacity, useWindowDimensions } from 'react-native'
import colors from '../../styled-components/colors'
+import { cutText } from '../../utilities/functions'
const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
@@ -23,7 +24,7 @@ const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
title: title,
teamA: teamA,
teamB: teamB,
- })
+ })
console.log(`Game ID: ${id} pressed...`)
}}
>
@@ -38,7 +39,7 @@ const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
alignItems='center'
>
+ w={layout.width * .35} >
{
0
@@ -68,8 +74,9 @@ const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
color={colors.text.primary}
fontSize='md'
fontWeight='thin'
+ textAlign='center'
>
- {teamA}
+ {cutText(teamA, 10)}
{
/>
0
@@ -90,9 +100,10 @@ const CreoleGameCard = ({ navigation, id, title, teamA, teamB }) => {
- {teamB}
+ {cutText(teamB, 10)}
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index f33a3af..206de3c 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -1,17 +1,20 @@
import { createNativeStackNavigator } from '@react-navigation/native-stack'
-import EventPage from '../pages/Events/EventPage'
-
import LoginBottomNavigation from './LoginBottomNavigation'
import BottomNavigation from './BottomNavigation'
+import EventPage from '../pages/Events/EventPage'
import useAuthContext from '../hooks/useAuthContext'
import styles from './styled-components/styles'
+
import CreoleBallsTournamentPage from '../pages/CreoleBalls/CreoleBallsTournamentPage'
import CreoleBallsListPage from '../pages/CreoleBalls/CreoleBallsListPage'
import PlayerRoster from '../pages/CreoleBalls/PlayerRoster'
import StartedGamePage from '../pages/CreoleBalls/StartedGamePage'
+import ColorTeamPage from '../pages/CreoleBalls/ColorTeamPage'
+import PlayTeamAPage from '../pages/CreoleBalls/PlayTeamAPage'
+import PlayTeamBPage from '../pages/CreoleBalls/PlayTeamBPage'
const Stack = createNativeStackNavigator()
@@ -81,6 +84,30 @@ const StackNavigation = () => {
headerShown: false,
}
},
+ {
+ name: 'ColorTeamPage',
+ component: ColorTeamPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+ {
+ name: 'PlayTeamAPage',
+ component: PlayTeamAPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+ {
+ name: 'PlayTeamBPage',
+ component: PlayTeamBPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
]
diff --git a/src/pages/CreoleBalls/ColorTeamPage.js b/src/pages/CreoleBalls/ColorTeamPage.js
new file mode 100644
index 0000000..f297396
--- /dev/null
+++ b/src/pages/CreoleBalls/ColorTeamPage.js
@@ -0,0 +1,310 @@
+import React, { useState } from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { VStack, HStack, Stack, Text, Divider, Box, Button } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+import colors from '../../styled-components/colors'
+
+const ColorTeamPage = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ const [isColorSelected, setIsColorSelected] = useState(false)
+ const [colorSelected, setColorSelected] = useState(false)
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+ Volver
+
+
+
+
+
+ 30:00
+
+
+
+
+
+
+
+
+
+ }
+ space={2}
+ >
+
+
+ {`${game?.teamA.slice(0, 3).toUpperCase()}`}
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+ {`${game?.teamB.slice(0, 3).toUpperCase()}`}
+
+
+
+
+
+
+
+
+
+
+ {game?.initialTeam}
+
+
+
+
+
+ Color del equipo
+
+
+
+
+
+ {
+ setIsColorSelected(true)
+ setColorSelected(true)
+ }}
+ >
+
+
+
+
+ Rojo
+
+
+
+
+ {
+ setIsColorSelected(true)
+ setColorSelected(false)
+ }}
+ >
+
+
+
+
+ Verde
+
+
+
+
+
+
+
+
+
+ {
+ navigation?.navigate('PlayTeamAPage', {
+ selectedTeam: game?.selectedTeam,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: colorSelected ? colors.creoleStartGame.teamAColor : colors.creoleStartGame.teamBColor,
+ teamB: game?.teamB,
+ colorTeamB: !colorSelected ? colors.creoleStartGame.teamAColor : colors.creoleStartGame.teamBColor,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ disabled={!isColorSelected}
+ >
+
+ Comenzar con selección
+
+
+
+
+
+
+ )
+}
+
+export default ColorTeamPage
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/CreoleBallsListPage.js b/src/pages/CreoleBalls/CreoleBallsListPage.js
index e2b9513..c9c6a30 100644
--- a/src/pages/CreoleBalls/CreoleBallsListPage.js
+++ b/src/pages/CreoleBalls/CreoleBallsListPage.js
@@ -16,38 +16,38 @@ const games = [
{
id: 1,
date: '01/12/2022',
- teamA: 'Equipo 1',
- teamB: 'Equipo 2'
+ teamA: 'Apucla',
+ teamB: 'DCyTeam'
},
{
id: 2,
date: '01/12/2022',
- teamA: 'Equipo 1',
- teamB: 'Equipo 2'
+ teamA: 'Agronórmicos',
+ teamB: 'Ballysteam'
},
{
id: 3,
date: '01/12/2022',
- teamA: 'Equipo 1',
- teamB: 'Equipo 2'
+ teamA: 'UCLArt',
+ teamB: 'Econiteam'
},
{
id: 4,
date: '01/12/2022',
- teamA: 'Equipo 1',
- teamB: 'Equipo 2'
+ teamA: 'Criomed',
+ teamB: 'Conteam'
},
{
id: 5,
date: '01/12/2022',
- teamA: 'Equipo 1',
- teamB: 'Equipo 2'
+ teamA: 'Tetrateam',
+ teamB: 'CEDYTeam'
},
{
id: 6,
date: '01/12/2022',
- teamA: 'Equipo 1',
- teamB: 'Equipo 2'
+ teamA: 'Anteam',
+ teamB: 'Osys'
},
]
diff --git a/src/pages/CreoleBalls/PlayTeamAPage.js b/src/pages/CreoleBalls/PlayTeamAPage.js
new file mode 100644
index 0000000..f76a729
--- /dev/null
+++ b/src/pages/CreoleBalls/PlayTeamAPage.js
@@ -0,0 +1,351 @@
+import React, { useState } from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { VStack, HStack, Stack, Text, Divider, Box, Button, ScrollView, FlatList } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+import colors from '../../styled-components/colors'
+
+const PlayerTeam = ({ item }) => {
+
+ return (
+
+
+
+
+
+ {item.name}
+
+
+
+
+
+ )
+}
+
+const PlayTeamAPage = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+ Volver
+
+
+
+
+
+ 30:00
+
+
+
+
+
+
+
+
+
+ }
+ space={2}
+ >
+
+
+ {`${game?.teamA.slice(0, 3).toUpperCase()}`}
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+ {`${game?.teamB.slice(0, 3).toUpperCase()}`}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {game?.selectedTeam}
+
+
+
+
+
+
+
+ item?.id}
+ renderItem={PlayerTeam}
+ />
+
+
+ {
+ navigation?.navigate('PlayTeamBPage', {
+ selectedTeam: game?.selectedTeam !== game?.teamA ? game?.teamA : game?.teamB,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+ Cambio de equipo
+
+
+
+
+
+
+
+
+
+ {
+ console.log('Select team')
+ }}
+ >
+
+ Finalizar juego
+
+
+ {
+ console.log('Select team')
+ }}
+ >
+
+ Finalizar tiro
+
+
+
+
+
+
+
+ )
+}
+
+export default PlayTeamAPage
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/PlayTeamBPage.js b/src/pages/CreoleBalls/PlayTeamBPage.js
new file mode 100644
index 0000000..36705df
--- /dev/null
+++ b/src/pages/CreoleBalls/PlayTeamBPage.js
@@ -0,0 +1,351 @@
+import React, { useState } from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { VStack, HStack, Stack, Text, Divider, Box, Button, ScrollView, FlatList } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+import colors from '../../styled-components/colors'
+
+const PlayerTeam = ({ item }) => {
+
+ return (
+
+
+
+
+
+ {item.name}
+
+
+
+
+
+ )
+}
+
+const PlayTeamBPage = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+ Volver
+
+
+
+
+
+ 30:00
+
+
+
+
+
+
+
+
+
+ }
+ space={2}
+ >
+
+
+ {`${game?.teamA.slice(0, 3).toUpperCase()}`}
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+ {`${game?.teamB.slice(0, 3).toUpperCase()}`}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {game?.selectedTeam}
+
+
+
+
+
+
+
+ item?.id}
+ renderItem={PlayerTeam}
+ />
+
+
+ {
+ navigation?.navigate('PlayTeamAPage', {
+ selectedTeam: game?.selectedTeam !== game?.teamA ? game?.teamA : game?.teamB,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+ Cambio de equipo
+
+
+
+
+
+
+
+
+
+ {
+ console.log('Select team')
+ }}
+ >
+
+ Finalizar juego
+
+
+ {
+ console.log('Select team')
+ }}
+ >
+
+ Finalizar tiro
+
+
+
+
+
+
+
+ )
+}
+
+export default PlayTeamBPage
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/PlayerRoster.js b/src/pages/CreoleBalls/PlayerRoster.js
index bd521ab..ea81fbc 100644
--- a/src/pages/CreoleBalls/PlayerRoster.js
+++ b/src/pages/CreoleBalls/PlayerRoster.js
@@ -74,7 +74,7 @@ const PlayerRoster = ({ navigation, route }) => {
})
}
- const [teamA, setTeamA] = useState('Apucla')
+ const [teamA, setTeamA] = useState(game?.teamA || '')
const [firstTeam, setFirstTeam] = useState([
{
@@ -111,7 +111,7 @@ const PlayerRoster = ({ navigation, route }) => {
}
])
- const [teamB, setTeamB] = useState('DCyTeam')
+ const [teamB, setTeamB] = useState(game?.teamB || '')
const [secondTeam, setSecondTeam] = useState([
{
id: 1,
diff --git a/src/pages/CreoleBalls/StartedGamePage.js b/src/pages/CreoleBalls/StartedGamePage.js
index 5148a03..9bfce88 100644
--- a/src/pages/CreoleBalls/StartedGamePage.js
+++ b/src/pages/CreoleBalls/StartedGamePage.js
@@ -30,6 +30,16 @@ const StartedGamePage = ({ navigation, route }) => {
setTimeout(() => {
clearInterval(coinShoot)
setCoinPressed(false)
+ setTimeout(() => {
+ navigation?.navigate('ColorTeamPage', {
+ selectedTeam: coinTeam ? game?.teamA : game?.teamB,
+ initialTeam: coinTeam ? game?.teamA : game?.teamB,
+ teamA: game?.teamA,
+ teamB: game?.teamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }, 5000)
}, throws * 500)
}
@@ -124,7 +134,7 @@ const StartedGamePage = ({ navigation, route }) => {
{`${game?.teamA.slice(0, 3).toUpperCase()}`}
@@ -153,7 +163,7 @@ const StartedGamePage = ({ navigation, route }) => {
{`${game?.teamB.slice(0, 3).toUpperCase()}`}
@@ -276,17 +286,24 @@ const StartedGamePage = ({ navigation, route }) => {
shadow={3}
justifyContent='center'
alignItems='center'
- bgColor={!coinPressed ? colors.button.bgPrimary : colors.gray}
+ bgColor={!coinPressed && shoot ? colors.button.bgPrimary : colors.gray2}
_pressed={colors.bgSecondary}
onPress={() => {
- console.log('Select team')
+ navigation?.navigate('ColorTeamPage', {
+ selectedTeam: coinTeam ? game?.teamA : game?.teamB,
+ initialTeam: coinTeam ? game?.teamA : game?.teamB,
+ teamA: game?.teamA,
+ teamB: game?.teamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
}}
- disabled={coinPressed}
+ disabled={coinPressed || !shoot}
>
Comenzar con selección
@@ -306,14 +323,14 @@ const StartedGamePage = ({ navigation, route }) => {
shadow={3}
justifyContent='center'
alignItems='center'
- bgColor={!coinPressed ? colors.button.bgPrimary : colors.gray}
+ bgColor={!coinPressed ? colors.button.bgPrimary : colors.gray2}
onPress={() => coinThrow()}
disabled={coinPressed}
>
Lanzar la moneda
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 5c30cdb..d21bdb9 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -8,6 +8,7 @@ const colors = {
gray: '#6B6D79',
gray1: '#ecf0f3',
gray2: '#d4d4d8',
+ gray3: '#ECF0F3',
error: {
primary: '#d95f5f',
secondary: '#f52556',
From b173c828b68dd2e83866ee4f8a6b61f7b64811e4 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Tue, 24 Jan 2023 22:31:01 -0400
Subject: [PATCH 050/109] Update
---
src/navigation/StackNavigation.js | 9 +
src/pages/CreoleBalls/PlayTeamAPage.js | 92 +--
src/pages/CreoleBalls/PlayTeamBPage.js | 92 +--
src/pages/CreoleBalls/PlayerRoster.js | 80 +--
src/pages/CreoleBalls/PlayerShootDataPage.js | 662 +++++++++++++++++++
src/pages/CreoleBalls/StartedGamePage.js | 30 +-
src/pages/CreoleBalls/data/teamA.js | 522 +++++++++++++++
src/pages/CreoleBalls/data/teamB.js | 418 ++++++++++++
src/styled-components/colors.js | 3 +-
9 files changed, 1734 insertions(+), 174 deletions(-)
create mode 100644 src/pages/CreoleBalls/PlayerShootDataPage.js
create mode 100644 src/pages/CreoleBalls/data/teamA.js
create mode 100644 src/pages/CreoleBalls/data/teamB.js
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index 206de3c..1198697 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -15,6 +15,7 @@ import StartedGamePage from '../pages/CreoleBalls/StartedGamePage'
import ColorTeamPage from '../pages/CreoleBalls/ColorTeamPage'
import PlayTeamAPage from '../pages/CreoleBalls/PlayTeamAPage'
import PlayTeamBPage from '../pages/CreoleBalls/PlayTeamBPage'
+import PlayerShootDataPage from '../pages/CreoleBalls/PlayerShootDataPage'
const Stack = createNativeStackNavigator()
@@ -108,6 +109,14 @@ const StackNavigation = () => {
headerShown: false,
}
},
+ {
+ name: 'PlayerShootDataPage',
+ component: PlayerShootDataPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
]
diff --git a/src/pages/CreoleBalls/PlayTeamAPage.js b/src/pages/CreoleBalls/PlayTeamAPage.js
index f76a729..a054473 100644
--- a/src/pages/CreoleBalls/PlayTeamAPage.js
+++ b/src/pages/CreoleBalls/PlayTeamAPage.js
@@ -7,47 +7,6 @@ import Icon from 'react-native-vector-icons/Ionicons'
import Container from '../../components/Container'
import colors from '../../styled-components/colors'
-const PlayerTeam = ({ item }) => {
-
- return (
-
-
-
-
-
- {item.name}
-
-
-
-
-
- )
-}
-
const PlayTeamAPage = ({ navigation, route }) => {
const layout = useWindowDimensions()
@@ -237,7 +196,56 @@ const PlayTeamAPage = ({ navigation, route }) => {
minH='52%'
maxH='50%'
keyExtractor={item => item?.id}
- renderItem={PlayerTeam}
+ renderItem={({ item }) =>
+
+
+ {
+ navigation?.navigate('PlayerShootDataPage', {
+ selectedTeam: game?.teamA === game?.selectedTeam ? game?.teamA : game?.teamB,
+ selectedPlayer: item.id,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+
+ {item.name}
+
+
+
+
+
+ }
/>
{
-
- return (
-
-
-
-
-
- {item.name}
-
-
-
-
-
- )
-}
-
const PlayTeamBPage = ({ navigation, route }) => {
const layout = useWindowDimensions()
@@ -237,7 +196,56 @@ const PlayTeamBPage = ({ navigation, route }) => {
minH='52%'
maxH='50%'
keyExtractor={item => item?.id}
- renderItem={PlayerTeam}
+ renderItem={({ item }) =>
+
+
+ {
+ navigation?.navigate('PlayerShootDataPage', {
+ selectedTeam: game?.teamA === game?.selectedTeam ? game?.teamA : game?.teamB,
+ selectedPlayer: item.id,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+
+ {item.name}
+
+
+
+
+
+ }
/>
{
switch (action.type) {
@@ -76,84 +78,10 @@ const PlayerRoster = ({ navigation, route }) => {
const [teamA, setTeamA] = useState(game?.teamA || '')
- const [firstTeam, setFirstTeam] = useState([
- {
- id: 1,
- name: 'Alberto Alvarez'
- },
- {
- id: 2,
- name: 'Gonzalo Gonzalaz'
- },
- {
- id: 3,
- name: 'Pedro Pérez'
- },
- {
- id: 4,
- name: 'Ricardo Rodríguez'
- },
- {
- id: 5,
- name: 'William Pérez'
- },
- {
- id: 6,
- name: 'Luis Lares'
- },
- {
- id: 7,
- name: 'Andrés Corrales'
- },
- {
- id: 8,
- name: 'Félix Rivas'
- }
- ])
+ const [firstTeam, setFirstTeam] = useState(firstTeamData || [])
const [teamB, setTeamB] = useState(game?.teamB || '')
- const [secondTeam, setSecondTeam] = useState([
- {
- id: 1,
- name: 'Cristiano Ronaldo'
- },
- {
- id: 2,
- name: 'Lionel Messi'
- },
- {
- id: 3,
- name: 'Salomón Rondón'
- },
- {
- id: 4,
- name: 'Kun Agüero'
- },
- {
- id: 5,
- name: 'Iker Casillas'
- },
- {
- id: 6,
- name: 'Manuel Neuer'
- },
- {
- id: 7,
- name: 'Tony Kross'
- },
- {
- id: 8,
- name: 'Luis Suárez'
- },
- {
- id: 9,
- name: 'David Beckham'
- },
- {
- id: 10,
- name: 'Adrián Anzola'
- },
- ])
+ const [secondTeam, setSecondTeam] = useState(secondTeamData || [])
return (
{
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ const selectedRoster = game?.selectedTeam === game?.teamA ? game?.rosterA.find(member => member.id === game?.selectedPlayer) : game?.rosterB.find(member => member.id === game?.selectedPlayer)
+
+ const [player, setPlayer] = useState(selectedRoster)
+
+ const [shoot, setShoot] = useState(0)
+ const [firstShoot, setFirstShoot] = useState(null)
+ const [secondShoot, setSecondShoot] = useState(null)
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+ Volver
+
+
+
+
+
+ 30:00
+
+
+
+
+
+
+
+
+
+ }
+ space={2}
+ >
+
+
+ {`${game?.teamA.slice(0, 3).toUpperCase()}`}
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+ {`${game?.teamB.slice(0, 3).toUpperCase()}`}
+
+
+
+
+
+
+
+
+ {game?.selectedTeam === game?.teamA ?
+ game?.rosterA.find(member => member.id === game?.selectedPlayer).name :
+ game?.rosterB.find(member => member.id === game?.selectedPlayer).name
+ }
+
+
+
+
+
+
+
+
+
+ Jugada realizada
+
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('A')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('A')
+ }
+ }}
+ >
+
+
+ A
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('B')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('B')
+ }
+ }}
+ >
+
+
+ B
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('M')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('M')
+ }
+ }}
+ >
+
+
+ M
+
+
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('a')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('a')
+ }
+ }}
+ >
+
+
+ a
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('b')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('b')
+ }
+ }}
+ >
+
+
+ b
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('m')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('m')
+ }
+ }}
+ >
+
+
+ m
+
+
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('N')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('N')
+ }
+ }}
+ >
+
+
+ Bola nula
+
+
+
+
+ {
+ if (!firstShoot) {
+ setFirstShoot('F')
+ }
+ if (firstShoot && !secondShoot) {
+ setSecondShoot('F')
+ }
+ }}
+ >
+
+
+ Mingo fuera
+
+
+
+
+
+
+
+
+
+ Lanzamiento 1
+
+
+
+ {firstShoot === 'N' ? 'Bola nula' : firstShoot === 'F' ? 'Mingo fuera' : firstShoot}
+
+
+
+
+
+
+ Lanzamiento 2
+
+
+
+ {secondShoot === 'N' ? 'Bola nula' : secondShoot === 'F' ? 'Mingo fuera' : secondShoot}
+
+
+
+
+
+
+ {
+ navigation?.navigate(game?.selectedTeam !== game?.initialTeam ? 'PlayTeamAPage' : 'PlayTeamBPage', {
+ selectedTeam: game?.selectedTeam !== game?.initialTeam ? game?.teamA : game?.teamB,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+ Siguiente lanzamiento {game?.selectedTeam === game?.teamA ? 'true' : 'false'}
+
+
+
+
+
+
+
+
+
+ {
+ navigation?.navigate(game?.selectedTeam === game?.teamA ? 'PlayTeamAPage' : 'PlayTeamBPage', {
+ selectedTeam: game?.selectedTeam === game?.teamA ? game?.teamA : game?.teamB,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+ Cambio de jugador
+
+
+ {
+ navigation?.navigate(game?.teamA !== game?.selectedTeam ? 'PlayTeamAPage' : 'PlayTeamBPage', {
+ selectedTeam: game?.teamA !== game?.selectedTeam ? game?.teamA : game?.teamB,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+ Cambio de equipo
+
+
+
+
+
+
+
+ )
+}
+
+export default PlayerShootDataPage
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/StartedGamePage.js b/src/pages/CreoleBalls/StartedGamePage.js
index 9bfce88..2fdd76a 100644
--- a/src/pages/CreoleBalls/StartedGamePage.js
+++ b/src/pages/CreoleBalls/StartedGamePage.js
@@ -23,25 +23,29 @@ const StartedGamePage = ({ navigation, route }) => {
setShoot(true)
setCoinPressed(true)
- const coinShoot = setInterval(() =>
- setCoinTeam(Math.random() < .5 ? true : false)
- , throws * 100)
+ let coin = coinTeam
+
+ const coinShoot = setInterval(() => {
+ coin = Math.random() < .5
+ setCoinTeam(coin)
+ }, throws * 100)
setTimeout(() => {
clearInterval(coinShoot)
setCoinPressed(false)
- setTimeout(() => {
- navigation?.navigate('ColorTeamPage', {
- selectedTeam: coinTeam ? game?.teamA : game?.teamB,
- initialTeam: coinTeam ? game?.teamA : game?.teamB,
- teamA: game?.teamA,
- teamB: game?.teamB,
- rosterA: game?.rosterA,
- rosterB: game?.rosterB,
- })
- }, 5000)
}, throws * 500)
+ setTimeout(() => {
+ navigation?.navigate('ColorTeamPage', {
+ selectedTeam: coin ? game?.teamA : game?.teamB,
+ initialTeam: coin ? game?.teamA : game?.teamB,
+ teamA: game?.teamA,
+ teamB: game?.teamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }, 5000)
+
}
return (
diff --git a/src/pages/CreoleBalls/data/teamA.js b/src/pages/CreoleBalls/data/teamA.js
new file mode 100644
index 0000000..3c4d820
--- /dev/null
+++ b/src/pages/CreoleBalls/data/teamA.js
@@ -0,0 +1,522 @@
+export const firstTeamData = [
+ {
+ id: 1,
+ name: 'Cristiano Ronaldo',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 2,
+ name: 'Lionel Messi',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 3,
+ name: 'Salomón Rondón',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 4,
+ name: 'Kun Agüero',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 5,
+ name: 'Iker Casillas',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 6,
+ name: 'Manuel Neuer',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 7,
+ name: 'Tony Kross',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 8,
+ name: 'Luis Suárez',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 9,
+ name: 'David Beckham',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 10,
+ name: 'Adrián Anzola',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ }
+]
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/data/teamB.js b/src/pages/CreoleBalls/data/teamB.js
new file mode 100644
index 0000000..4be0808
--- /dev/null
+++ b/src/pages/CreoleBalls/data/teamB.js
@@ -0,0 +1,418 @@
+export const secondTeamData = [
+ {
+ id: 1,
+ name: 'Alberto Alvarez',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 2,
+ name: 'Gonzalo Gonzalaz',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 3,
+ name: 'Pedro Pérez',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 4,
+ name: 'Ricardo Rodríguez',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 5,
+ name: 'William Pérez',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 6,
+ name: 'Luis Lares',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 7,
+ name: 'Andrés Corrales',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ },
+ {
+ id: 8,
+ name: 'Félix Rivas',
+ first: {
+ one: null,
+ two: null,
+ },
+ second: {
+ one: null,
+ two: null,
+ },
+ third: {
+ one: null,
+ two: null,
+ },
+ fourth: {
+ one: null,
+ two: null,
+ },
+ fifth: {
+ one: null,
+ two: null,
+ },
+ sixth: {
+ one: null,
+ two: null,
+ },
+ seventh: {
+ one: null,
+ two: null,
+ },
+ eighth: {
+ one: null,
+ two: null,
+ },
+ ninth: {
+ one: null,
+ two: null,
+ },
+ tenth: {
+ one: null,
+ two: null,
+ },
+ eleventh: {
+ one: null,
+ two: null,
+ },
+ twelfth: {
+ one: null,
+ two: null,
+ },
+ }
+]
\ No newline at end of file
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index d21bdb9..8fa64e1 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -78,7 +78,8 @@ const colors = {
scoreColor: '#6D6E70',
text: '#1F202A',
teamSelectedTextColor: '#48CBC5',
- backgroundIconColor: '#ECF0F3'
+ backgroundIconColor: '#ECF0F3',
+ selectedShoot: '#48CBC5',
}
}
From 90b42b1da8575ffe928b3a69b238370bbbca715e Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Wed, 25 Jan 2023 00:08:45 -0400
Subject: [PATCH 051/109] Update
---
src/navigation/StackNavigation.js | 28 +-
src/pages/CreoleBalls/ColorTeamPage.js | 2 +
src/pages/CreoleBalls/CreoleResult.js | 277 +++++++++++
src/pages/CreoleBalls/PlayTeamAPage.js | 36 +-
src/pages/CreoleBalls/PlayTeamBPage.js | 38 +-
src/pages/CreoleBalls/PlayerShootDataPage.js | 61 +--
src/pages/CreoleBalls/RoundNextPage.js | 314 ++++++++++++
src/pages/CreoleBalls/ScoreSetPage.js | 473 +++++++++++++++++++
src/styled-components/colors.js | 2 +
9 files changed, 1182 insertions(+), 49 deletions(-)
create mode 100644 src/pages/CreoleBalls/CreoleResult.js
create mode 100644 src/pages/CreoleBalls/RoundNextPage.js
create mode 100644 src/pages/CreoleBalls/ScoreSetPage.js
diff --git a/src/navigation/StackNavigation.js b/src/navigation/StackNavigation.js
index 1198697..a599e54 100644
--- a/src/navigation/StackNavigation.js
+++ b/src/navigation/StackNavigation.js
@@ -16,6 +16,9 @@ import ColorTeamPage from '../pages/CreoleBalls/ColorTeamPage'
import PlayTeamAPage from '../pages/CreoleBalls/PlayTeamAPage'
import PlayTeamBPage from '../pages/CreoleBalls/PlayTeamBPage'
import PlayerShootDataPage from '../pages/CreoleBalls/PlayerShootDataPage'
+import ScoreSetPage from '../pages/CreoleBalls/ScoreSetPage'
+import RoundNextPage from '../pages/CreoleBalls/RoundNextPage'
+import CreoleResult from '../pages/CreoleBalls/CreoleResult'
const Stack = createNativeStackNavigator()
@@ -117,7 +120,30 @@ const StackNavigation = () => {
headerShown: false,
}
},
-
+ {
+ name: 'ScoreSetPage',
+ component: ScoreSetPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+ {
+ name: 'RoundNextPage',
+ component: RoundNextPage,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
+ {
+ name: 'CreoleResult',
+ component: CreoleResult,
+ requireAuth: isAuthenticated,
+ options: {
+ headerShown: false,
+ }
+ },
]
diff --git a/src/pages/CreoleBalls/ColorTeamPage.js b/src/pages/CreoleBalls/ColorTeamPage.js
index f297396..7f041e5 100644
--- a/src/pages/CreoleBalls/ColorTeamPage.js
+++ b/src/pages/CreoleBalls/ColorTeamPage.js
@@ -286,6 +286,8 @@ const ColorTeamPage = ({ navigation, route }) => {
colorTeamA: colorSelected ? colors.creoleStartGame.teamAColor : colors.creoleStartGame.teamBColor,
teamB: game?.teamB,
colorTeamB: !colorSelected ? colors.creoleStartGame.teamAColor : colors.creoleStartGame.teamBColor,
+ scoreTeamA: 0,
+ scoreTeamB: 0,
rosterA: game?.rosterA,
rosterB: game?.rosterB,
})
diff --git a/src/pages/CreoleBalls/CreoleResult.js b/src/pages/CreoleBalls/CreoleResult.js
new file mode 100644
index 0000000..18c08de
--- /dev/null
+++ b/src/pages/CreoleBalls/CreoleResult.js
@@ -0,0 +1,277 @@
+import React, { useState } from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { VStack, HStack, Stack, Text, Divider, Box, Button, ScrollView, FlatList } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+import colors from '../../styled-components/colors'
+
+const CreoleResult = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ const [selectedTeam, setSelectedTeam] = useState(null)
+
+ return (
+
+
+
+
+
+ Resultados finales
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {game?.teamA}
+
+
+ {game?.scoreTeamA}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {game?.teamB}
+
+
+ {game?.scoreTeamB}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ganador
+
+
+
+
+
+ {game?.scoreTeamA === game?.scoreTeamB ? 'Empate' :
+ game?.scoreTeamA > game?.scoreTeamB ?
+ `Equipo ${game?.teamA}` :
+ `Equipo ${game?.teamB}`
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ navigation?.navigate('Home')
+ }}
+ >
+
+ Registrar juego
+
+
+
+
+
+
+
+ )
+}
+
+export default CreoleResult
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/PlayTeamAPage.js b/src/pages/CreoleBalls/PlayTeamAPage.js
index a054473..69b8a17 100644
--- a/src/pages/CreoleBalls/PlayTeamAPage.js
+++ b/src/pages/CreoleBalls/PlayTeamAPage.js
@@ -103,7 +103,7 @@ const PlayTeamAPage = ({ navigation, route }) => {
{`${game?.teamA.slice(0, 3).toUpperCase()}`}
@@ -112,7 +112,7 @@ const PlayTeamAPage = ({ navigation, route }) => {
fontSize='4xl'
color={colors.creoleStartGame.scoreColor}
>
- 0
+ {game?.scoreTeamA}
@@ -127,12 +127,12 @@ const PlayTeamAPage = ({ navigation, route }) => {
fontSize='4xl'
color={colors.creoleStartGame.scoreColor}
>
- 0
+ {game?.scoreTeamB}
{`${game?.teamB.slice(0, 3).toUpperCase()}`}
@@ -221,6 +221,8 @@ const PlayTeamAPage = ({ navigation, route }) => {
colorTeamA: game?.colorTeamA,
teamB: game?.teamB,
colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
rosterA: game?.rosterA,
rosterB: game?.rosterB,
})
@@ -316,7 +318,18 @@ const PlayTeamAPage = ({ navigation, route }) => {
bgColor={colors.gray3}
_pressed={colors.bgSecondary}
onPress={() => {
- console.log('Select team')
+ navigation?.navigate('CreoleResult', {
+ selectedTeam: game?.selectedTeam,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
}}
>
{
bgColor={colors.button.bgPrimary}
_pressed={colors.bgSecondary}
onPress={() => {
- console.log('Select team')
+ navigation?.navigate('ScoreSetPage', {
+ selectedTeam: game?.selectedTeam,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
}}
>
{
{`${game?.teamA.slice(0, 3).toUpperCase()}`}
@@ -112,7 +112,7 @@ const PlayTeamBPage = ({ navigation, route }) => {
fontSize='4xl'
color={colors.creoleStartGame.scoreColor}
>
- 0
+ {game?.scoreTeamA}
@@ -127,12 +127,12 @@ const PlayTeamBPage = ({ navigation, route }) => {
fontSize='4xl'
color={colors.creoleStartGame.scoreColor}
>
- 0
+ {game?.scoreTeamB}
{`${game?.teamB.slice(0, 3).toUpperCase()}`}
@@ -214,13 +214,15 @@ const PlayTeamBPage = ({ navigation, route }) => {
activeOpacity={.9}
onPress={() => {
navigation?.navigate('PlayerShootDataPage', {
- selectedTeam: game?.teamA === game?.selectedTeam ? game?.teamA : game?.teamB,
+ selectedTeam: game?.selectedTeam,
selectedPlayer: item.id,
initialTeam: game?.initialTeam,
teamA: game?.teamA,
colorTeamA: game?.colorTeamA,
teamB: game?.teamB,
colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
rosterA: game?.rosterA,
rosterB: game?.rosterB,
})
@@ -316,7 +318,18 @@ const PlayTeamBPage = ({ navigation, route }) => {
bgColor={colors.gray3}
_pressed={colors.bgSecondary}
onPress={() => {
- console.log('Select team')
+ navigation?.navigate('CreoleResult', {
+ selectedTeam: game?.selectedTeam,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
}}
>
{
bgColor={colors.button.bgPrimary}
_pressed={colors.bgSecondary}
onPress={() => {
- console.log('Select team')
+ navigation?.navigate('ScoreSetPage', {
+ selectedTeam: game?.selectedTeam,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
}}
>
{
const game = route?.params
- const selectedRoster = game?.selectedTeam === game?.teamA ? game?.rosterA.find(member => member.id === game?.selectedPlayer) : game?.rosterB.find(member => member.id === game?.selectedPlayer)
-
- const [player, setPlayer] = useState(selectedRoster)
-
const [shoot, setShoot] = useState(0)
const [firstShoot, setFirstShoot] = useState(null)
const [secondShoot, setSecondShoot] = useState(null)
@@ -111,7 +107,7 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{`${game?.teamA.slice(0, 3).toUpperCase()}`}
@@ -120,7 +116,7 @@ const PlayerShootDataPage = ({ navigation, route }) => {
fontSize='4xl'
color={colors.creoleStartGame.scoreColor}
>
- 0
+ {game?.scoreTeamA}
@@ -135,12 +131,12 @@ const PlayerShootDataPage = ({ navigation, route }) => {
fontSize='4xl'
color={colors.creoleStartGame.scoreColor}
>
- 0
+ {game?.scoreTeamB}
{`${game?.teamB.slice(0, 3).toUpperCase()}`}
@@ -211,10 +207,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('A')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('A')
}
}}
@@ -241,10 +237,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('B')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('B')
}
}}
@@ -271,10 +267,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('M')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('M')
}
}}
@@ -307,10 +303,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('a')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('a')
}
}}
@@ -337,10 +333,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('b')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('b')
}
}}
@@ -367,10 +363,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('m')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('m')
}
}}
@@ -403,10 +399,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('N')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('N')
}
}}
@@ -433,10 +429,10 @@ const PlayerShootDataPage = ({ navigation, route }) => {
{
- if (!firstShoot) {
+ if (!firstShoot || shoot === 0) {
setFirstShoot('F')
}
- if (firstShoot && !secondShoot) {
+ if ((firstShoot && !secondShoot) || shoot === 1) {
setSecondShoot('F')
}
}}
@@ -552,16 +548,7 @@ const PlayerShootDataPage = ({ navigation, route }) => {
bgColor={colors.button.bgPrimary}
_pressed={colors.bgSecondary}
onPress={() => {
- navigation?.navigate(game?.selectedTeam !== game?.initialTeam ? 'PlayTeamAPage' : 'PlayTeamBPage', {
- selectedTeam: game?.selectedTeam !== game?.initialTeam ? game?.teamA : game?.teamB,
- initialTeam: game?.initialTeam,
- teamA: game?.teamA,
- colorTeamA: game?.colorTeamA,
- teamB: game?.teamB,
- colorTeamB: game?.colorTeamB,
- rosterA: game?.rosterA,
- rosterB: game?.rosterB,
- })
+ setShoot(1)
}}
>
{
fontSize='md'
color={colors.white}
>
- Siguiente lanzamiento {game?.selectedTeam === game?.teamA ? 'true' : 'false'}
+ Siguiente lanzamiento
@@ -608,6 +595,8 @@ const PlayerShootDataPage = ({ navigation, route }) => {
colorTeamA: game?.colorTeamA,
teamB: game?.teamB,
colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
rosterA: game?.rosterA,
rosterB: game?.rosterB,
})
@@ -638,6 +627,8 @@ const PlayerShootDataPage = ({ navigation, route }) => {
colorTeamA: game?.colorTeamA,
teamB: game?.teamB,
colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
rosterA: game?.rosterA,
rosterB: game?.rosterB,
})
diff --git a/src/pages/CreoleBalls/RoundNextPage.js b/src/pages/CreoleBalls/RoundNextPage.js
new file mode 100644
index 0000000..5d82d1a
--- /dev/null
+++ b/src/pages/CreoleBalls/RoundNextPage.js
@@ -0,0 +1,314 @@
+import React, { useState } from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { VStack, HStack, Stack, Text, Divider, Box, Button, ScrollView, FlatList } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+import colors from '../../styled-components/colors'
+
+const RoundNextPage = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ const [scoreTeamA, setScoreTeamA] = useState(0)
+ const [scoreTeamB, setScoreTeamB] = useState(0)
+ const [selectedTeam, setSelectedTeam] = useState(null)
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+ Volver
+
+
+
+
+
+ 30:00
+
+
+
+
+
+
+
+
+
+ }
+ space={2}
+ >
+
+
+ {`${game?.teamA.slice(0, 3).toUpperCase()}`}
+
+
+ {game?.scoreTeamA}
+
+
+
+
+
+ {game?.scoreTeamB}
+
+
+ {`${game?.teamB.slice(0, 3).toUpperCase()}`}
+
+
+
+
+
+
+
+ ¿Quién comienza el siguiente tiro?
+
+
+
+
+
+
+ {
+ setSelectedTeam(game?.teamA)
+ }}
+ >
+
+
+
+
+
+ {game?.teamA}
+
+
+
+
+ {
+ setSelectedTeam(game?.teamB)
+ }}
+ >
+
+
+
+
+
+ {game?.teamB}
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ navigation?.navigate(selectedTeam === game?.teamA ? 'PlayTeamAPage' : 'PlayTeamBPage', {
+ selectedTeam: selectedTeam,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ scoreTeamA: game?.scoreTeamA,
+ scoreTeamB: game?.scoreTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+ Comenzar con selección
+
+
+
+
+
+
+
+ )
+}
+
+export default RoundNextPage
\ No newline at end of file
diff --git a/src/pages/CreoleBalls/ScoreSetPage.js b/src/pages/CreoleBalls/ScoreSetPage.js
new file mode 100644
index 0000000..e4c0e57
--- /dev/null
+++ b/src/pages/CreoleBalls/ScoreSetPage.js
@@ -0,0 +1,473 @@
+import React, { useState } from 'react'
+import { TouchableOpacity, useWindowDimensions } from 'react-native'
+
+import { VStack, HStack, Stack, Text, Divider, Box, Button, ScrollView, FlatList } from 'native-base'
+import Icon from 'react-native-vector-icons/Ionicons'
+
+import Container from '../../components/Container'
+import colors from '../../styled-components/colors'
+
+const ScoreSetPage = ({ navigation, route }) => {
+
+ const layout = useWindowDimensions()
+
+ const game = route?.params
+
+ const [scoreTeamA, setScoreTeamA] = useState(route?.params?.scoreTeamA || 0)
+ const [scoreTeamB, setScoreTeamB] = useState(route?.params?.scoreTeamB || 0)
+ const [isSetScore, setIsSetScore] = useState(false)
+
+ return (
+
+
+
+
+
+ navigation?.goBack()}
+ >
+
+
+
+ Volver
+
+
+
+
+
+ 30:00
+
+
+
+
+
+
+
+
+
+ }
+ space={2}
+ >
+
+
+ {`${game?.teamA.slice(0, 3).toUpperCase()}`}
+
+
+ {game?.scoreTeamA}
+
+
+
+
+
+ {game?.scoreTeamB}
+
+
+ {`${game?.teamB.slice(0, 3).toUpperCase()}`}
+
+
+
+
+
+
+
+
+ Puntuación
+
+
+
+
+
+
+ Tiro Nro. 1
+
+
+
+
+
+
+
+
+
+
+ {game?.teamA}
+
+
+
+
+
+
+
+
+
+ {game?.teamB}
+
+
+
+
+
+
+
+
+ {
+ if (scoreTeamB === 0 || !isSetScore) {
+ setScoreTeamA(scoreTeamA + 1)
+ setIsSetScore(true)
+ }
+ }}
+ >
+
+ +1
+
+
+
+
+ {scoreTeamA}
+
+
+ {
+ if (scoreTeamA > 0) {
+ setScoreTeamA(scoreTeamA - 1)
+ }
+ }}
+ >
+
+ -1
+
+
+
+
+
+ {
+ if (scoreTeamA === 0 || !isSetScore) {
+ setScoreTeamB(scoreTeamB + 1)
+ setIsSetScore(true)
+ }
+ }}
+ >
+
+ +1
+
+
+
+
+ {scoreTeamB}
+
+
+ {
+ if (scoreTeamB > 0) {
+ setScoreTeamB(scoreTeamB - 1)
+ }
+ }}
+ >
+
+ -1
+
+
+
+
+
+
+
+
+
+
+ {
+ navigation?.navigate('RoundNextPage', {
+ selectedTeam: game?.selectedTeam,
+ initialTeam: game?.initialTeam,
+ teamA: game?.teamA,
+ colorTeamA: game?.colorTeamA,
+ teamB: game?.teamB,
+ colorTeamB: game?.colorTeamB,
+ scoreTeamA: scoreTeamA,
+ scoreTeamB: scoreTeamB,
+ rosterA: game?.rosterA,
+ rosterB: game?.rosterB,
+ })
+ }}
+ >
+
+ Finalizar tiro
+
+
+
+
+
+
+
+ )
+}
+
+export default ScoreSetPage
\ No newline at end of file
diff --git a/src/styled-components/colors.js b/src/styled-components/colors.js
index 8fa64e1..59055b6 100644
--- a/src/styled-components/colors.js
+++ b/src/styled-components/colors.js
@@ -80,6 +80,8 @@ const colors = {
teamSelectedTextColor: '#48CBC5',
backgroundIconColor: '#ECF0F3',
selectedShoot: '#48CBC5',
+ winner: '#C0F2F3',
+ textWinner: '#054D50'
}
}
From 0cc728da49692bf32ce4137d4128f71c7001ed44 Mon Sep 17 00:00:00 2001
From: Gustavo Rivero
Date: Wed, 25 Jan 2023 06:50:15 -0400
Subject: [PATCH 052/109] Update
---
App.js | 25 +++++++++++-------
android/app/build.gradle | 3 +++
.../java/com/edenmobile/MainActivity.java | 11 ++++++++
.../java/com/edenmobile/MainApplication.java | 5 +++-
.../app/src/main/res/layout/launch_screen.xml | 15 +++++++++++
.../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 5793 bytes
.../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 5887 bytes
.../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 3474 bytes
.../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 3491 bytes
.../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 8484 bytes
.../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 8864 bytes
.../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 13829 bytes
.../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 14175 bytes
.../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 20481 bytes
.../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 21404 bytes
android/app/src/main/res/values/colors.xml | 4 +++
android/app/src/main/res/values/strings.xml | 2 +-
android/settings.gradle | 4 +++
package.json | 3 ++-
src/assets/logo/EdenLogo.png | Bin 0 -> 44959 bytes
yarn.lock | 5 ++++
21 files changed, 65 insertions(+), 12 deletions(-)
create mode 100644 android/app/src/main/res/layout/launch_screen.xml
create mode 100644 android/app/src/main/res/values/colors.xml
create mode 100644 src/assets/logo/EdenLogo.png
diff --git a/App.js b/App.js
index 5469dab..31f67f9 100644
--- a/App.js
+++ b/App.js
@@ -1,3 +1,5 @@
+import React, { useEffect } from 'react'
+import SplashScreen from 'react-native-splash-screen'
import { NavigationContainer } from '@react-navigation/native'
import { NativeBaseProvider } from 'native-base'
import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context'
@@ -5,17 +7,22 @@ import { AuthProvider } from './src/context/AuthContext'
import StackNavigation from './src/navigation/StackNavigation'
const App = () => {
+
+ useEffect(() => {
+ SplashScreen.hide()
+ }, [])
+
return (
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
)
}
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 46cc807..850eb8a 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -249,6 +249,9 @@ android {
}
dependencies {
+
+ implementation project(':react-native-splash-screen')
+
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
diff --git a/android/app/src/main/java/com/edenmobile/MainActivity.java b/android/app/src/main/java/com/edenmobile/MainActivity.java
index 431f331..7651870 100644
--- a/android/app/src/main/java/com/edenmobile/MainActivity.java
+++ b/android/app/src/main/java/com/edenmobile/MainActivity.java
@@ -1,11 +1,22 @@
package com.edenmobile;
+import android.os.Bundle;
+
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
+// react-native-splash-screen >= 0.3.1
+import org.devio.rn.splashscreen.SplashScreen;
+
public class MainActivity extends ReactActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ SplashScreen.show(this);
+ super.onCreate(savedInstanceState);
+ }
+
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
diff --git a/android/app/src/main/java/com/edenmobile/MainApplication.java b/android/app/src/main/java/com/edenmobile/MainApplication.java
index 05be22c..beb1d3d 100644
--- a/android/app/src/main/java/com/edenmobile/MainApplication.java
+++ b/android/app/src/main/java/com/edenmobile/MainApplication.java
@@ -1,5 +1,8 @@
package com.edenmobile;
+// react-native-splash-screen >= 0.3.1
+import org.devio.rn.splashscreen.SplashScreenReactPackage;
+
import android.app.Application;
import android.content.Context;
import com.facebook.react.PackageList;
@@ -27,7 +30,7 @@ protected List getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
- // packages.add(new MyReactNativePackage());
+ // new SplashScreenReactPackage());
return packages;
}
diff --git a/android/app/src/main/res/layout/launch_screen.xml b/android/app/src/main/res/layout/launch_screen.xml
new file mode 100644
index 0000000..2e734e6
--- /dev/null
+++ b/android/app/src/main/res/layout/launch_screen.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index a2f5908281d070150700378b64a84c7db1f97aa1..83ceca950b71fabe9ab1735a3300cc2729b8ea26 100644
GIT binary patch
literal 5793
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
delta 3051
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
Ve(8YZ6o3E#002ovPDHLkV1oE8ZEOGl
literal 5024
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
delta 2084
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
QVgLXD07*qoM6N<$f+(o1+W-In
delta 2852
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
Sm_^|L0000mkJ
literal 4569
zcmV;~5hm`5P)gh-ObE_muwxq>sEpX)ywtgCHKIATY}p&%F4bRV>R9rYpeWbT(xnE7}?(HDXFgNDdC^@gUdK&
zk=MolYT3>rpR*$Ell2!`c
zjrIZftl&PUxlH2EgV+3VfQy&FjhL&5*Zg&R8xrSx?WgB?YuLO-JDaP3jr*I~qiywy
z`-52AwB_6L#X
ztms{{yRkRfQLbsb#Ov%`)acN(OCewI3Ex__xed17hg#g4c1blx?sK}UQg%PM@N;5d
zsg{y6(|`H1Xfbz@5x{1688tu7TGkzFEBhOPDdFK(H_NQIFf|(>)ltFd!WdnkrY&mp
z0y@5yU2;u1_enx%+U9tyY-LNWrd4^Wi?x<^r`QbaLBngWL`HzX@G550
zrdyNjhPTknrrJn#jT0WD0Z)WJRi&3FKJ#Sa&|883%QxM-?S%4niK{~k81<(c11sLk|!_7%s
zH>c$`*nP-wA8Dx-K(HE~JG_@Yxxa;J+2yr+*iVlh;2Eiw?e`D1vu6*qY1+XTe8RVu
z?RV%L|Mk!wO}j^S)p4H%?G37StD0Rx{_Y00%3a+V^SyOkfV@ZuFlEc;vR9r-D>cYU&plUkXL|M%1AYBQ3DI;;hF%_X@m*cTQAMZ4+FO74@AQB{A*_HtoXT@}l=8awaa7{RHC>07s?E%G{iSeRbh
z?h#NM)bP`z`zdp5lij!N*df;4+sgz&U_JEr?N9#1{+UG3^11oQUOvU4W%tD1Cie3;
z4zcz0SIrK-PG0(mp9gTYr(4ngx;ieH{NLq{*
z;Pd=vS6KZYPV?DLbo^)~2dTpiKVBOh?|v2XNA)li)4V6B6PA!iq#XV5eO{{vL%OmU
z0z3ZE2kcEkZ`kK(g^#s)#Zn5zw!R93cW^4+g0D=ydf&j4o_ti<@2WbzC>{(QhCL
z(=%Zb;Ax8U=sdec9pkk|cW)1Ko;gK{-575HsDZ!w@WOQ^Up)GGorc38cGxe<$8O!6
zmQ`=@;TG{FjWq(s