diff --git a/.dockerignore b/.dockerignore index 0dd0afbf..ad7b5aa9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,4 @@ .git .dockerignore node_modules -build \ No newline at end of file +build diff --git a/.gitignore b/.gitignore index fffcfd0d..61d20c72 100755 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ /node_modules /.pnp .pnp.js +.npm/ # testing /coverage @@ -22,4 +23,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -.bash_history \ No newline at end of file +.bash_history +/docker-compose.override.yml diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 00000000..ceef6578 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @gallosanchez23 diff --git a/Dockerfile b/Dockerfile index 63a914ff..6059b526 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,15 @@ -FROM node:latest +FROM node:12.12.0 -RUN apt-get update -qq && \ - apt-get install -y vim nano +RUN apt-get update && \ + apt-get install -y vim \ + nano \ + git && \ + yarn install && \ + rm -rf /var/lib/apt/lists/* -COPY . /app -WORKDIR /app +COPY . /usr/src +WORKDIR /usr/src -ENV HOME=/app PATH=/app/node_modules/.bin:$PATH +ENV HOME=/usr/src PATH=PATH=/usr/src/node_modules/.bin:$PATH -RUN yarn install - -EXPOSE 3000 - -CMD ["yarn", "start"] \ No newline at end of file +CMD ["yarn", "start"] diff --git a/README.md b/README.md index b9de17bf..fd57b341 100755 --- a/README.md +++ b/README.md @@ -25,8 +25,14 @@ You can consult the application on production at [roborregos.com](https://roborr | Name | Email | Github | Role | | ---- | ----- | ------ | ---- | -| José Eduardo Sánchez | gallo.sanchez23@gmail.com | [@gallosanchez23](https://github.com/gallosanchez23) | Developer | -| Alexis Virgen | | [@SAlexisvf](https://github.com/SAlexisvf) | Developer | +| José Eduardo Sánchez | [gallo.sanchez23@gmail.com](mailto:gallo.sanchez23@gmail.com) | [@gallosanchez23](https://github.com/gallosanchez23) | PM & Developer | +| Sebastián Rivera González | [sebas.rivera96@gmail.com](mailto:sebas.rivera96@gmail.com) | [@sebasrivera96](https://github.com/sebasrivera96) | Developer | +| Aurora Tijerina Berzosa | [auro.tj@gmail.com](mailto:auro.tj@gmail.com) | [@aurotb](https://github.com/aurotb) | Developer | +| Ricardo Chapa Romero | [ricardochaparomero@gmail.com](mailto:ricardochaparomero@gmail.com) | [@RicardoChapaRomero](https://github.com/RicardoChapaRomero) | Developer | +| José Alfonso Cisneros | [joseacisnerosm@gmail.com](mailto:joseacisnerosm@gmail.com) | [@Josecisneros001](https://github.com/Josecisneros001) | Developer | +| Omar Ulises Montiel | [omarume@gmail.com](mailto:omarume@gmail.com) | [@OUMontiel](https://github.com/OUMontiel) | Developer | +| Clara Gutiérrez Jaime | [claragtzjaime@gmail.com](mailto:claragtzjaime@gmail.com) | [@ClaraGtz](https://github.com/ClaraGtz) | Designer & Developer | +| Ana Lucía Garza | [analuciagarzamtz@gmail.com](mailto:analuciagarzamtz@gmail.com) | [@AnaGarza](https://github.com/AnaGarza) | Designer | ### Environment URLs @@ -34,16 +40,18 @@ You can consult the application on production at [roborregos.com](https://roborr ### Management tools -You should ask for acces to this tools if you don't have ir already: +You should ask for access to these tools if you don't have it already: * [Github repo](https://github.com/gallosanchez23/roborregos-web) * [Heroku](https://www.heroku.com/) +* [InVision](https://claragutierrez948964.invisionapp.com/prototype/RoBorregos-Web-ck7wek80a00nuq301lmd3k920?v=LLi6aocBvdMc49RvTuq1sg%3D%3D&linkshare=urlcopied) +* [Google Drive](https://drive.google.com/drive/folders/1dZeA8SSFkDSlj61sY3vJiCqCYluquqlw?usp=sharing) ## Development ### Setup -Before setting up the project, you sould have installed the following development tools: +Before setting up the project, you should have installed the following development tools: * [Git](https://git-scm.com/downloads) * [Docker](https://runnable.com/docker/getting-started/) diff --git a/docker-compose.yml b/docker-compose.yml index 11d62614..f5377968 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,11 +2,12 @@ version: '3.3' services: frontend-web: - command: bash -c "yarn && yarn start" + image: roborregos/frontend-web:1.0 build: context: . dockerfile: Dockerfile volumes: - - .:/app + - .:/usr/src ports: - - 3000:3000 \ No newline at end of file + - 3000:3000 + command: bash -c "yarn && yarn start" diff --git a/issue_template.md b/issue_template.md new file mode 100644 index 00000000..b10d4a8f --- /dev/null +++ b/issue_template.md @@ -0,0 +1,7 @@ +- + +**Comportamiento deseado** +- + +**Criterios de aceptación** +- [ ] diff --git a/package-lock.json b/package-lock.json index a8634daf..7dc1be09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -922,12 +922,26 @@ } }, "@material-ui/icons": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-3.0.2.tgz", - "integrity": "sha512-QY/3gJnObZQ3O/e6WjH+0ah2M3MOgLOzCy8HTUoUx9B6dDrS18vP7Ycw3qrDEKlB6q1KNxy6CZHm5FCauWGy2g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.9.1.tgz", + "integrity": "sha512-GBitL3oBWO0hzBhvA9KxqcowRUsA0qzwKkURyC8nppnC3fw54KPKZ+d4V1Eeg/UnDRSzDaI9nGCdel/eh9AQMg==", "requires": { - "@babel/runtime": "^7.2.0", - "recompose": "0.28.0 - 0.30.0" + "@babel/runtime": "^7.4.4" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + } } }, "@material-ui/system": { @@ -1348,9 +1362,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" }, "acorn-dynamic-import": { "version": "3.0.0", @@ -1361,9 +1375,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" } } }, @@ -1686,9 +1700,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -2523,6 +2537,15 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==" }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bluebird": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", @@ -2596,6 +2619,11 @@ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==" }, + "bowser": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4015,6 +4043,21 @@ } } }, + "css-color-list": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/css-color-list/-/css-color-list-0.0.1.tgz", + "integrity": "sha1-hxjoaVrnosyHh76HFfHACKfyixU=", + "requires": { + "css-color-names": "0.0.1" + }, + "dependencies": { + "css-color-names": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.1.tgz", + "integrity": "sha1-XQVI+iVkVu3kqaDCrHqxnT6xrYE=" + } + } + }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", @@ -4196,6 +4239,16 @@ } } }, + "css-to-react-native": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-1.0.6.tgz", + "integrity": "sha1-cox+d05WU2VYoOyqmQ2VB8Q6SsQ=", + "requires": { + "css-color-list": "0.0.1", + "fbjs": "^0.8.5", + "nearley": "^2.7.7" + } + }, "css-tree": { "version": "1.0.0-alpha.28", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", @@ -4581,9 +4634,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -4731,6 +4784,11 @@ } } }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=" + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -5336,11 +5394,18 @@ } }, "eslint-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", - "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "requires": { - "eslint-visitor-keys": "^1.0.0" + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" + } } }, "eslint-visitor-keys": { @@ -5430,12 +5495,12 @@ } }, "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -5443,14 +5508,12 @@ "strip-eof": "^1.0.0" }, "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "pump": "^3.0.0" } } } @@ -5880,9 +5943,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -6007,6 +6070,12 @@ "schema-utils": "^1.0.0" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -6426,9 +6495,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -6569,13 +6638,14 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -6594,7 +6664,7 @@ "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "optional": true, "requires": { @@ -6617,7 +6687,7 @@ } }, "chownr": { - "version": "1.0.1", + "version": "1.1.3", "bundled": true, "optional": true }, @@ -6642,15 +6712,15 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "3.2.6", "bundled": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true, "optional": true }, @@ -6665,11 +6735,11 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -6693,7 +6763,7 @@ } }, "glob": { - "version": "7.1.2", + "version": "7.1.6", "bundled": true, "optional": true, "requires": { @@ -6711,15 +6781,15 @@ "optional": true }, "iconv-lite": { - "version": "0.4.21", + "version": "0.4.24", "bundled": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "optional": true, "requires": { @@ -6736,7 +6806,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "optional": true }, @@ -6772,20 +6842,20 @@ "optional": true }, "minipass": { - "version": "2.2.4", + "version": "2.9.0", "bundled": true, "optional": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", + "version": "1.3.3", "bundled": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { @@ -6797,35 +6867,35 @@ } }, "ms": { - "version": "2.0.0", + "version": "2.1.2", "bundled": true, "optional": true }, "needle": { - "version": "2.2.0", + "version": "2.4.0", "bundled": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.14.0", "bundled": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { @@ -6838,12 +6908,20 @@ } }, "npm-bundled": { - "version": "1.0.3", + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "optional": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.4.7", "bundled": true, "optional": true, "requires": { @@ -6905,16 +6983,16 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "optional": true }, "rc": { - "version": "1.2.7", + "version": "1.2.8", "bundled": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -6942,15 +7020,15 @@ } }, "rimraf": { - "version": "2.6.2", + "version": "2.7.1", "bundled": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", "bundled": true, "optional": true }, @@ -6965,7 +7043,7 @@ "optional": true }, "semver": { - "version": "5.5.0", + "version": "5.7.1", "bundled": true, "optional": true }, @@ -7011,17 +7089,17 @@ "optional": true }, "tar": { - "version": "4.4.1", + "version": "4.4.13", "bundled": true, "optional": true, "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -7030,11 +7108,11 @@ "optional": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -7043,7 +7121,7 @@ "optional": true }, "yallist": { - "version": "3.0.2", + "version": "3.1.1", "bundled": true, "optional": true } @@ -7141,9 +7219,9 @@ }, "dependencies": { "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -7215,9 +7293,9 @@ "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==" }, "handlebars": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", - "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", + "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -7844,9 +7922,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -8016,6 +8094,11 @@ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -8035,6 +8118,15 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, + "inline-style-prefixer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz", + "integrity": "sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c=", + "requires": { + "bowser": "^1.0.0", + "hyphenate-style-name": "^1.0.1" + } + }, "inquirer": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", @@ -8088,9 +8180,9 @@ } }, "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, "ip": { "version": "1.1.5", @@ -8235,6 +8327,11 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, "is-generator-fn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", @@ -9098,9 +9195,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" }, "parse5": { "version": "4.0.0", @@ -9306,11 +9403,11 @@ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "^2.0.0" } }, "left-pad": { @@ -9435,9 +9532,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash._reinterpolate": { "version": "3.0.0", @@ -9486,6 +9583,11 @@ "lodash._reinterpolate": "~3.0.0" } }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -9509,15 +9611,6 @@ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -9589,11 +9682,20 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "requires": { - "mimic-fn": "^1.0.0" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } } }, "memory-fs": { @@ -9843,6 +9945,11 @@ } } }, + "moo": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", + "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -9886,6 +9993,11 @@ "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", "optional": true }, + "nanoid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.0.1.tgz", + "integrity": "sha512-k1u2uemjIGsn25zmujKnotgniC/gxQ9sdegdezeDiKdkDW56THUMqlz3urndKCXJxA6yPzSZbXx/QCMe/pxqsA==" + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -9915,9 +10027,9 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -9926,6 +10038,18 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, + "nearley": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.16.0.tgz", + "integrity": "sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg==", + "requires": { + "commander": "^2.19.0", + "moo": "^0.4.3", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6", + "semver": "^5.4.1" + } + }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", @@ -10325,13 +10449,13 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, "os-tmpdir": { @@ -13057,11 +13181,6 @@ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, "psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", @@ -13148,6 +13267,20 @@ "performance-now": "^2.1.0" } }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=" + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "requires": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + } + }, "randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", @@ -13164,9 +13297,9 @@ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -13535,6 +13668,16 @@ } } }, + "react-rotating-text": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-rotating-text/-/react-rotating-text-1.3.1.tgz", + "integrity": "sha512-SUu+qg1XzfW4USLMxOJu5H6OBKBVbdeUpz837wKlUcaaxur4W5WuuWgt138wKTjlgqvv6zypKuj3d7RiCQ7cew==", + "requires": { + "classnames": "^2.1.2", + "lodash.toarray": "^4.4.0", + "prop-types": "^15.5.10" + } + }, "react-router": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", @@ -13614,107 +13757,654 @@ "webpack-dev-server": "3.1.14", "webpack-manifest-plugin": "2.0.4", "workbox-webpack-plugin": "3.6.3" - } - }, - "react-transition-group": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.3.tgz", - "integrity": "sha512-2DGFck6h99kLNr8pOFk+z4Soq3iISydwOFeeEVPjTN6+Y01CmvbWmnN02VuTWyFdnRtIDPe+wy2q6Ui8snBPZg==", - "requires": { - "dom-helpers": "^3.3.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", - "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "optional": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "optional": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "terser-webpack-plugin": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz", + "integrity": "sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg==", + "requires": { + "cacache": "^11.0.2", + "find-cache-dir": "^2.0.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "terser": "^3.16.1", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + } + } + } + }, + "react-scroll-parallax": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-scroll-parallax/-/react-scroll-parallax-2.1.2.tgz", + "integrity": "sha512-Sv2/3etQGgpTQnJhb/nMLcTQhz4ILrB1fIIW853XlHyhD0YuGINk66HciW7B1N9zZpGX8sJY37QNoYit9PdTdQ==", + "requires": { + "prop-types": "^15.5.10" + } + }, + "react-transition-group": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.3.tgz", + "integrity": "sha512-2DGFck6h99kLNr8pOFk+z4Soq3iISydwOFeeEVPjTN6+Y01CmvbWmnN02VuTWyFdnRtIDPe+wy2q6Ui8snBPZg==", + "requires": { + "dom-helpers": "^3.3.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + }, + "react-typing-animation": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/react-typing-animation/-/react-typing-animation-1.6.2.tgz", + "integrity": "sha512-dxe/Copl4eyBKXfrKEHLoQlCplPE8qRczVYfi5rl/dhr6dM51qwF0M4aMH87R4LqDD84Zpwj+uSNhsuc9nZ/wA==", + "requires": { + "raf": "^3.4.0", + "shortid": "^2.2.8", + "styled-components": "^1.4.6" + } + }, + "react-typist": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/react-typist/-/react-typist-2.0.5.tgz", + "integrity": "sha512-iZCkeqeegO0TlkTMiH2JD1tvMtY9RrXkRylnAI6m8aCVAUUwNzoWTVF7CKLij6THeOMcUDCznLDDvNp55s+YZA==", + "requires": { + "prop-types": "^15.5.10" + } + }, + "react-vertical-timeline-component": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-vertical-timeline-component/-/react-vertical-timeline-component-2.6.0.tgz", + "integrity": "sha512-bTjKDqmy/HYxSkf/k2lg9MidV+4n0Itdz6V77NKULCCeHx73C8O+JOlwxOD5WtEXk6w9SWG/PeVpigWZ0jkAYg==", + "requires": { + "classnames": "^2.2.6", + "prop-types": "^15.7.2", + "react-visibility-sensor": "^5.1.1" + } + }, + "react-visibility-sensor": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-visibility-sensor/-/react-visibility-sensor-5.1.1.tgz", + "integrity": "sha512-cTUHqIK+zDYpeK19rzW6zF9YfT4486TIgizZW53wEZ+/GPBbK7cNS0EHyJVyHYacwFEvvHLEKfgJndbemWhB/w==", + "requires": { + "prop-types": "^15.7.2" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", + "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { "is-extendable": "^0.1.0" @@ -13917,9 +14607,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -14610,9 +15300,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -14674,9 +15364,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "pify": { "version": "3.0.0", @@ -14835,9 +15525,9 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -14934,6 +15624,14 @@ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" }, + "shortid": { + "version": "2.2.14", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.14.tgz", + "integrity": "sha512-4UnZgr9gDdA1kaKj/38IiudfC3KHKhDc1zi/HSxd9FQDR0VLwH3/y79tZJLsVYPsJgIjeHjqIWaWVRJUj9qZOQ==", + "requires": { + "nanoid": "^2.0.0" + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -15486,6 +16184,45 @@ "schema-utils": "^1.0.0" } }, + "styled-components": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-1.4.6.tgz", + "integrity": "sha1-WPMuimq1EPsUgekB6DjgR38UiwY=", + "requires": { + "buffer": "^5.0.2", + "css-to-react-native": "^1.0.6", + "fbjs": "^0.8.7", + "inline-style-prefixer": "^2.0.5", + "is-function": "^1.0.1", + "is-plain-object": "^2.0.1", + "prop-types": "^15.5.4", + "supports-color": "^3.1.2" + }, + "dependencies": { + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, "stylehacks": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", @@ -15638,24 +16375,129 @@ } }, "terser-webpack-plugin": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz", - "integrity": "sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", + "serialize-javascript": "^2.1.2", "source-map": "^0.6.1", - "terser": "^3.16.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "dependencies": { + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "terser": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz", + "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "requires": { + "errno": "~0.1.7" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -15977,35 +16819,14 @@ } }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "uniq": { @@ -16344,9 +17165,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" }, "arr-diff": { "version": "4.0.0", @@ -16589,9 +17410,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -17174,21 +17995,16 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, "yargs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", "requires": { "cliui": "^4.0.0", "decamelize": "^1.1.1", "find-up": "^2.1.0", "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", diff --git a/package.json b/package.json index fb9a9e00..8712f5b2 100644 --- a/package.json +++ b/package.json @@ -7,15 +7,20 @@ "@fortawesome/free-solid-svg-icons": "^5.7.2", "@fortawesome/react-fontawesome": "^0.1.4", "@material-ui/core": "^3.9.2", - "@material-ui/icons": "^3.0.2", + "@material-ui/icons": "^4.9.1", "bootstrap": "^4.3.1", "fg-loadcss": "^2.1.0", "react": "^16.8.2", "react-addons-css-transition-group": "^15.6.2", "react-bootstrap": "^1.0.0-beta.5", "react-dom": "^16.8.2", + "react-rotating-text": "^1.3.1", "react-router-dom": "^4.3.1", "react-scripts": "^2.1.8", + "react-scroll-parallax": "^2.1.2", + "react-typing-animation": "^1.6.2", + "react-typist": "^2.0.5", + "react-vertical-timeline-component": "^2.6.0", "typeface-roboto": "0.0.54" }, "scripts": { diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100755 index a11777cc..00000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/images/black_icon.ico b/public/images/black_icon.ico new file mode 100644 index 00000000..59a9b399 Binary files /dev/null and b/public/images/black_icon.ico differ diff --git a/public/index.html b/public/index.html index f73a37d7..98366a6b 100755 --- a/public/index.html +++ b/public/index.html @@ -2,13 +2,14 @@ - + + - React App + RoBorregos diff --git a/pull_request_template.md b/pull_request_template.md index cb23c37e..59fc4a86 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -1,6 +1,10 @@ ### What does this PR do? -- +- + +#### Related issues + +# #### Merge Checklist: diff --git a/src/App.css b/src/App.css deleted file mode 100755 index 269a4ad0..00000000 --- a/src/App.css +++ /dev/null @@ -1,10 +0,0 @@ -.app-container { - height: 100%; -} - -.container-legend { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} \ No newline at end of file diff --git a/src/App.js b/src/App.js index 71a362a8..b08fe97b 100755 --- a/src/App.js +++ b/src/App.js @@ -1,75 +1,60 @@ import React, { Component } from 'react'; -import NavBar from 'components/NavBar/NavBar.js'; +import Home from 'components/Home/Home.js'; import Members from 'components/Members/Members.js'; +import Contact from 'components/Contact/Contact.js'; +import Candidates from 'components/Candidates/Candidates.js'; +import NavBar from 'components/NavBar/NavBar.js'; +import About from 'components/About/About.js'; import { loadCSS } from 'fg-loadcss/src/loadCSS'; import { BrowserRouter as Router, Route } from 'react-router-dom'; import routesData from 'data/routes.json'; import membersData from 'data/members.json'; -import './App.css'; - -function Home() { - return ( -

- Home -

- ); -} - -function AboutUs() { - return ( -

- About us -

- ); -} - -function ContactUs() { - return ( -

- Contact us -

- ); -} class App extends Component { - componentDidMount() { + componentDidMount() { loadCSS( 'https://use.fontawesome.com/releases/v5.1.0/css/all.css', document.querySelector('#insertion-point-jss'), ); } - render() { - return ( - -
- - - - - - - - } - /> - - - -
-
- ); - } + render() { + document.title = 'RoBorregos' + + return ( + +
+ + + + } + /> + + } + /> + + } + /> + + } + /> + + } + /> +
+
+ ); + } } export default App; diff --git a/src/components/About/About.css b/src/components/About/About.css new file mode 100644 index 00000000..b5122cc6 --- /dev/null +++ b/src/components/About/About.css @@ -0,0 +1,4 @@ +.about-container { + height: 100%; + background: #000; +} diff --git a/src/components/About/About.js b/src/components/About/About.js new file mode 100644 index 00000000..d2e559d9 --- /dev/null +++ b/src/components/About/About.js @@ -0,0 +1,22 @@ +import React, { Component } from 'react'; +import AboutHeader from './AboutHeader/AboutHeader.js'; +import AboutTimeline from './AboutTimeline/AboutTimeline.js' +import Footer from 'components/Footer/Footer.js'; +import timelineData from 'data/timeline.json'; +import './About.css'; + +class About extends Component { + render() { + document.title = 'RoBorregos | About'; + + return ( +
+ + +
+ ); + } +} + +export default About; diff --git a/src/components/About/AboutHeader/AboutHeader.css b/src/components/About/AboutHeader/AboutHeader.css new file mode 100644 index 00000000..b1acbd99 --- /dev/null +++ b/src/components/About/AboutHeader/AboutHeader.css @@ -0,0 +1,112 @@ +.about-header-img-container { + position: absolute; + width: 100%; + height: 100vh; + overflow: hidden; +} + +.about-header-img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.right-gradient { + position: absolute; + height: 100vh; + top: 0%; + right: 30%; + left: 65%; + background: linear-gradient(to top left, rgb(0, 0, 0, 0.75) 50%, transparent 50%); +} + +.right-text { + position: absolute; + height: 100vh; + right: 0%; + left: 70%; + top: 0%; + background: rgb(0, 0, 0, 0.75); + text-align: right; +} + +.left-gradient { + position: absolute; + height: 100vh; + top: 0%; + left: 35%; + right: 55%; + background: linear-gradient(to top right, rgb(0, 0, 0, 0.75) 50%, transparent 50%); +} + +.left-text { + position: absolute; + height: 100vh; + left: 0%; + right: 65%; + top: 0%; + background: rgb(0, 0, 0, 0.75); + text-align: left; +} + +.text-box { + position: absolute; + max-width: 100%; + max-height: 100%; + top: 50%; + -ms-transform: translateY(-50%); + transform: translateY(-50%); + padding: 5%; +} + +.text-header { + color: white; + font-size: 6vh; +} + +.text-paragraph { + color: white; + font-size: 2.8vh; +} + +@media (max-width: 1200px) { + .text-paragraph { + font-size: 2vh; + } +} + + +@media (max-width: 992px) { + .text-header { + font-size: 6vw; + } + + .text-paragraph { + font-size: 2.8vw; + } +} + +.carousel, +.item { + width: 100%; + height: 100%; + overflow: hidden; +} + +.carousel-indicators li { + width: 24px; + height: 24px; + border-radius: 100%; + background-color: rgb(255, 255, 255); + opacity: 75; + border: 2px solid transparent; +} + +.carousel-indicators .active { + background-color: rgba(31, 31, 31, 0.9); + border: 2px solid white; +} + +.carousel-inner { + height: 100%; +} diff --git a/src/components/About/AboutHeader/AboutHeader.js b/src/components/About/AboutHeader/AboutHeader.js new file mode 100644 index 00000000..4dd973e9 --- /dev/null +++ b/src/components/About/AboutHeader/AboutHeader.js @@ -0,0 +1,56 @@ +import React, { Component } from 'react'; +import Carousel from 'react-bootstrap/Carousel' +import HeaderImg1 from 'images/about/about1.png'; +import HeaderImg2 from 'images/about/about2.jpg'; +import './AboutHeader.css'; + +class AboutHeader extends Component { + render() { + return ( + + +
+ First slide +
+
+
+
+

+ How it all began +

+

+ In 2015, four students organized themselves to compete in the national robotics tournament of Mexico, called TMR. They achieved the pass for the international by gaining 1st place in the category Rescue Maze. Astonished by the different tech levels of other countries, they started RoBorregos, with the intention of sharing this knowledge and experiences through generations. +

+
+
+
+ +
+ Second slide +
+
+
+
+

+ What we develop for +

+

+ Our vision is to become, in the next decade, the best robotics team in Latin America, in national and international competitions for university students and be able to promote technological development in Mexico. +

+
+
+
+
+ ); + } +} + +export default AboutHeader; diff --git a/src/components/About/AboutTimeline/AboutSingleTimelineEvent/AboutSingleTimelineEvent.css b/src/components/About/AboutTimeline/AboutSingleTimelineEvent/AboutSingleTimelineEvent.css new file mode 100644 index 00000000..5b013503 --- /dev/null +++ b/src/components/About/AboutTimeline/AboutSingleTimelineEvent/AboutSingleTimelineEvent.css @@ -0,0 +1,52 @@ +.timeline-element-img-container .timeline-element-img { + height: 100%; + transition: 0.3s; + width: 100%; +} + +.timeline-element-img-container .timeline-element-img-title { + position: absolute; + height: 100%; + width: 100%; + top: 0; + background: rgba(0, 0, 0, 0.4); + font-size: 2em; + display: -webkit-flexbox; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-flex-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + justify-content: center; + text-align: center; +} + +.timeline-element-content { + opacity: 0; + font-size: 4vh; + position: absolute; + top: 0; + left: 0; + color: white; + background: rgba(0, 0, 0); + width: 100%; + height: 100%; + border-radius: 3px; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + text-align: left; + padding: 5%; + display: flex; + justify-content: center; + align-items: center; + text-align: center; +} + +.timeline-element-content:hover { + opacity: 1; +} diff --git a/src/components/About/AboutTimeline/AboutSingleTimelineEvent/AboutSingleTimelineEvent.js b/src/components/About/AboutTimeline/AboutSingleTimelineEvent/AboutSingleTimelineEvent.js new file mode 100644 index 00000000..57a1a8d5 --- /dev/null +++ b/src/components/About/AboutTimeline/AboutSingleTimelineEvent/AboutSingleTimelineEvent.js @@ -0,0 +1,111 @@ +import React, { Component } from 'react'; +import { VerticalTimelineElement } from 'react-vertical-timeline-component'; +import placeholder from 'images/placeholder-rectangle.png'; +import 'react-vertical-timeline-component/style.min.css'; +import './AboutSingleTimelineEvent.css'; + +class AboutSingleTimelineEvent extends Component{ + constructor(props) { + super(props); + + this.resolveColor = this.resolveColor.bind(this); + this.resolvePosition = this.resolvePosition.bind(this); + this.resolvePropsValues = this.resolvePropsValues.bind(this); + + this.tryRequire = this.tryRequire.bind(this); + this.handleHover = this.handleHover.bind(this); + + this.id = props.id; + this.event = props.event; + + this.date = this.event.date; + this.year = this.date.substr(this.date.length - 4); + this.backgroundColor = this.resolveColor(this.year); + + this.state = { + hover: false, + } + } + + tryRequire(img_path) { + try { + return require('images/' + img_path); + } + catch(err) { + return placeholder; + } + } + + resolveColor(year) { + let colors = ['rgb(0, 178, 154)', 'rgb(238, 77, 122)', 'rgb(255, 130, 0)', 'rgb(155, 0, 250)']; + return colors[year % 4]; + } + + resolvePosition(year) { + return parseInt(year) % 2 ? 'right' : 'left'; + } + + handleHover() { + this.setState({ hover: !this.state.hover }); + } + + resolvePropsValues() { + if (this.state.hover) { + this.contentColor = this.backgroundColor; + this.displayContent = 'block'; + this.displayImg = 'none'; + } + else { + this.contentColor = this.backgroundColor; + this.displayContent = 'none'; + this.displayImg = 'block'; + } + } + + render() { + this.resolvePropsValues(); + + return( + +
+ { +
+

+ { this.event.title } +

+
+
+
+
+

+ { this.event.title } +

+

+ { this.event.description } +

+
+
+
+ ); + } +} + +export default AboutSingleTimelineEvent diff --git a/src/components/About/AboutTimeline/AboutTimeline.css b/src/components/About/AboutTimeline/AboutTimeline.css new file mode 100644 index 00000000..b3330f46 --- /dev/null +++ b/src/components/About/AboutTimeline/AboutTimeline.css @@ -0,0 +1,20 @@ +/* + TODO: Replace linear-gradient with pattern img. +*/ +.about-timeline-container { + background: linear-gradient(45deg, rgba(0, 0, 0, 0.9) 100%, rgba(61, 61, 61, 0.9) 30%); + color: white; +} + +#timeline-title { + padding: 20px 0; +} + +.timeline-element-img { + width: 100%; + border-radius: 3px; +} + +.timeline-element-container { + padding: 20px; +} diff --git a/src/components/About/AboutTimeline/AboutTimeline.js b/src/components/About/AboutTimeline/AboutTimeline.js new file mode 100644 index 00000000..319dddd3 --- /dev/null +++ b/src/components/About/AboutTimeline/AboutTimeline.js @@ -0,0 +1,37 @@ +import React, { Component } from 'react'; +import { Container, Row } from 'react-bootstrap'; +import AboutSingleTimelineEvent from './AboutSingleTimelineEvent/AboutSingleTimelineEvent.js'; +import { VerticalTimeline } from 'react-vertical-timeline-component'; +import './AboutTimeline.css'; + +class AboutTimeline extends Component { + constructor(props) { + super(props); + + this.events = props.events; + } + + render() { + return ( +
+ + +

+ Our Story +

+
+ + { this.events.map((event, index) => ( + + )) } + +
+
+ ); + } +} + +export default AboutTimeline; diff --git a/src/components/Candidates/Candidates.css b/src/components/Candidates/Candidates.css new file mode 100644 index 00000000..a2231a8d --- /dev/null +++ b/src/components/Candidates/Candidates.css @@ -0,0 +1,3 @@ +.candidates-container { + height: 100%; +} diff --git a/src/components/Candidates/Candidates.js b/src/components/Candidates/Candidates.js new file mode 100644 index 00000000..873bb42c --- /dev/null +++ b/src/components/Candidates/Candidates.js @@ -0,0 +1,26 @@ +import React, { Component } from 'react'; +import CandidatesHeader from './CandidatesHeader/CandidatesHeader.js' +import CandidatesCarousel from './CandidatesCarousel/CandidatesCarousel.js' +import CandidatesInfo from './CandidatesInfo/CandidatesInfo.js' +import CandidatesJoinUs from './CandidatesJoinUs/CandidatesJoinUs.js' +import Footer from 'components/Footer/Footer'; +import positionsData from 'data/positions.json'; +import './Candidates.css'; + +class Candidates extends Component { + render() { + document.title = 'RoBorregos | Candidates'; + + return ( +
+ + + + +
+ ); + } +} + +export default Candidates; diff --git a/src/components/Candidates/CandidatesCarousel/CandidatesCarousel.css b/src/components/Candidates/CandidatesCarousel/CandidatesCarousel.css new file mode 100644 index 00000000..f0c8a2c2 --- /dev/null +++ b/src/components/Candidates/CandidatesCarousel/CandidatesCarousel.css @@ -0,0 +1,12 @@ +.candidates-header-img-container { + position: absolute; + width: 100%; + height: 100vh; + overflow: hidden; +} + +.candidates-header-img { + width: 100%; + height: 100%; + object-fit: cover; +} diff --git a/src/components/Candidates/CandidatesCarousel/CandidatesCarousel.js b/src/components/Candidates/CandidatesCarousel/CandidatesCarousel.js new file mode 100644 index 00000000..5fd920d9 --- /dev/null +++ b/src/components/Candidates/CandidatesCarousel/CandidatesCarousel.js @@ -0,0 +1,44 @@ +import React, { Component } from 'react'; +import Carousel from 'react-bootstrap/Carousel' +import CarouselImg1 from 'images/candidates/candidates1.png'; +import CarouselImg2 from 'images/candidates/candidates2.png'; +import CarouselImg3 from 'images/candidates/candidates3.png'; +import './CandidatesCarousel.css'; + +class CandidatesCarousel extends Component { + render() { + return ( + + +
+ First slide +
+
+ +
+ Second slide +
+
+ +
+ Third slide +
+
+
+ ); + } +} + +export default CandidatesCarousel; diff --git a/src/components/Candidates/CandidatesHeader/CandidatesHeader.css b/src/components/Candidates/CandidatesHeader/CandidatesHeader.css new file mode 100644 index 00000000..051fd272 --- /dev/null +++ b/src/components/Candidates/CandidatesHeader/CandidatesHeader.css @@ -0,0 +1,39 @@ +.candidates-header { + height: 100%; + position: relative; + background: linear-gradient( 45deg, rgba(20, 18, 19, 0.9) 30%, rgba(232, 75, 119, 0.9) 100%), url(../../../images/github_pattern.svg) top left/auto repeat fixed; + color: #fff; +} + +.candidates-header .main-text-candidates { + color: rgba(255, 255, 255, 0.9); + font-size: 3vh; + text-transform: none; + padding-top: 2%; + padding-bottom: 0%; +} + +.candidates-header .candidates-header-footer { + font-size: 3vh; + text-transform: none; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + position: absolute; + bottom: 5vh; + left: 0; + right: 0; + margin-left:auto; + margin-right:auto; +} + +.candidates-header .candidates-header-footer .icon-btn { + cursor: pointer; + color: rgb(232, 75, 119); + font-size: 30px; +} + +.candidates-header .candidates-header-footer .icon-btn:hover { + color: rgb(196, 63, 101); +} diff --git a/src/components/Candidates/CandidatesHeader/CandidatesHeader.js b/src/components/Candidates/CandidatesHeader/CandidatesHeader.js new file mode 100644 index 00000000..6c44a735 --- /dev/null +++ b/src/components/Candidates/CandidatesHeader/CandidatesHeader.js @@ -0,0 +1,43 @@ +import React, { Component } from 'react'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faChevronDown } from '@fortawesome/free-solid-svg-icons'; +import { faAngleDown } from '@fortawesome/free-solid-svg-icons'; +import { Row, Col } from 'react-bootstrap'; +import './CandidatesHeader.css'; + +class CandidatesHeader extends Component { + scrollToInfo(){ + window.scrollBy(0, window.innerHeight - 48 - window.scrollY); + } + + render() { + return( +
+
+

+ Candidates +

+
+

+ + We want you to be part of our team! + +
+ Every year, we recruit new members that are studying at Tec of Monterrey, Campus Monterrey, who are passionate in developing robots. +

+
+
+
+

+ Are you a candidate? +
+ Join us! +

+ +
+
+ ); + } +} + +export default CandidatesHeader; diff --git a/src/components/Candidates/CandidatesInfo/CandidatesInfo.css b/src/components/Candidates/CandidatesInfo/CandidatesInfo.css new file mode 100644 index 00000000..8d6ea5be --- /dev/null +++ b/src/components/Candidates/CandidatesInfo/CandidatesInfo.css @@ -0,0 +1,14 @@ +.info-container { + color: white; + background-color: rgb(232, 75, 119); + padding-top: 5%; + padding-bottom: 5%; +} + +.info-container h2 { + margin-bottom: 2rem; +} + +.info-container p { + font-size: 2.5vh +} diff --git a/src/components/Candidates/CandidatesInfo/CandidatesInfo.js b/src/components/Candidates/CandidatesInfo/CandidatesInfo.js new file mode 100644 index 00000000..cc77abdd --- /dev/null +++ b/src/components/Candidates/CandidatesInfo/CandidatesInfo.js @@ -0,0 +1,24 @@ +import React, { Component } from 'react'; +import { Row, Col } from 'react-bootstrap'; +import './CandidatesInfo.css'; + +class CandidatesInfo extends Component { + render() { + return ( +
+ + +

+ What is candidates? +

+

+ Candidates is a program we host during the August-December semester. Where we offer free basic courses for everyone to learn about mechanics, electronics, and software with arduino. Wanting to inspire young college students to get hands-on developing technology. Near the end of the semester, we held a competition to encourage teamwork and new team members are recruited. +

+ +
+
+ ); + } +} + +export default CandidatesInfo; diff --git a/src/components/Candidates/CandidatesJoinUs/CandidatesJoinUs.css b/src/components/Candidates/CandidatesJoinUs/CandidatesJoinUs.css new file mode 100644 index 00000000..bfeec02e --- /dev/null +++ b/src/components/Candidates/CandidatesJoinUs/CandidatesJoinUs.css @@ -0,0 +1,49 @@ +.candidates-join-us { + background: + linear-gradient( + 20deg, + rgba(20, 18, 19, 1) 10%, + rgba(232, 75, 119, 0.9) 100% + ), + url(../../../images/github_pattern.svg) top left/auto repeat fixed; + text-align: center; + padding-top: 10vh; + padding-bottom: 10vh; +} + +.candidates-join-us-title-container { + color: #fff; +} + +.candidates-join-us-btn-container { + width: 100%; + font-size: 40px; + font-weight: bold; + min-height: 75px; +} + +.candidates-join-us-btn { + margin: auto; + cursor: pointer; + border: 1px solid #4F72B8; + border-radius: 8px !important; + font-size: 30px; + width: 22%; + height: 80px; + background-color: #13191E; + color: white !important; + transition: 0.3s; +} + +@media (max-width: 610px) { + .candidates-join-us-btn { + width: 40%; + font-size: 25px; + height: 65px; + } +} + +.candidates-join-us-btn:hover { + border: 1px solid #13191E; + background-color: #4F72B8; +} diff --git a/src/components/Candidates/CandidatesJoinUs/CandidatesJoinUs.js b/src/components/Candidates/CandidatesJoinUs/CandidatesJoinUs.js new file mode 100644 index 00000000..93e14bf2 --- /dev/null +++ b/src/components/Candidates/CandidatesJoinUs/CandidatesJoinUs.js @@ -0,0 +1,42 @@ +import React, { Component } from 'react'; +import { Row, Col } from 'react-bootstrap'; +import CandidatesOpenPositions from './CandidatesOpenPositions/CandidatesOpenPositions.js'; +import './CandidatesJoinUs.css'; + +class CandidatesJoinUs extends Component { + constructor(props) { + super(props); + + this.positionsData = props.positionsData; + + this.joinUsCallback = this.joinUsCallback.bind(this); + } + + joinUsCallback() { + window.open(this.positionsData.url_facebook, '_blank'); + } + + render() { + return( +
+ + +

+ Get to know our main positions! +

+ +
+ + + + + + +
+ ); + } +} + +export default CandidatesJoinUs; diff --git a/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/CandidatesOpenPositions.css b/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/CandidatesOpenPositions.css new file mode 100644 index 00000000..e69de29b diff --git a/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/CandidatesOpenPositions.js b/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/CandidatesOpenPositions.js new file mode 100644 index 00000000..ea86a705 --- /dev/null +++ b/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/CandidatesOpenPositions.js @@ -0,0 +1,26 @@ +import React, { Component } from 'react'; +import { Row, Col } from 'react-bootstrap'; +import OpenPositionCard from './OpenPositionCard/OpenPositionCard' +import './CandidatesOpenPositions.css'; + +class CandidatesOpenPostions extends Component { + constructor(props) { + super(props); + + this.positions = props.positionsData.positions; + } + + render() { + return( + + + + { this.positions.map(position => ()) } + + + + ); + } +} + +export default CandidatesOpenPostions; diff --git a/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/OpenPositionCard/OpenPositionCard.css b/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/OpenPositionCard/OpenPositionCard.css new file mode 100644 index 00000000..12e3cfaa --- /dev/null +++ b/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/OpenPositionCard/OpenPositionCard.css @@ -0,0 +1,129 @@ +.candidates-open-positions-card { + cursor: pointer; + flex-direction: row !important; + color: black; + padding: 40px 30px; + background-color: #13191E; + border-radius: 6px; + border: none; + padding: 40px 30px; + margin: 0 3% 30px 0; + width: 47%; + -webkit-transition: all .3s ease-in, all .3s ease-out; + transition: all .3s ease-in, all .3s ease-out; +} + +.candidates-open-positions-card:hover { + -webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5) !important; + box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5) !important; +} + +@media (max-width: 990px) { + .candidates-open-positions-card { + width: 100%; + margin-right: 0; + } +} + +.candidates-card-title { + color: white; + font-size: xx-large; + text-align: left; +} + +.candidates-card-text { + color: white; + text-align: left; + padding-left: 5px; +} + +.candidates-card-column-image-container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.circle { + display: flex; + align-items: center; + justify-content: center; +} + +.icon-container { + background: #4F72B8; + width: 70px; + height: 70px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; +} + +.icon-container > svg { + color: #13191E; +} + +@media (max-width: 500px) { + .candidates-card-title { + font-size: x-large; + text-align: left; + padding-left: 5px; + } + + .candidates-card-text { + font-size: small; + text-align: left; + padding-left: 5px; + } +} + +@media (max-width: 400px) { + .candidates-card-image-container { + position: absolute; + left: -10px; + border-radius: 50%; + width: 57px; + height: 57px; + margin-right: 100px; + } + + .candidates-card-title { + font-size: x-large; + text-align: left; + padding-left: 5px; + } + + .candidates-card-text { + font-size: small; + text-align: left; + padding-left: 5px; + } +} + +.candidates-open-positions-card { + float: left; + overflow: hidden; + position: relative; + text-align: center; + cursor: default; +} + +.candidates-open-positions-card .candidates-card-column-text-container-overlay { + height: 100%; + padding-right: 50px; + position: absolute; + overflow: hidden; + top: 0; + left: 30%; + opacity: 0; + background-color: transparent; + -webkit-transition: all .3s ease-in, all .3s ease-out; + transition: all .3s ease-in, all .3s ease-out; +} + +.candidates-card-column-text-container-overlay-original { + opacity: 1; + -webkit-transition: all .3s ease-in, all .3s ease-out; + transition: all .3s ease-in, all .3s ease-out; +} diff --git a/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/OpenPositionCard/OpenPositionCard.js b/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/OpenPositionCard/OpenPositionCard.js new file mode 100644 index 00000000..b16f463a --- /dev/null +++ b/src/components/Candidates/CandidatesJoinUs/CandidatesOpenPositions/OpenPositionCard/OpenPositionCard.js @@ -0,0 +1,66 @@ +import React, { Component } from 'react'; +import { Row, Col, Card } from 'react-bootstrap'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faCode, faMicrochip, faCog, faBullhorn } from '@fortawesome/free-solid-svg-icons'; +import './OpenPositionCard.css'; + +class OpenPositionCard extends Component { + constructor(props) { + super(props); + + this.position = props.position; + } + + tryRequire(id) { + id = parseInt(id); + switch(id){ + case 1: + return faCode; + case 2: + return faMicrochip; + case 3: + return faCog; + default: + return faBullhorn; + } + } + + render() { + return( + + + + +
+
+ +
+
+ + + + { this.position.title } + + + { this.position.longDescription } + + + + + { this.position.title } + + + { this.position.shortDescription } + + +
+
+
+ ); + } +} + +export default OpenPositionCard; diff --git a/src/components/Contact/Contact.css b/src/components/Contact/Contact.css new file mode 100644 index 00000000..1f1dd55f --- /dev/null +++ b/src/components/Contact/Contact.css @@ -0,0 +1,3 @@ +.contact-container { + height: auto; +} diff --git a/src/components/Contact/Contact.js b/src/components/Contact/Contact.js new file mode 100644 index 00000000..60b39b29 --- /dev/null +++ b/src/components/Contact/Contact.js @@ -0,0 +1,27 @@ +import React, { Component } from 'react'; +import ContactHeader from './ContactHeader/ContactHeader.js'; +import ContactSponsorUs from './ContactSponsorUs/ContactSponsorUs.js'; +import ContactDonations from './ContactDonations/ContactDonations.js'; +import ContactCompetitions from './ContactCompetitions/ContactCompetitions.js'; +import competitionsData from 'data/competitions.json'; +import sponsorsData from 'data/sponsors.json'; +import Footer from 'components/Footer/Footer'; +import './Contact.css'; + +class Contact extends Component { + render() { + document.title = 'RoBorregos | Contact'; + + return ( +
+ + + + +
+ ); + } +} + +export default Contact; diff --git a/src/components/Contact/ContactCompetitions/ContactCompetitions.css b/src/components/Contact/ContactCompetitions/ContactCompetitions.css new file mode 100644 index 00000000..5fdf466e --- /dev/null +++ b/src/components/Contact/ContactCompetitions/ContactCompetitions.css @@ -0,0 +1,37 @@ +.contact-competitions-container { + justify-content: center; + padding-bottom: 50px; + padding-top: 50px; + background: url(../../../images/github_pattern.svg) top left/auto repeat fixed #1C2329; +} + +.contact-competitions-title { + padding: 20px 0 40px 0; + justify-content: center; + text-align: center; + font-size: 23px; + color: white; +} + +.competitions-img > img { + border-radius: 50%; + width: 10vw; + height: 10vw; + -webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.75); + -moz-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.75); + box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.75); +} + +.competitions-text { + padding: 15px 0 20px 0; + justify-content: center; + font-size: 18px; + color: white; +} + +@media (max-width: 992px) { + .competitions-img > img { + width: 20vw; + height: 20vw; + } +} diff --git a/src/components/Contact/ContactCompetitions/ContactCompetitions.js b/src/components/Contact/ContactCompetitions/ContactCompetitions.js new file mode 100644 index 00000000..b252b3a2 --- /dev/null +++ b/src/components/Contact/ContactCompetitions/ContactCompetitions.js @@ -0,0 +1,49 @@ +import React, { Component } from 'react'; +import { Row, Col } from 'react-bootstrap'; +import placeholder from 'images/placeholder-rectangle.png'; +import './ContactCompetitions.css'; + +class ContactCompetitions extends Component { + constructor(props) { + super(props); + + this.competitions = props.competitionsData.competitions; + } + + tryRequire(img_path) { + try { + return require('images/' + img_path); + } + catch(err) { + return placeholder; + } + } + + render() { + return ( + + + + Our sponsors team is part of our development in the following competitions: + + + { this.competitions.map(competition => ( + + +
+ { +
+
+ + { competition.name } + + + )) } +
+ +
+ ); + } +} + +export default ContactCompetitions; diff --git a/src/components/Contact/ContactDonations/ContactDonations.css b/src/components/Contact/ContactDonations/ContactDonations.css new file mode 100644 index 00000000..cddff7c7 --- /dev/null +++ b/src/components/Contact/ContactDonations/ContactDonations.css @@ -0,0 +1,40 @@ +.contact-donations-container { + display: flex; + justify-content: center; + padding-top: 50px; + padding-bottom: 50px; + background: url(../../../images/github_pattern_clearer.svg) top left/auto repeat fixed #9B00FA; +} + +.donations-title { + justify-content: center; + text-align: center; + font-size: 23px; + color: white; +} + +.donations-step-container { + padding-bottom: 15px; + padding-top: 15px; + justify-content: center; + text-align: center; + color: white; +} + +.donations-step { + display: flex; + height: 55px; + width: 55px; + border-radius: 50%; + font-size: 25px; + justify-content: center; + align-items: center; + background-color: #1C2329; +} + +.donations-text { + padding: 10px; + font-size: 16px; + justify-content: center; + text-align:center; +} diff --git a/src/components/Contact/ContactDonations/ContactDonations.js b/src/components/Contact/ContactDonations/ContactDonations.js new file mode 100644 index 00000000..b3617251 --- /dev/null +++ b/src/components/Contact/ContactDonations/ContactDonations.js @@ -0,0 +1,25 @@ +import React, { Component } from 'react'; +import './ContactDonations.css'; +import { Row, Col } from 'react-bootstrap'; + +class ContactDonations extends Component { + render() { + return ( +
+ + + By providing us an anonymous donation, you can give us the necessary resources for us to develop technology and compete! + + + + Contact us  + + for more information! + + +
+ ); + } +} + +export default ContactDonations; diff --git a/src/components/Contact/ContactHeader/ContactHeader.css b/src/components/Contact/ContactHeader/ContactHeader.css new file mode 100644 index 00000000..5ed84188 --- /dev/null +++ b/src/components/Contact/ContactHeader/ContactHeader.css @@ -0,0 +1,35 @@ +.contact-header-container { + background: url(../../../images/github_pattern.svg) top left/auto repeat fixed, linear-gradient(226.17deg, #9B00FA 0%, #1C2329 50%); + min-height: 400px; + display: flex; + justify-content: center; + color: white; +} + +.contact-header-text { + margin-top: 5%; +} + +.contact-header-title { + padding: 10px; + font-size: 40px; +} + +.contact-header-subtitle { + padding: 10px; + font-size: 22px; +} + +.contact-header-footer { + position: absolute; + bottom: 0; + padding-bottom: 10px; + justify-content: center; + text-align: center; +} + +.contact-header-footer svg { + cursor: pointer; + color: rgb(0, 225, 250); + font-size: 30px; +} diff --git a/src/components/Contact/ContactHeader/ContactHeader.js b/src/components/Contact/ContactHeader/ContactHeader.js new file mode 100644 index 00000000..79bc0933 --- /dev/null +++ b/src/components/Contact/ContactHeader/ContactHeader.js @@ -0,0 +1,41 @@ +import React, { Component } from 'react'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faAngleDown } from '@fortawesome/free-solid-svg-icons'; +import { Row, Col } from 'react-bootstrap'; +import './ContactHeader.css'; + +class ContactHeader extends Component { + scrollToInfo(){ + window.scrollBy(0, 400 - window.scrollY); + } + + render() { + return ( +
+ + + + Contact + + + Would you like to support RoBorregos? + + + Join our sponsors team! + + + + + Learn More + + + + + + +
+ ); + } +} + +export default ContactHeader; diff --git a/src/components/Contact/ContactSponsorUs/ContactSponsorPackages/ContactSponsorPackages.css b/src/components/Contact/ContactSponsorUs/ContactSponsorPackages/ContactSponsorPackages.css new file mode 100644 index 00000000..55d69b7b --- /dev/null +++ b/src/components/Contact/ContactSponsorUs/ContactSponsorPackages/ContactSponsorPackages.css @@ -0,0 +1,55 @@ +.packages-card { + height: 100%; + background-color: #13191E; + border-radius: 6px; + border: none; + -webkit-transition: all .3s ease-in, all .3s ease-out; + transition: all .3s ease-in, all .3s ease-out; + padding-bottom: 40px; +} + +.packages-card:hover { + -webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5) !important; + box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5) !important; +} + +hr { + border-color: white !important; +} + +.benefit-container { + display: flex; + flex-direction: row; + text-align: left; + margin-bottom: 10px; +} + +.benefit-icon { + color: #4F72B8; + font-size: 25px; +} + +.benefit-text { + font-size: 13px; +} + +.package-card-footer { + display: flex; + position: absolute; + bottom: 7px; + left: 0px; +} + +.package-card-footer img { + width: 100%; +} + +.package-card-footer .no-padding { + padding: 10px; +} + +@media (min-width: 1500px) { + .package-card-footer img { + width: 70% + } +} diff --git a/src/components/Contact/ContactSponsorUs/ContactSponsorPackages/ContactSponsorPackages.js b/src/components/Contact/ContactSponsorUs/ContactSponsorPackages/ContactSponsorPackages.js new file mode 100644 index 00000000..33258955 --- /dev/null +++ b/src/components/Contact/ContactSponsorUs/ContactSponsorPackages/ContactSponsorPackages.js @@ -0,0 +1,61 @@ +import React, { Component } from 'react'; +import Card from 'react-bootstrap/Card'; +import { Row, Col } from 'react-bootstrap'; +import logo from 'images/white_logo.png'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faCheckCircle } from '@fortawesome/free-solid-svg-icons'; +import './ContactSponsorPackages.css'; + +class ContactSponsorPackages extends Component { + constructor(props) { + super(props); + + this.packages = props.packagesData.packages; + } + + render() { + return( + + + + { this.packages.map(pkg => ( + + + +

+ { pkg.name } +

+
+ { pkg.benefits.map(benefit => ( +
+
+ +
+
+ { benefit } +
+
+ )) } + +
+ + Logo + +
+
+
+ +
+ + )) } +
+ +
+ ); + } +} + +export default ContactSponsorPackages; diff --git a/src/components/Contact/ContactSponsorUs/ContactSponsorUs.css b/src/components/Contact/ContactSponsorUs/ContactSponsorUs.css new file mode 100644 index 00000000..b59e6486 --- /dev/null +++ b/src/components/Contact/ContactSponsorUs/ContactSponsorUs.css @@ -0,0 +1,40 @@ +.contact-sponsor-us { + padding-bottom: 100px; + padding-top: 40px; + color: white; + text-align: center; + background: url(../../../images/github_pattern.svg) top left/auto repeat fixed #1C2329; +} + +.contact-sponsor-us-btn { + border: 1px solid #4F72B8; + border-radius: 8px; + font-size: 30px; + width: 22%; + height: 80px; + color: white; + transition: 0.3s; + background-color: #13191E; +} + +@media (max-width: 750px) { + .contact-sponsor-us-btn { + width: 30%; + font-size: 25px; + } +} + +@media (max-width: 610px) { + .contact-sponsor-us-btn { + width: 40%; + font-size: 25px; + height: 65px; + margin-top: 10px; + } +} + +.contact-sponsor-us-btn:hover { + color: white; + border: 1px solid #13191E; + background-color: #4F72B8; +} diff --git a/src/components/Contact/ContactSponsorUs/ContactSponsorUs.js b/src/components/Contact/ContactSponsorUs/ContactSponsorUs.js new file mode 100644 index 00000000..aed6974f --- /dev/null +++ b/src/components/Contact/ContactSponsorUs/ContactSponsorUs.js @@ -0,0 +1,35 @@ +import React, { Component } from 'react'; +import ContactSponsorPackages from './ContactSponsorPackages/ContactSponsorPackages.js'; +import './ContactSponsorUs.css'; + +class ContactSponsorUs extends Component { + constructor(props) { + super(props); + + this.sponsorsData = props.sponsorsData; + + this.sponsorUsCallback = this.sponsorUsCallback.bind(this); + } + + sponsorUsCallback() { + window.open(this.sponsorsData.url_contact, '_blank'); + } + + render() { + return( +
+

+ Would you like to support RoBorregos? +
+ Join our sponsors team! +

+ + +
+ ); + } +} + +export default ContactSponsorUs; diff --git a/src/components/Footer/Footer.css b/src/components/Footer/Footer.css new file mode 100644 index 00000000..1b00f299 --- /dev/null +++ b/src/components/Footer/Footer.css @@ -0,0 +1,202 @@ +.footer-container { + color: rgb(250, 250, 250); + background-color: rgb(10, 15, 20); +} + +.footer-row { + background-color: rgb(10, 15, 20); + width: 100%; + height: 31vh; +} + +.footer-logo { + width: 60vh; + height: 31vh; + object-fit: cover; + object-position: top; +} + +.col-logo { + padding-left: 2%; + align-items: left; + height: 31vh; +} + +.footer-col { + padding-top: 20px; + height: 30vh; +} + +.sitemap-link { + display: inline-block; + padding-left: 1.4vw; + padding-top: 12px; + text-decoration: none; + color: rgb(250, 250, 250); + font-size: 15px; +} + +.icon-link { + display: inline-block; + text-decoration: none; + color: rgb(250, 250, 250); + font-size: 15px; + padding-right: 1vw; +} + + +.sitemap-link:hover { + text-decoration: none; + color: rgb(0, 225, 250); + background: none; +} + +.icon-link:hover { + text-decoration: none; + color: rgb(0, 225, 250); + background: none; +} + +.goback-button { + padding-left: 20vw; + padding-top: 10px; + height: 20vh; +} + +.goback-text { + font-size: 15px; +} + +.row-socialMedia{ + padding-left: 6vw; + height: 6vh; + padding-top: 0.3vh; +} + +.mark-text { + display: inline-block; + font-size: 1.3vw; +} + +@media (max-width: 1170px) { + .row-socialMedia{ + padding-left: 3vw; + } + + .goback-button { + padding-left: 18vw; + } +} + +@media (max-width: 992px) { + .footer-container { + height: min-content; + padding: 0; + } + + .footer-row { + height: 100%; + } + + .col-logo { + padding: 0; + width: 100%; + height: auto; + } + + .footer-logo { + padding: 0; + width: 100%; + height: 100%; + object-position: 100% 20%; + } + + .sitemap-container { + display: flex; + flex-flow: column wrap; + align-items: flex-start; + text-decoration: none; + color: rgb(250, 250, 250); + width: 100%; + padding: 0; + margin: 0; + text-align: right; + } + + .sitemap-link { + padding: 0; + font-size: 2.5vh; + padding-right: 3vw; + float: right; + min-width: 51%; + } + + .goback-container { + text-decoration: none; + text-align: right; + color: rgb(250, 250, 250); + width: 100%; + padding: 0; + margin: 0; + } + + .goback-button { + float: right; + padding: 0; + height: min-content; + margin-left: auto; + } + + .goback-text { + font-size: 4vw; + } + + .goback-text:hover { + text-decoration: none; + color: rgb(0, 225, 250); + background: none; + } + + .mark-text { + float: right; + font-size: 2vh; + padding-right: 3vw; + padding-top: 1vh; + color: #555652; + } + + .icon-link { + width: 33%; + padding: 0; + margin: 0; + padding-top: 1vh; + } + + .row-socialMedia{ + display: flex; + flex-flow: row nowrap; + align-items: flex-end; + text-align: center; + padding: 0; + width: 100%; + height: auto; + } +} + +@media (max-width: 520px) { + .sitemap-container { + height: min-content; + } + + .goback-text { + font-size: 3.8vw; + } + + .sitemap-link { + font-size: 3.6vw; + } + + .mark-text { + font-size: 2vw; + } +} diff --git a/src/components/Footer/Footer.js b/src/components/Footer/Footer.js new file mode 100644 index 00000000..f29ac33e --- /dev/null +++ b/src/components/Footer/Footer.js @@ -0,0 +1,178 @@ +import React, { Component } from 'react'; +import { Row, Col, Container } from 'react-bootstrap'; +import IconButton from '@material-ui/core/IconButton'; +import GitHubIcon from '@material-ui/icons/GitHub'; +import FacebookIcon from '@material-ui/icons/Facebook'; +import InstagramIcon from '@material-ui/icons/Instagram'; +import ExpandLessIcon from '@material-ui/icons/ExpandLess'; +import logo from 'images/white_logo.png'; +import smallLogo from 'images/small_logo.png' +import { MEDIUM_WIDTH, MOBILE_WIDTH } from 'constants.js'; +import './Footer.css'; + +function sitemapLink(link, legend, big) { + if(big){ + return ( + + + { legend } + +
+
+ ); + } else { + return ( + + { legend } + + ); + } +} + +function sitemapIconButton(link, icon) { + return ( + + { icon } + + ); +} + +class Footer extends Component { + constructor(props) { + super(props); + + this.setSizeAtributes = this.setSizeAtributes.bind(this); + this.largeView = this.largeView.bind(this); + this.smallView = this.smallView.bind(this); + this.goUp = this.goUp.bind(this); + + this.members = props.members; + + this.state = { + icon_size: (window.innerWidth >= MOBILE_WIDTH) ? 40 : 35, + view_size_large: (window.innerWidth > MEDIUM_WIDTH) ? true : false, + } + } + + componentDidMount() { + window.addEventListener('resize', this.setSizeAtributes); + } + + goUp() { + window.scrollTo(0, 0); + } + + setSizeAtributes(){ + this.setState({ + icon_size : (window.innerWidth >= MOBILE_WIDTH) ? 40 : 35, + view_size_large: (window.innerWidth > MEDIUM_WIDTH) ? true : false, + }); + } + + largeView() { + return( +
+ + + logo + + +
+ { sitemapLink('/', 'Home', true) } +
+
+ { sitemapLink('/about', 'About', true) } +
+
+ { sitemapLink('/members', 'Members', true) } +
+
+ { sitemapLink('/contact', 'Contact', true) } +
+ + + +
+ + +
+ Back to top +
+
+
+
+ +
+ { sitemapIconButton('https://www.instagram.com/roborregos/', ) } + { sitemapIconButton('https://www.facebook.com/RoBorregos/', ) } + { sitemapIconButton('https://github.com/RoBorregos/', ) } +
+ @2020 RoBorregos +
+
+
+ +
+
+ ); + } + + smallView() { + return( + + + + logo + + + +
+ + +
+ Back to top +
+
+
+
+ +
+ { sitemapLink('/', 'Home', false) } + { sitemapLink('/about', 'About', false) } + { sitemapLink('/members', 'Members', false) } + { sitemapLink('/contact', 'Contact', false) } +
+ @2020 RoBorregos +
+
+
+ + { sitemapIconButton('https://www.instagram.com/roborregos/', ) } + { sitemapIconButton('https://www.facebook.com/RoBorregos/', ) } + { sitemapIconButton('https://github.com/RoBorregos/', ) } + + +
+
+ ); + } + + render() { + return (this.state.view_size_large) ? this.largeView() : this.smallView(); + } +} + +export default Footer; diff --git a/src/components/Home/Home.css b/src/components/Home/Home.css new file mode 100644 index 00000000..654b83e0 --- /dev/null +++ b/src/components/Home/Home.css @@ -0,0 +1,3 @@ +.home-container { + height: 100%; +} diff --git a/src/components/Home/Home.js b/src/components/Home/Home.js new file mode 100644 index 00000000..aebcbfb9 --- /dev/null +++ b/src/components/Home/Home.js @@ -0,0 +1,26 @@ +import React, { Component } from 'react'; +import HomeHeader from './HomeHeader/HomeHeader.js'; +import HomeMiniInformation from './HomeMiniInformation/HomeMiniInformation.js' +import HomeInformation from './HomeInformation/HomeInformation.js'; +import HomeSponsors from './HomeSponsors/HomeSponsors.js'; +import Footer from 'components/Footer/Footer.js'; +import sponsorsData from 'data/sponsors.json'; +import './Home.css'; + +class Home extends Component { + render() { + document.title = 'RoBorregos'; + + return ( +
+ + + + +
+ ); + } +} + +export default Home; diff --git a/src/components/Home/HomeCarousel/CarouselItem/CarouselItem.css b/src/components/Home/HomeCarousel/CarouselItem/CarouselItem.css new file mode 100644 index 00000000..e69de29b diff --git a/src/components/Home/HomeCarousel/CarouselItem/CarouselItem.js b/src/components/Home/HomeCarousel/CarouselItem/CarouselItem.js new file mode 100644 index 00000000..6759bdc2 --- /dev/null +++ b/src/components/Home/HomeCarousel/CarouselItem/CarouselItem.js @@ -0,0 +1,33 @@ +import React, { Component } from 'react'; +import { Carousel } from 'react-bootstrap'; +import './CarouselItem.css'; + + +class CarouselItem extends Component{ + constructor(props) { + super(props); + + // ===== Attributes ==== + this.background = props.background; + } + + render() { + return( +
+ + First slide + +

First slide label

+

Nulla vitae elit libero, a pharetra augue mollis interdum.

+
+
+
+ ); + } +} + +export default CarouselItem; diff --git a/src/components/Home/HomeCarousel/HomeCarousel.css b/src/components/Home/HomeCarousel/HomeCarousel.css new file mode 100644 index 00000000..8bc5f51a --- /dev/null +++ b/src/components/Home/HomeCarousel/HomeCarousel.css @@ -0,0 +1,16 @@ +.home-carousel { + width: 100%; + height: 100%; + background: #000; + overflow-y: hidden; +} + +.carousel-caption { + margin: 0 auto; + align-items: center; + height: 100%; +} + +.carousel-image { + width: 100%; +} diff --git a/src/components/Home/HomeCarousel/HomeCarousel.js b/src/components/Home/HomeCarousel/HomeCarousel.js new file mode 100644 index 00000000..ede8f2c5 --- /dev/null +++ b/src/components/Home/HomeCarousel/HomeCarousel.js @@ -0,0 +1,64 @@ +import React, { Component } from 'react'; +import placeholder from 'images/placeholder-rectangle.png'; +import { Carousel } from 'react-bootstrap'; +import './HomeCarousel.css'; + +class HomeCarousel extends Component { + constructor(props){ + super(props); + + this.tryRequire = this.tryRequire.bind(this); + } + + tryRequire(img_path) { + try { + return require('images/' + img_path); + } catch (err) { + return placeholder; + } + } + + render() { + return( +
+ + + First slide + +

Mission

+

Nulla vitae elit libero, a pharetra augue mollis interdum.

+
+
+ + First slide + +

Vision

+

Nulla vitae elit libero, a pharetra augue mollis interdum.

+
+
+ + First slide + +

Values

+

Nulla vitae elit libero, a pharetra augue mollis interdum.

+
+
+
+
+ ); + } +} + +export default HomeCarousel; diff --git a/src/components/Home/HomeHeader/HomeHeader.css b/src/components/Home/HomeHeader/HomeHeader.css new file mode 100644 index 00000000..7d19e999 --- /dev/null +++ b/src/components/Home/HomeHeader/HomeHeader.css @@ -0,0 +1,42 @@ +.home-header { + width: 100%; + height: 100%; + background: linear-gradient( 90deg, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.5) 100%), url(../../../images/home/team_2019.jpg); + background-size: cover; + background-position: top center; + background-repeat: no-repeat; + color: #fff; +} + +.home-header .row { + height: 100%; +} + +.header-img-col { + height: 100%; + padding-top: 30vh; + display: block; + margin: auto; + align-items: center; + text-align: center; +} + +.header-img { + width: 50vw; +} + +.react-rotating-text-cursor { + animation: blinking-cursor 0.8s cubic-bezier(0.68, 0.01, 0.01, 0.99) 0s infinite; +} + +@keyframes blinking-cursor { + 0% { + opacity: 0; + } + 50% { + opacity: 1; + } + 100% { + opacity: 0; + } +} diff --git a/src/components/Home/HomeHeader/HomeHeader.js b/src/components/Home/HomeHeader/HomeHeader.js new file mode 100644 index 00000000..c87fd016 --- /dev/null +++ b/src/components/Home/HomeHeader/HomeHeader.js @@ -0,0 +1,35 @@ +import React, { Component } from 'react'; +import { Row, Col } from 'react-bootstrap'; +import HeaderImg from 'images/header.png'; +import './HomeHeader.css'; + +var ReactRotatingText = require('react-rotating-text'); + +class HomeHeader extends Component { + render() { + return ( +
+ + + + logo +
+
+

+ We + +

+
+ +
+
+ ); + } +} + +export default HomeHeader; diff --git a/src/components/Home/HomeInformation/HomeInformation.css b/src/components/Home/HomeInformation/HomeInformation.css new file mode 100644 index 00000000..11d7c454 --- /dev/null +++ b/src/components/Home/HomeInformation/HomeInformation.css @@ -0,0 +1,354 @@ +.home-information-container-all{ + width: 100%; + height: 200%; +} + +.home-information-container{ + position: relative; + width: 100%; + height: 25%; + background-size: cover; + background-repeat: no-repeat; + overflow: hidden; +} + +.home-information-container-competitions{ + background-position: bottom center; + background-size: cover; + background-image: url("../../../images/home/HomeInformation/competitions.jpg"); +} + +.home-information-container-social{ + background-position: center left; + background-size: cover; + background-image: url("../../../images/home/HomeInformation/social.jpg"); +} + +.home-information-container-events{ + background-position: center left; + background-size: cover; + background-image: url("../../../images/home/HomeInformation/events.jpg"); +} + +.home-information-container-students{ + background-position: center; + background-size: cover; + background-image: url("../../../images/home/HomeInformation/students.jpg"); +} + +.home-information-container-competitions > .home-information-container-layer > .home-information-circle{ + background: linear-gradient(35.71deg, #9B00FA 45%,#EE4D7A 75%); +} + +.home-information-container-social > .home-information-container-layer > .home-information-circle{ + background: linear-gradient(217.41deg, #9B00FA 20%,#4F72B8 50%); +} + +.home-information-container-events > .home-information-container-layer > .home-information-circle{ + background: linear-gradient(35.71deg, #9B00FA 45%,#00B29A 75%); +} + +.home-information-container-students > .home-information-container-layer > .home-information-circle{ + background: linear-gradient(320.71deg, #EE4D7A 45%,#FF8200 75%); +} +.home-information-container > .home-information-container-layer{ + width: 100%; + height: 100%; +} + +.home-information-container-competitions > .home-information-container-layer{ + background-color: rgba(238, 77, 122, 0.3); +} + +.home-information-container-social > .home-information-container-layer{ + background-color: rgba(79, 114, 184, 0.3); +} + +.home-information-container-events > .home-information-container-layer{ + background-color: rgba(0, 178, 154, 0.3); +} + +.home-information-container-students > .home-information-container-layer{ + background-color: rgba(255, 130, 0, 0.3); +} + +@media (min-width : 530px) and (max-width:600px){ + .home-information-container-left > .home-information-container-layer > .home-information-text{ + top:20%; + } +} + +@media (min-width : 530px){ + .home-information-circle{ + position: absolute; + height: 230%; + width: 90%; + border-radius: 100%; + opacity: .7; + } + + .home-information-container-left > .home-information-container-layer > .home-information-circle{ + left: -80%; + bottom: -100%; + } + + .home-information-container-right > .home-information-container-layer > .home-information-circle{ + right: -80%; + bottom: -100%; + } + + .isVisible.home-information-container-left > .home-information-container-layer > .home-information-circle{ + transition: all; + transition-duration: 2s; + left: -40%; + } + + .isVisible.home-information-container-right > .home-information-container-layer > .home-information-circle{ + transition: all; + transition-duration: 2s; + right: -40%; + } + + .home-information-text{ + position: absolute; + top: 18%; + height: 70%; + width: 33%; + } + + .home-information-container-left > .home-information-container-layer > .home-information-text{ + left: -35%; + } + + .home-information-container-right > .home-information-container-layer >.home-information-text{ + right: -35%; + } +} + +@media (max-width : 530px) and (min-width: 400px){ + .home-information-circle{ + position: absolute; + height: 120%; + width: 100%; + border-radius: 100%; + opacity: .7; + } + + .home-information-container-left > .home-information-container-layer > .home-information-circle{ + left: -80%; + bottom: 20%; + } + + .home-information-container-right > .home-information-container-layer > .home-information-circle{ + right: -80%; + bottom: 20%; + } + + .isVisible.home-information-container-left > .home-information-container-layer > .home-information-circle{ + transition: all; + transition-duration: 2s; + left: -30%; + } + + .isVisible.home-information-container-right > .home-information-container-layer > .home-information-circle{ + transition: all; + transition-duration: 2s; + right: -30%; + } + + .home-information-text{ + position: absolute; + top: 5%; + height: 70%; + width: 50%; + } + + .home-information-container-left > .home-information-container-layer > .home-information-text{ + left: -32%; + } + + .home-information-container-right > .home-information-container-layer >.home-information-text{ + right: -32%; + } + + .home-information-container-down > .home-information-container-layer > .home-information-circle{ + bottom: -40%; + } + + .home-information-container-down > .home-information-container-layer > .home-information-text{ + top: 40%; + } +} + +@media (max-width : 400px){ + .home-information-container-events{ + background-position: center left; + background-size: cover; + background-image: url("../../../images/home/HomeInformation/events_small.jpg"); + } + + .home-information-circle{ + position: absolute; + height: 120%; + width: 140%; + border-radius: 100%; + opacity: .7; + } + + .home-information-container-left > .home-information-container-layer > .home-information-circle{ + left: -80%; + bottom: 15%; + } + + .home-information-container-right > .home-information-container-layer > .home-information-circle{ + right: -80%; + bottom: 15%; + } + + .home-information-container-down > .home-information-container-layer > .home-information-circle{ + bottom: -40%; + } + + .isVisible.home-information-container-left > .home-information-container-layer > .home-information-circle{ + transition: all; + transition-duration: 2s; + left: -65%; + } + + .isVisible.home-information-container-right > .home-information-container-layer > .home-information-circle{ + transition: all; + transition-duration: 2s; + right: -65%; + } + + .home-information-text{ + position: absolute; + top: 5%; + height: 70%; + width: 55%; + } + + .home-information-container-down > .home-information-container-layer > .home-information-text{ + top: 45%; + } + + .home-information-container-left > .home-information-container-layer > .home-information-text{ + left: -35%; + } + + .home-information-container-right > .home-information-container-layer >.home-information-text{ + right: -35%; + } +} + +.isVisible.home-information-container-left > .home-information-container-layer > .home-information-text{ + transition: all; + transition-duration: 2s; + left: 3.5%; +} + +.isVisible.home-information-container-right > .home-information-container-layer > .home-information-text{ + transition: all; + transition-duration: 2s; + right: 3.5%; +} + +.home-information-title{ + height: 15%; + color: #FFF; + font-weight: 700; +} + +.home-information-simple{ + margin-top: 5%; + height: 80%; + width: 100%; + color: #F5F5F5; +} + +@media (max-width : 530px){ + .home-information-simple{ + margin-top: 0%; + } +} + + +@media (min-width : 1000px){ + .home-information-title{ + font-size: 25px; + } + .home-information-simple{ + font-size: 18px; + line-height: 23px; + } +} + +@media (min-width : 1300px){ + .home-information-title{ + font-size: 25px; + } + .home-information-simple{ + font-size: 20px; + line-height: 23px; + } +} + +@media (max-width : 1000px) and (min-width : 800px){ + .home-information-title{ + font-size: 22px; + } + .home-information-simple{ + font-size: 18px; + line-height: 20px; + } +} + +@media (max-width : 800px) and (min-width : 650px){ + .home-information-title{ + font-size: 18px; + } + .home-information-simple{ + font-size: 15px; + line-height: 18px; + } +} + +@media (max-width : 650px) and (min-width : 575px){ + .home-information-title{ + font-size: 17px; + } + .home-information-simple{ + font-size: 15px; + line-height: 16px; + } +} + +@media (max-width : 575px) and (min-width : 400px){ + .home-information-title{ + font-size: 16px; + } + .home-information-simple{ + font-size: 15px; + line-height: 16px; + } +} + +@media (max-width : 520px) and (min-width : 350px){ + .home-information-title{ + font-size: 17px; + } + .home-information-simple{ + font-size: 15px; + line-height: 16px; + } +} + +@media (max-width : 400px){ + .home-information-title{ + font-size: 17px; + } + .home-information-simple{ + font-size: 13px; + line-height: 14px; + } +} diff --git a/src/components/Home/HomeInformation/HomeInformation.js b/src/components/Home/HomeInformation/HomeInformation.js new file mode 100644 index 00000000..033d94b2 --- /dev/null +++ b/src/components/Home/HomeInformation/HomeInformation.js @@ -0,0 +1,118 @@ +import React, { Component } from 'react'; +import './HomeInformation.css'; + +class HomeInformation extends Component { + constructor(props) { + super(props); + + this.competitions = React.createRef(); + this.social = React.createRef(); + this.events = React.createRef(); + this.students = React.createRef(); + + this.handleScrollEvent = this.handleScrollEvent.bind(this); + this.listenScrollEvent = this.listenScrollEvent.bind(this); + this.isElementVisible = this.isElementVisible.bind(this); + + this.state = { + competitions_visible: false, + social_visible: false, + events_visible: false, + students_visible: false, + } + } + + componentDidMount() { + window.addEventListener('scroll', this.listenScrollEvent, true); + } + + isElementVisible(element) { + var viewTop = window.pageYOffset, + viewBottom = viewTop + window.innerHeight, + top = element.offsetTop, + bottom = top + element.clientHeight, + compareTop = bottom, + compareBottom = top; + return ((compareBottom <= viewBottom) && (compareTop >= viewTop)); + } + + handleScrollEvent(element) { + if (!element) { + return; + } + + if (this.isElementVisible(element) || this.state[element.id + '_visible']) { + this.setState({ [element.id + '_visible']: true }); + } else { + this.setState({ [element.id + '_visible']: false }); + } + } + + listenScrollEvent() { + this.handleScrollEvent(this.competitions.current); + this.handleScrollEvent(this.social.current); + this.handleScrollEvent(this.events.current); + this.handleScrollEvent(this.students.current); + } + + render() { + return ( +
+
+
+
+
+
+ High-Performance Team +
+
+ We participate in different national and international competitions for autonomous robots such as Mexico's TMR (Torneo Mexicano de Robótica), RoboCup, and IEEE LARC (Latin American Robotics Competition). As a team, want to demonstrate the potential of Mexico in the development and innovation of technology. +
+
+
+
+
+
+
+
+
+ Social Projects +
+
+ We like to share everything we’ve learned with the community, giving free classes, workshops and participating in webinars where we can talk and teach about all the technologies we’ve used and all the experiences we’ve had that inspire us. +
+
+
+
+
+
+
+
+
+ Events & Outreach +
+
+ We participate in congresses and events such as INCMty, Conexión Tec, The International Congress of Mechatronics - Automatization and Technology, Semana i and many more. +
+
+
+
+
+
+
+
+
+ Student Community +
+
+ To reach our community, we give free workshops about useful technologies such as: ROS, Git and Machine Learning, as well as our annual biggest event: Candidates, where the team gives weekly classes of basic programming, mechanics and electronics for anyone in the university interested, and organize a robotics tournament to get new members. +
+
+
+
+
+ ); + } +} + +export default HomeInformation; diff --git a/src/components/Home/HomeMiniInformation/HomeMiniInformation.css b/src/components/Home/HomeMiniInformation/HomeMiniInformation.css new file mode 100644 index 00000000..7ce7c853 --- /dev/null +++ b/src/components/Home/HomeMiniInformation/HomeMiniInformation.css @@ -0,0 +1,40 @@ +#home-mini-information-container { + background: #000; + text-align: center; +} + +#background-filter { + background: + linear-gradient( + 90deg, + rgba(33, 37, 41, 0.9) 0%, + rgba(24, 31, 28, 0.9) 100%), + url(../../../images/github_pattern_white.svg) top left/auto repeat fixed; + color: rgb(250, 250, 250); +} + +.col-icon { + padding: 5% 0; +} + +.circle { + display: flex; + align-items: center; + justify-content: center; +} + +.icon-container { + background: #fff; + width: 70px; + height: 70px; + border-radius: 50%; + color: rgb(24, 31, 28); + display: flex; + align-items: center; + justify-content: center; +} + +.icon-legend { + margin-top: 15px; + margin-bottom: 0; +} diff --git a/src/components/Home/HomeMiniInformation/HomeMiniInformation.js b/src/components/Home/HomeMiniInformation/HomeMiniInformation.js new file mode 100644 index 00000000..4bde9e62 --- /dev/null +++ b/src/components/Home/HomeMiniInformation/HomeMiniInformation.js @@ -0,0 +1,54 @@ +import React, { Component } from 'react'; +import { Container, Row, Col } from 'react-bootstrap'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { faUsers } from '@fortawesome/free-solid-svg-icons'; +import { faHistory } from '@fortawesome/free-solid-svg-icons'; +import { faGlobeAmericas } from '@fortawesome/free-solid-svg-icons'; +import './HomeMiniInformation.css'; + +class HomeMiniInformation extends Component { + render() { + return ( +
+
+ + + +
+
+ +
+
+
+ 40 members +
+ + +
+
+ +
+
+
+ Since 2015 +
+ + +
+
+ +
+
+
+ Internationally known +
+ +
+
+
+
+ ); + } +} + +export default HomeMiniInformation; diff --git a/src/components/Home/HomeSponsors/HomeSingleSponsor/HomeSingleSponsor.css b/src/components/Home/HomeSponsors/HomeSingleSponsor/HomeSingleSponsor.css new file mode 100644 index 00000000..e69de29b diff --git a/src/components/Home/HomeSponsors/HomeSingleSponsor/HomeSingleSponsor.js b/src/components/Home/HomeSponsors/HomeSingleSponsor/HomeSingleSponsor.js new file mode 100644 index 00000000..c53f19d1 --- /dev/null +++ b/src/components/Home/HomeSponsors/HomeSingleSponsor/HomeSingleSponsor.js @@ -0,0 +1,36 @@ +import React, { Component } from 'react'; +import placeholder from 'images/placeholder-rectangle.png'; +import './HomeSingleSponsor.css'; + +class HomeSingleSponsor extends Component { + constructor(props) { + super(props); + + this.tryRequire = this.tryRequire.bind(this); + + this.sponsor = props.sponsor; + } + + tryRequire(img_path) { + try { + return require('images/sponsors/' + img_path); + } catch (err) { + return placeholder; + } + } + + render() { + return( + + { +
+
+ ); + } +} + +export default HomeSingleSponsor; diff --git a/src/components/Home/HomeSponsors/HomeSponsors.css b/src/components/Home/HomeSponsors/HomeSponsors.css new file mode 100644 index 00000000..af2d2d55 --- /dev/null +++ b/src/components/Home/HomeSponsors/HomeSponsors.css @@ -0,0 +1,28 @@ +.home-sponsors-container { + padding: 3% 0; + color: rgb(255, 165, 0); + text-align: center; +} + +.home-sponsors-container .container-helper { + width: 100%; + height: 100%; +} + +.single-sponsor .sponsor-image { + width: 100%; +} + +.single-sponsor .img-filter { + opacity: 0; + background: rgba(250, 250, 250, 0.4); + position: absolute; + bottom: 0; + width: 100%; + height: 100%; + transition: 0.4s; +} + +.single-sponsor:hover .img-filter { + opacity: 0.7; +} diff --git a/src/components/Home/HomeSponsors/HomeSponsors.js b/src/components/Home/HomeSponsors/HomeSponsors.js new file mode 100644 index 00000000..45834939 --- /dev/null +++ b/src/components/Home/HomeSponsors/HomeSponsors.js @@ -0,0 +1,39 @@ +import React, { Component } from 'react'; +import { Row, Col } from 'react-bootstrap'; +import HomeSingleSponsor from './HomeSingleSponsor/HomeSingleSponsor.js'; +import './HomeSponsors.css'; + +class HomeSponsors extends Component { + constructor(props) { + super(props); + + this.sponsors = props.sponsors; + } + + render() { + return ( +
+
+ + +

+ Patrocinadores +

+ + {this.sponsors.map((sponsor, index) =>( + + + + ))} + + +
+
+
+ ); + } +} + +export default HomeSponsors; diff --git a/src/components/Members/Members.css b/src/components/Members/Members.css index dc123069..7d6f53df 100644 --- a/src/components/Members/Members.css +++ b/src/components/Members/Members.css @@ -1,3 +1,3 @@ .members-container { - height: 100%; -} \ No newline at end of file + height: 100%; +} diff --git a/src/components/Members/Members.js b/src/components/Members/Members.js index 025f1218..ee3751a2 100644 --- a/src/components/Members/Members.js +++ b/src/components/Members/Members.js @@ -1,25 +1,31 @@ import React, { Component } from 'react'; -import MembersHeader from './MembersHeader/MembersHeader.js'; import MembersGrid from './MembersGrid/MembersGrid.js'; +import MembersHeader from './MembersHeader/MembersHeader.js'; import MembersJoinUs from './MembersJoinUs/MembersJoinUs.js'; +import Footer from 'components/Footer/Footer.js'; import './Members.css'; class Members extends Component { - constructor(props) { - super(props); + constructor(props) { + super(props); + + this.members = props.membersData.members; + } - this.members = props.membersData.members; - } + render() { + document.title = 'RoBorregos | Members'; + const inactive = this.members.filter(member => member.status === 'inactive').sort((a, b) => b.id - a.id); + const active = this.members.filter(member => member.status === 'active' || member.status === 'comitee').sort((a, b) => a.id - b.id); - render() { - return ( -
- - - -
- ); - } + return ( +
+ + + +
+
+ ); + } } -export default Members; \ No newline at end of file +export default Members; diff --git a/src/components/Members/MembersGrid/MemberModal/MemberModal.css b/src/components/Members/MembersGrid/MemberModal/MemberModal.css index 3d6345d6..b22f4de9 100644 --- a/src/components/Members/MembersGrid/MemberModal/MemberModal.css +++ b/src/components/Members/MembersGrid/MemberModal/MemberModal.css @@ -1,90 +1,227 @@ .row { - margin: 0; - padding: 0; + margin: 0; + padding: 0; +} + +.modal { + padding-top: 0 !important; + padding-left: 0 !important; + padding-right: 0 !important; + padding-bottom: 0 !important; } .member-modal-container { - width: 100%; - height: 100%; - margin: 0; - padding: 0; - background: #000; + width: 100vw; + height: 100vh; + margin: 0; + padding: 0; + background-color: #000; } -.container-helper { - width: 100%; - height: 100%; - background: - linear-gradient( - 90deg, - rgba(19, 25, 30, 0.8) 40%, - rgba(10, 15, 20, 0.8) 100% - ), - url(images/github_pattern_white.svg) top left repeat fixed; +.member-modal-container .container-helper { + background: + linear-gradient( + 90deg, + rgba(19, 25, 30, 0.9) 40%, + rgba(10, 15, 20, 0.9) 100% + ), + url(../../../../images/github_pattern_white.svg) top left repeat fixed; } .main-modal-row { - height: 100%; + height: 100%; } .image-col { - display: flex; + display: flex; + justify-content: center; align-items: center; + margin-right: 7vw; } .image-cropper { - width: 304px; - height: 304px; + width: 22vw; + height: 22vw; overflow: hidden; border-radius: 50%; + -webkit-box-shadow: 6px 6px 15px 3px rgba(0,0,0,0.75); + -moz-box-shadow: 6px 6px 15px 3px rgba(0,0,0,0.75); + box-shadow: 6px 6px 15px 3px rgba(0,0,0,0.75); } .modal-member-image { - height: 100%; - transform: translateX(-16%); + height: 100%; + transform: translateX(-11%); +} + +.main-modal-row .information-col { + background: rgb(10, 15, 20); + display: flex; + justify-content: center; + align-items: center; + text-align: center; + padding: 0 5vw; + -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75); + -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75); + box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75); +} + +.main-modal-row .information-col .information-container { + padding: 0; + width: 100%; + height: auto; +} + +.main-modal-row .information-col h2 { + color: rgb(20, 183, 191); +} + +.main-modal-row .information-col p { + color: rgba(255, 255, 255, 0.9); + margin: 0; +} + +.main-modal-row .information-col p strong { + font-size: 20px; +} + +.main-modal-row .information-col .closing-btn { + color: rgba(255, 255, 255, 0.9); + font-size: 18px; } -.information-col { - background: rgb(10, 15, 20); +.main-modal-row .information-col .member-modal-btn { + color: rgba(255, 255, 255, 0.9); + font-size: 18px; + text-transform: none; + text-align: left; } -@media (min-width: 1025px) { - .information-col { - height: 100%; - display: flex; - align-items: center; - } +.member-username { + margin-left: 8px; } -@media (min-width: 320px) and (max-width: 1024px) { - .information-col { - width: 100%; - } +.member-titles { + width: 100%; + text-align: center; + padding-bottom: 5vh; + color: rgba(255, 255, 255, 0.9); } -.information-col .information-container { - padding: 10px; +.member-subtitles { + padding-top: 2vh; } -.information-col h2 { - color: rgb(20, 183, 191); +.member-data { + width: 100%; + max-height: 40vh; + padding-bottom: 5vh; + font-size: 1.1vw; } -.information-col p { - color: rgba(255, 255, 255, 0.9); - margin: 0; +.data-buttons { + text-align: left; } -.information-col p strong { - font-size: 20px; +.description-small { + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; + -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75); + -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75); + box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75); } -.information-col .member-modal-btn { - color: rgba(255, 255, 255, 0.9); - font-size: 18px; - text-transform: none; +.icon-small { + display: block; } -.information-col .member-modal-btn .member-username { - padding-left: 8px; +@media (min-width: 993px) { + .main-modal-row .information-col { + width: 100vw; + height: 100vh; + } + + .member-modal-container .container-helper { + width: 100vw; + height: 100vh; + } +} + +@media (max-width: 992px) { + .image-col-small { + padding: 0; + display: block; + width: 100%; + height: 40vh; + } + + .image-cropper { + width: 35vh; + height: 35vh; + margin-left: auto; + margin-right: auto; + } + + .description-small { + color: rgba(255, 255, 255, 0.9); + background: rgb(10, 15, 20); + padding: 0 7%; + min-height: 57vh; + width: 100vw; + } + + .member-titles { + padding-bottom: 2vh; + } + + .name-small { + font-size: 6vw; + color: rgb(20, 183, 191); + } + + .member-data { + font-size: 100%; + padding: 0; + max-height: 200vh; + } + + .close-button { + width: 100vw; + height: 2vh; + padding-left: 78vw; + padding-top: 3vh; + } + + .data-buttons { + padding-top: 3vh; + } + + .main-modal-row .icon-small { + color: rgba(255, 255, 255, 0.9); + font-size: 18px; + text-transform: none; + padding: 0; + margin-bottom: 1vh; + } +} + +@media (max-width: 414px) { + .member-data { + font-size: 3.5vw; + padding: 0; + } + + .image-col { + padding-left: 12vw; + } + + .description-small { + font-size: 2vh; + } + + .main-modal-row .icon-small { + font-size: 12px; + } } \ No newline at end of file diff --git a/src/components/Members/MembersGrid/MemberModal/MemberModal.js b/src/components/Members/MembersGrid/MemberModal/MemberModal.js index cfdaf638..3cd68be8 100644 --- a/src/components/Members/MembersGrid/MemberModal/MemberModal.js +++ b/src/components/Members/MembersGrid/MemberModal/MemberModal.js @@ -1,4 +1,3 @@ -// This view uses Matrial-UI elements import React, { Component } from 'react'; import { Row, Col } from 'react-bootstrap'; import Button from '@material-ui/core/Button'; @@ -6,86 +5,227 @@ import CloseIcon from '@material-ui/icons/Close'; import Icon from '@material-ui/core/Icon'; import IconButton from '@material-ui/core/IconButton'; import placeholder from 'images/placeholder-rectangle.png'; +import { MEDIUM_WIDTH } from 'constants.js'; import './MemberModal.css'; class MemberModal extends Component { - constructor(props) { - super(props); - - this.tryRequire = this.tryRequire.bind(this); - this.memberFullName = this.memberFullName.bind(this); - - this.member = props.member; - this.handleHideModal = props.onHide; - } - - tryRequire(img_path) { - try { - return require('images/members/' + img_path); - } catch (err) { - return placeholder; - } - } - - memberFullName() { - return this.member.name + ' ' + this.member.lastname; - } - - render() { - return ( -
-
- - - -
- { -
- - - -
- - -

- { this.memberFullName() } -

- - - - - - -
- -

- - { this.member.role } - -
-
- { this.member.description } -
-
- -

-
- - -
-
-
- ); - } + constructor(props) { + super(props); + + this.tryRequire = this.tryRequire.bind(this); + this.memberFullName = this.memberFullName.bind(this); + this.largeView = this.largeView.bind(this); + this.smallView = this.smallView.bind(this); + this.updateSizeView = this.updateSizeView.bind(this); + this.getContactButton = this.getContactButton.bind(this); + this.generateDataButtons = this.generateDataButtons.bind(this); + this.keyFunction = this.keyFunction.bind(this); + + this.member = props.member; + this.handleHideModal = props.onHide; + + this.state = { + show_large: (window.innerWidth >= MEDIUM_WIDTH) ? true : false, + } + } + + keyFunction(event){ + if(event.keyCode === 27) { + this.setState({ + handleHideModal: true + }); + } + } + + componentDidMount() { + document.addEventListener('keydown', this.escFunction, false); + window.addEventListener('resize', this.updateSizeView); + } + + tryRequire(img_path) { + try { + return require('images/members/' + img_path); + } catch (err) { + return placeholder; + } + } + + memberFullName() { + return this.member.name + ' ' + this.member.lastname; + } + + updateSizeView(){ + this.setState({ + show_large: (window.innerWidth >= MEDIUM_WIDTH) ? true : false, + }); + } + + getContactButton(platform, class_name) { + console.log('something') + var href, icon, user; + + switch (platform) { + case 'github': + href = this.member.github; + icon = 'fa-github'; + user = this.member.github_user; + break; + case 'linkedin': + href = this.member.linkedin; + icon = 'fa-linkedin'; + user = 'LinkedIn' + break; + case 'resume': + href = this.member.resume_link; + icon = 'fa-file-pdf'; + user = 'Resume'; + break; + default: + break; + } + + return ( + + ) + } + + generateDataButtons(){ + var class_name = ''; + + if(this.state.show_large) { + class_name = 'member-modal-btn'; + } else { + class_name = 'icon-small'; + } + + return ( +
+ { (this.member.github !== '') ? this.getContactButton('github', class_name) : null } +
+ { (this.member.linkedin !== '') ? this.getContactButton('linkedin', class_name) : null } +
+ { (this.member.resume_link !== '') ? this.getContactButton('resume', class_name) : null } +
+ ); + } + + largeView() { + return ( +
+
+ + +
+ { +
+ + +
+ + + + + + + + +
+

+ { this.memberFullName() } +

+ { this.member.role } +
+
+
{ this.member.subtitle }
+
{'Since ' + this.member.class + ', ' + this.member.semesters + ' semesters' }
+
+
+
+ +
+ +

+ { this.member.description } +

+
+ + { this.generateDataButtons() } + +
+ +
+
+
+ ); + } + + smallView() { + return ( +
+
+ +
+ + + + + +
+ +
+ { +
+
+
+ +
+

+ { this.memberFullName() } +

+ { this.member.role } +
+
+
{ this.member.subtitle }
+
{'Since ' + this.member.class + ', ' + this.member.semesters + ' semesters' }
+
+
+
+
+ +
+ { this.member.description } +
+
+ + { this.generateDataButtons() } + +
+
+
+
+ ); + } + + render() { + if(this.state.show_large){ + return this.largeView(); + }else{ + return this.smallView(); + } + } } export default MemberModal; \ No newline at end of file diff --git a/src/components/Members/MembersGrid/MembersGrid.css b/src/components/Members/MembersGrid/MembersGrid.css index 4b54459b..17f0e0b5 100644 --- a/src/components/Members/MembersGrid/MembersGrid.css +++ b/src/components/Members/MembersGrid/MembersGrid.css @@ -1,17 +1,97 @@ .members-grid { - background: #000; - min-height: 100%; + background: rgba(20, 18, 19); + min-height: 100%; + width: 100%; + transform: translate(0.2%, 0%); } -.members-grid .members-grid-tile .member-image { - height: 100%; - transition: 0.4s; - width: 100%; +.members-grid-container { + background: rgba(20, 18, 19); + width: 100%; + padding: 1.5px; } -.members-grid .members-grid-tile:hover .member-image { - cursor: pointer; - left: 0; - top: 0; - transform: scale(1.2); -} \ No newline at end of file +.grid-title { + position: relative; + padding: 4% 0 2%; + color: rgba(255, 255, 255, 0.8); + background: rgba(20, 18, 19); + text-align: center; +} + +.grid-title-text { + font-size: 3vw; +} + +.members-grid .members-grid-tile .member-image-container .member-image { + height: 100%; + transition: 0.4s; + width: 100%; + cursor: pointer; +} + +.members-grid .members-grid-tile .member-image-container { + position: relative; + padding: 0; + width: 100%; + display: block; + cursor: pointer; + overflow: hidden; +} + +.members-grid .members-grid-tile .member-image-container .member-image-content { + opacity: 0; + font-size: 4vh; + position: absolute; + top: 0; + left: 0; + color: white; + background-color: rgba(0, 0, 0, 0.5); + width: 100%; + height: 100%; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + text-align: center; + vertical-align: middle; + padding-top: 30%; +} + +.members-grid .members-grid-tile .member-image-container .member-image-content:hover { + opacity: 1; +} + +.members-grid .members-grid-tile .member-image-container .member-image-content .text { + height: 0; + opacity: 1; + transition-delay: 0s; + transition-duration: 0.4s; +} + +.members-grid .members-grid-tile .member-image-container .member-image-content:hover .text { + opacity: 1; + transform: translateY(250px); + -webkit-transform: translateY(250px); +} + +.members-grid .members-grid-tile .member-image-container .member-image-content .member-image-icon { + position: absolute; + right: 5%; + bottom: 0; +} + +.members-grid .members-grid-tile .member-image-container .member-image-content +.fa-code, +.fa-microchip, +.fa-cog, +.fa-bullhorn { + color: rgba(223, 223, 223, 0.5); +} + +@media (max-width: 768px) { + .grid-title-text { + font-size: 3vh; + } +} diff --git a/src/components/Members/MembersGrid/MembersGrid.js b/src/components/Members/MembersGrid/MembersGrid.js index c3d52984..84c777ee 100644 --- a/src/components/Members/MembersGrid/MembersGrid.js +++ b/src/components/Members/MembersGrid/MembersGrid.js @@ -1,86 +1,149 @@ -// This view uses Matrial-UI elements import React, { Component } from 'react'; import MemberModal from './MemberModal/MemberModal.js'; import GridList from '@material-ui/core/GridList'; import GridListTile from '@material-ui/core/GridListTile'; -import placeholder from 'images/placeholder-rectangle.png'; import { Modal } from 'react-bootstrap'; +import placeholder from 'images/placeholder-rectangle.png'; +import { LARGE_WIDTH, MEDIUM_WIDTH, MOBILE_WIDTH } from 'constants.js'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { faMicrochip } from '@fortawesome/free-solid-svg-icons'; +import { faCog } from '@fortawesome/free-solid-svg-icons'; +import { faCode } from '@fortawesome/free-solid-svg-icons'; +import { faBullhorn } from '@fortawesome/free-solid-svg-icons'; import './MembersGrid.css'; class MembersGrid extends Component { - constructor(props) { - super(props); + constructor(props) { + super(props); + + this.tryRequire = this.tryRequire.bind(this); + this.memberIcon = this.memberIcon.bind(this); + this.handleShowModal = this.handleShowModal.bind(this); + this.handleHideModal = this.handleHideModal.bind(this); + this.numberOfColumns = this.numberOfColumns.bind(this); + this.updateNumberOfColumns = this.updateNumberOfColumns.bind(this); + this.generateGridList = this.generateGridList.bind(this); - this.tryRequire = this.tryRequire.bind(this); - this.handleShowModal = this.handleShowModal.bind(this); - this.handleHideModal = this.handleHideModal.bind(this); + this.members = props.members; - this.members = props.members; + this.state = { + show_modal: false, + member: this.props.active_members[0], + number_of_columns: this.numberOfColumns(), + } + } - this.state = { - show_modal: false, - member: this.members[0] - } - } + componentDidMount() { + window.addEventListener('resize', this.updateNumberOfColumns); + } - tryRequire(img_path) { - try { - return require('images/members/' + img_path); - } catch (err) { - return placeholder; - } - } + numberOfColumns(){ + if (window.innerWidth >= LARGE_WIDTH) + return 5; + else if (window.innerWidth >= MEDIUM_WIDTH) + return 4; + else if (window.innerWidth >= MOBILE_WIDTH) + return 3; + else { + return 2; + } + } - handleShowModal(member, event) { - this.setState({ - show_modal: true, - member: member - }); - } + tryRequire(img_path) { + try { + return require('images/members/' + img_path); + } catch (err) { + return placeholder; + } + } - handleHideModal() { - this.setState({ - show_modal: false - }); - } + handleShowModal(member, event) { + this.setState({ + show_modal: true, + member: member, + }); + } - render() { - return ( -
- + handleHideModal() { + this.setState({ + show_modal: false, + }); + } - {this.members.map(member =>( - - { - - ))} + updateNumberOfColumns() { + this.setState({ + number_of_columns: this.numberOfColumns(), + }); + } - + generateGridList(members, title) { + return ( +
+
+

+ { title } +

+
+ + { members.map(member => ( + +
+ { +
+

+ { member.name + ' ' + member.lastname } +

+
+ +
+
+
+
+ )) } +
+
+ ); + } - + { this.generateGridList(this.props.active_members, '') } + { this.generateGridList(this.props.inactive_members, 'RoBorregos Legacy') } + this.handleHideModal() } /> } - > - -
- ); - } + /> +
+ ); + } } - export default MembersGrid; diff --git a/src/components/Members/MembersHeader/MembersHeader.css b/src/components/Members/MembersHeader/MembersHeader.css index e9664c84..3d47fbd0 100644 --- a/src/components/Members/MembersHeader/MembersHeader.css +++ b/src/components/Members/MembersHeader/MembersHeader.css @@ -1,13 +1,27 @@ .members-header { - height: 100%; - position: relative; - background: - linear-gradient( - 45deg, - rgba(20, 183, 191, 0.9) 30%, - rgba(0, 94, 105, 0.9) 100% - ), - url(./images/pattern.png) top left/auto repeat fixed; - color: rgba(255, 255, 255, 0.8); - text-align: center; -} \ No newline at end of file + height: 100%; + position: relative; + background: linear-gradient( 45deg, rgba(20, 18, 19, 0.9) 30%, rgba(0, 94, 105, 0.9) 100%), url(../../../images/github_pattern.svg) top left/auto repeat fixed; + color: rgba(255, 255, 255, 0.8); +} + +.main-text-members { + color: rgba(255, 255, 255, 0.9); + font-size: 3vh; + text-transform: none; + padding-top: 2%; + padding-bottom: 0%; +} + +.title-text-banner { + color: rgba(255, 255, 255, 0.9); + font-size: 7vh; + text-transform: none; +} + +.main-text-members-emphasis { + padding-top: 2%; + color: rgba(255, 255, 255, 0.9); + font-size: 4vh; + text-transform: none; +} diff --git a/src/components/Members/MembersHeader/MembersHeader.js b/src/components/Members/MembersHeader/MembersHeader.js index e47ebb7d..1c0491d0 100644 --- a/src/components/Members/MembersHeader/MembersHeader.js +++ b/src/components/Members/MembersHeader/MembersHeader.js @@ -2,17 +2,23 @@ import React, { Component } from 'react'; import './MembersHeader.css'; class MembersHeader extends Component { - render() { - return( -
-
-

- Miembros -

-
-
- ); - } + render() { + return( +
+
+

+ Members +

+
+ RoBorrego’s community is made by students with different skills in robotics, logistics and networking, all joined with a passion for exploring new technologies and sharing their knowledge with everybody. +

+ Scroll down and meet the team! +

+
+
+
+ ); + } } -export default MembersHeader; \ No newline at end of file +export default MembersHeader; diff --git a/src/components/Members/MembersJoinUs/MembersJoinUs.css b/src/components/Members/MembersJoinUs/MembersJoinUs.css index 79f5d3f5..7e6c86c0 100644 --- a/src/components/Members/MembersJoinUs/MembersJoinUs.css +++ b/src/components/Members/MembersJoinUs/MembersJoinUs.css @@ -1,12 +1,36 @@ .members-join-us { - height: 60%; - position: relative; - background: - linear-gradient( - 45deg, - rgba(214, 81, 146, 0.9) 30%, - rgba(130, 0, 65, 0.9) 100% - ), - url(./images/pattern.png) top left/auto repeat fixed; - color: rgba(255, 255, 255, 0.8); -} \ No newline at end of file + height: 60%; + position: relative; + background: linear-gradient( 45deg, rgba(0, 94, 105, 0.9) 30%, rgba(20, 18, 19, 0.9) 100%), url(../../../images/github_pattern.svg) top left/auto repeat fixed; + color: rgba(255, 255, 255, 0.8); +} + +.members-join-us-description { + color: rgba(255, 255, 255, 0.9); + font-size: 4vh; + text-align: center; + text-transform: none; +} + +.members-join-us-button { + left: 30%; + width: 28vw; + height: 12vh; +} + +.members-join-us-button-contain { + position: absolute; + height: 100%; + width: 100%; + border-radius: 8px; + text-align: center; + vertical-align: middle; + border: 2px solid white; +} + +.members-join-us-button-text { + padding-top: 3.7vh; + color: rgba(255, 255, 255, 0.9); + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 3vh; +} diff --git a/src/components/Members/MembersJoinUs/MembersJoinUs.js b/src/components/Members/MembersJoinUs/MembersJoinUs.js index bb46d48e..1c02710e 100644 --- a/src/components/Members/MembersJoinUs/MembersJoinUs.js +++ b/src/components/Members/MembersJoinUs/MembersJoinUs.js @@ -1,18 +1,26 @@ import React, { Component } from 'react'; +import Button from '@material-ui/core/Button'; import './MembersJoinUs.css'; class MembersJoinUs extends Component { - render() { - return ( -
-
-

- Join Us -

-
-
- ); - } + render() { + return ( +
+
+

+ Interested in working with us? +

+ +
+
+ ); + } } -export default MembersJoinUs; \ No newline at end of file +export default MembersJoinUs; diff --git a/src/components/Members/MembersJoinUs/images/pattern.png b/src/components/Members/MembersJoinUs/images/pattern.png deleted file mode 100644 index 78c2cee3..00000000 Binary files a/src/components/Members/MembersJoinUs/images/pattern.png and /dev/null differ diff --git a/src/components/NavBar/NavBar.css b/src/components/NavBar/NavBar.css index 7eb008cf..f289c897 100644 --- a/src/components/NavBar/NavBar.css +++ b/src/components/NavBar/NavBar.css @@ -1,47 +1,64 @@ #app-navbar { - height: 48px; - padding-top: 0; - padding-bottom: 0; + height: 48px; + padding: 0 1px 0 0; +} + +#app-navbar .navbar-brand { + margin-left: 20px; + margin-right: 20px; } #app-navbar #navbar-logo { - width: 35px; - height: 35px; - margin-left: 5px; - margin-right: 5px; + width: 35px; + height: 35px; } #app-navbar #responsive-navbar { - height: 100%; + height: 100%; +} + +#app-navbar .navbar-toggler { + margin-left: 20px; + margin-right: 20px; +} + +@media only screen and (max-width : 992px) { + #app-navbar .navbar-nav { + height: 100%; + width: 100%; + align-items: center; + background-color: rgb(25, 30, 35); + } } #app-navbar .navbar-nav { - height: 100%; - align-items: center; + height: 100%; + width: 100%; + align-items: center; } #app-navbar .navbar-nav .navbar-btn { - height: 100%; - padding-left: 20px; - padding-right: 20px; + padding-left: 20px; + padding-right: 20px; + padding-bottom: 13px; } #app-navbar .navbar-nav .navbar-btn.active { - color: rgb(255, 165, 0); - border-bottom: 2px solid; + color: rgb(0, 225, 250); + border-bottom: 2px solid; } #app-navbar .navbar-nav .navbar-btn-legend { - transition: 0.2s; - transform: translateY(4px); - color: rgba(255, 255, 255, 0.8); + transition: 0.2s; + transform: translateY(4px); + color: rgba(255, 255, 255, 0.8); } #app-navbar .navbar-nav .navbar-btn:hover .navbar-btn-legend { - transform: translateY(1px); - color: rgb(255, 165, 0); + transform: translateY(1px); + color: rgb(0, 225, 250); } #app-navbar .navbar-nav .navbar-btn.active .navbar-btn-legend { - color: rgb(255, 165, 0); -} \ No newline at end of file + color: rgb(0, 225, 250); +} diff --git a/src/components/NavBar/NavBar.js b/src/components/NavBar/NavBar.js index ad06d5c7..e7cba501 100644 --- a/src/components/NavBar/NavBar.js +++ b/src/components/NavBar/NavBar.js @@ -2,82 +2,83 @@ import React, { Component } from 'react'; import { Navbar, Nav } from 'react-bootstrap'; import { Link } from 'react-router-dom'; import logo from 'images/white_logo.png'; -import './NavBar.css' +import './NavBar.css'; class NavBar extends Component { - constructor(props) { - super(props); + constructor(props) { + super(props); - this.handleNavbarClick = this.handleNavbarClick.bind(this); + this.handleNavbarClick = this.handleNavbarClick.bind(this); - this.routes = props.routes; + this.routes = props.routes; - const complete_path = window.location.pathname; - const first_slash_index = complete_path.indexOf('/'); - const second_slash_index = complete_path.indexOf('/', first_slash_index + 1); - const current_path = second_slash_index === -1 - ? complete_path.substring(0, complete_path.length) - : complete_path.substring(0, second_slash_index); - this.state = { - active_button: current_path - }; - } + const complete_path = window.location.pathname; + const first_slash_index = complete_path.indexOf('/'); + const second_slash_index = complete_path.indexOf('/', first_slash_index + 1); + const current_path = second_slash_index === -1 + ? complete_path.substring(0, complete_path.length) + : complete_path.substring(0, second_slash_index); + this.state = { + active_button: current_path + }; + } - handleNavbarClick(index) { - this.setState(state => ({ - active_button: index - })); - } + handleNavbarClick(index) { + this.setState(state => ({ + active_button: index + })); + } - getClassName(path) { - return 'navbar-btn' + ((path === this.state.active_button) ? ' active' : ''); - } + getClassName(path) { + return 'navbar-btn' + ((path === this.state.active_button) ? ' active' : ''); + } - render() { - return ( - - - - - - - + + + ); + } } -export default NavBar; \ No newline at end of file +export default NavBar; diff --git a/src/constants.js b/src/constants.js new file mode 100644 index 00000000..77181430 --- /dev/null +++ b/src/constants.js @@ -0,0 +1,4 @@ +export const LARGE_WIDTH = 1200; +export const MEDIUM_WIDTH = 992; +export const SMALL_WIDTH = 768; +export const MOBILE_WIDTH = 414; diff --git a/src/data/candidates.json b/src/data/candidates.json new file mode 100644 index 00000000..dfc2b0b8 --- /dev/null +++ b/src/data/candidates.json @@ -0,0 +1,20 @@ +{ + "events": [ + { + "title": "Programmer", + "description": "Interested in programming? Join the team to program the best robots. You don’t need to be an expert, all we want is passion and willingness to learn!" + }, + { + "title": "Mechanics", + "description": "Love designing robots? It is okay to be new. Come and join the team to design and build the best autonomous robots!" + }, + { + "title": "Electronics", + "description": "Interested in circuit boards and other hardware? Come, learn and grow with us! It will be electrifying." + }, + { + "title": "Marketing", + "description": "Want to show your advertising skills and go on a trip internationally? Help create the image of RoBorregos! Join the team!" + } + ] +} diff --git a/src/data/competitions.json b/src/data/competitions.json new file mode 100644 index 00000000..03aad470 --- /dev/null +++ b/src/data/competitions.json @@ -0,0 +1,28 @@ +{ + "competitions": [ + { + "name": "Home", + "img": "competitions/home.jpeg" + }, + { + "name": "Maze", + "img": "competitions/maze.png" + }, + { + "name": "Soccer Light", + "img": "competitions/soccer_light.png" + }, + { + "name": "Soccer Open", + "img": "competitions/soccer_open.png" + }, + { + "name": "LARC Open", + "img": "competitions/larc.png" + }, + { + "name": "VSSS", + "img": "competitions/vsss.jpg" + } + ] +} diff --git a/src/data/members.json b/src/data/members.json index a5c17ff6..d425fe9d 100644 --- a/src/data/members.json +++ b/src/data/members.json @@ -1,254 +1,916 @@ { - "members": [ - { - "id": 1, - "img": "emilio_chavez.jpg", - "name": "Emilio", - "lastname": "Chavez", - "role": "Software development", - "github": "https://github.com/ChavezE", - "github_user": "@ChavezE", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 2, - "img": "alejandro_garza.jpg", - "name": "Alejandro", - "lastname": "Garza", - "role": "Software development", - "github": "https://github.com/alexhor22", - "github_user": "@alexhor22", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 3, - "img": "alexis_virgen.jpg", - "name": "Alexis", - "lastname": "Virgen", - "role": "Mechanical design", - "github": "https://github.com/SAlexisvf", - "github_user": "@SAlexisvf", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 4, - "img": "javier_escamilla.jpg", - "name": "Javier", - "lastname": "Escamilla", - "role": "Mechanical design", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 5, - "img": "ivan_sol.jpg", - "name": "Ivan", - "lastname": "Sol", - "role": "Mechanical design", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 6, - "img": "greg_espinosa.jpg", - "name": "Greg", - "lastname": "Espinosa", - "role": "Electronics", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 7, - "img": "clara_gutierrez.jpg", - "name": "Clara", - "lastname": "Gutierrez", - "role": "Mechanical design", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 8, - "img": "paul_vazquez.jpg", - "name": "Paul", - "lastname": "Vazquez", - "role": "Software development", - "github": "https://github.com/paulvazbad", - "github_user": "@paulvazbad", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 9, - "img": "jesus_anaya.jpg", - "name": "Jesús", - "lastname": "Anaya", - "role": "Software development", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 10, - "img": "gabriela_mi.jpg", - "name": "Gabriela", - "lastname": "MI", - "role": "Mechanical design", - "github": "https://github.com/GabrielaMl", - "github_user": "@GabrielaMl", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 11, - "img": "nestor_maldonado.jpg", - "name": "Nestor", - "lastname": "Maldonado", - "role": "Software development", - "github": "https://github.com/nessmp", - "github_user": "@nessmp", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 12, - "img": "ricardo_osorio.jpg", - "name": "Ricardo", - "lastname": "Osorio", - "role": "Mechanical design", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 13, - "img": "ernesto_cervantes.jpg", - "name": "Ernesto", - "lastname": "Cervantes", - "role": "Software development", - "github": "https://github.com/netocervantes98", - "github_user": "@netocervantes98", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 14, - "img": "alberto_jahuey.jpg", - "name": "Alberto", - "lastname": "Jahuey", - "role": "Software development", - "github": "https://github.com/AJahueyM", - "github_user": "@AJahueyM", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 15, - "img": "eduardo_sanchez.jpg", - "name": "Eduardo", - "lastname": "Sánchez", - "role": "Software development", - "github": "https://github.com/gallosanchez23", - "github_user": "@gallosanchez23", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 16, - "img": "yulisa_medina.jpg", - "name": "Yulisa", - "lastname": "Medina", - "role": "Software development", - "github": "https://github.com/YulisaM2", - "github_user": "@YulisaM2", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 17, - "img": "iqui_balam.jpg", - "name": "Iqui", - "lastname": "Balam", - "role": "Mechanical design", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 18, - "img": "roberto_galindo.jpg", - "name": "Roberto", - "lastname": "Galindo", - "role": "Mechanical design", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 19, - "img": "ana_garza.jpg", - "name": "Ana", - "lastname": "Garza", - "role": "Mechanical design", - "github": "https://github.com/AnaGarza", - "github_user": "@AnaGarza", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 20, - "img": "arcelia_villasenor.jpg", - "name": "Arcelia", - "lastname": "Villaseñor", - "role": "Software development", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 21, - "img": "tomas_lugo.jpg", - "name": "Tomás", - "lastname": "Lugo", - "role": "Software development", - "github": "https://github.com/tomvik", - "github_user": "@tomvik", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 22, - "img": "aurora_tijerina.jpg", - "name": "Aurora", - "lastname": "Tijerina", - "role": "Software development", - "github": "https://github.com/AuroTB", - "github_user": "@AuroTB", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 23, - "img": "eric_castillo.jpg", - "name": "Eric", - "lastname": "Castillo", - "role": "Electronics", - "github": "#", - "github_user": "@", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 24, - "img": "antonio_rodriguez.jpg", - "name": "Antonio", - "lastname": "Rodríguez", - "role": "Software development", - "github": "https://github.com/AntonioRdzNav", - "github_user": "@AntonioRdzNav", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - }, - { - "id": 25, - "img": "diego_garza.jpg", - "name": "Diego", - "lastname": "Garza", - "role": "Software development", - "github": "https://github.com/chhcd", - "github_user": "@chhcd", - "description": "Miembro activo del equipo internacional RoBorregos. Evidentemente entre más larga sea la descripción de la persona más texto se mostrará, y por ende, más completa se va a ver la página. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - } - ] + "members": [ + { + "id": "1", + "name": "Diego", + "lastname": "Garza", + "status": "inactive", + "role": "Software Development", + "subtitle": "Founder & Alumni", + "class": "2015", + "semesters": "8", + "degree": "ISD", + "description": "Co-Founder of the RoBorregos robotics team, member of the Mexican Robotics Federation, Software Engineer working in the WHEA team inside Microsoft (Seattle), Technical Committee member for RCJ Rescue, exchange program in Carnegie Mellon University and Selider alumni.\\n\\n\nIs passionate about empowering the latinx community, inspiring young dreamers to improve every day with optimism and leadership, creating digital content in his YouTube channel (@Dieguinilombrin) and Podcast (Diego Garza Podcast).", + "github": "https://github.com/chhcd", + "github_user": "chhcd", + "linkedin": "https://www.linkedin.com/in/diego-garza-rodr%C3%ADguez-a45b2197/", + "resume_link": "", + "tags": "", + "Email": "diego.garza.rdz@gmail.com", + "Semester": "0" + }, + { + "id": "3", + "name": "Gerardo", + "lastname": "Consuelos Fern\u00e1ndez", + "status": "inactive", + "role": "Mechanical Design", + "subtitle": "Founder & Alumni", + "class": "2015", + "semesters": "9", + "degree": "IMT", + "description": "Hi, I'm Gerardo. As one of the founders I had the chance to cultivate, and watch the team grow. My passion is finding solutions to new problems using Artificial Intelligence. My current works are related to the field of image classification and particularly prediction probability calibration on convolutional neural networks (CNNs).", + "github": "https://github.com/GerardoConsuelos", + "github_user": "GerardoConsuelos", + "linkedin": "https://www.linkedin.com/in/gconsuelosf/", + "resume_link": "", + "tags": "", + "Email": "gconsuelosf@gmail.com", + "Semester": "0" + }, + { + "id": "4", + "name": "Sebasti\u00e1n", + "lastname": "Rivera ", + "status": "inactive", + "role": "Software Development", + "subtitle": "Founder & Alumni", + "class": "2015", + "semesters": "9", + "degree": "ISD", + "description": "Hi, I am Sebastian. As part of the founders, I had the opportunity to work on early development stages of the projects Roborregos is developing. My passion is to break down real-world problem into actionable tasks that could be solved through programming and engineering in general. I am working as a full time Driver Software Engineer at National Instruments.", + "github": "https://github.com/sebasrivera96", + "github_user": "sebasrivera96", + "linkedin": "https://www.linkedin.com/in/sebasti%C3%A1n-rivera-gonz%C3%A1lez-0711a967/", + "resume_link": "", + "tags": "", + "Email": "sebas.rivera96@gmail.com", + "Semester": "0" + }, + { + "id": "5", + "name": "Alejandro", + "lastname": "Garza", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2015", + "semesters": "9", + "degree": "ISD", + "description": "I am Alejandro! Part of the second generation of the team. I am really passionate about technology and development. I really love learning new things and sharing the knowledge, thats what RoBorregos is all about. ", + "github": "https://github.com/alexhor22", + "github_user": "alexhor22", + "linkedin": "https://linkedin.com/in/alejandrogarzaisd/", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "10" + }, + { + "id": "7", + "name": "Cinthia", + "lastname": "Sanchez ", + "status": "inactive", + "role": "Electronics", + "subtitle": "", + "class": "2015", + "semesters": "9", + "degree": "ISD", + "description": "Hi, I\u2019m Cinthia. I was part of the team until a year ago when I transferred to Guadalajara to graduate as ITE and finish my internship at Intel. As a member of Roborregos I had the opportunity to work electronics and meet a lot of great hard-working people.", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/cinthia-abigail-sanchez-silva-805131184/", + "resume_link": "", + "tags": "", + "Email": "c.abigailss97@outlook.com", + "Semester": "10" + }, + { + "id": "8", + "name": "Clara", + "lastname": "Guti\u00e9rrez", + "status": "active", + "role": "Web Design/Dev & Mechanical Design", + "subtitle": "", + "class": "2015", + "semesters": "9", + "degree": "IMT", + "description": "Hey! I'm Clara, a mechatronics degree student finishing my 10th and last semester. Currently I'm part of the web team (yes, we developed this cool website), where I'm in charge of the web design. I started my path in the team working on mechanical design, which is another one of my passions. I recently came back from Germany where I developed skills in radar development & robotics. Apart from my engineer side, I also love food, calligraphy and sport. ", + "github": "https://github.com/ClaraGtz", + "github_user": "ClaraGtz", + "linkedin": "https://www.linkedin.com/in/claragtzjaime/", + "resume_link": "", + "tags": "", + "Email": "claragtzjaime@gmail.com", + "Semester": "10" + }, + { + "id": "9", + "name": "Diego", + "lastname": "Cardozo ", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2015", + "semesters": "9", + "degree": "ISD", + "description": "I'm Diego Cardozo, a student of ISD in Tec. I have been part of the team since some year ago and I have participated in different competitions as a programmer. My experience has been with C++, Arduino, Python, etc. I like how there are a lot of technologies open to everyone that we can use and improve.", + "github": "https://github.com/diegocardozo97", + "github_user": "diegocardozo97", + "linkedin": "https://mx.linkedin.com/in/diego-cardozo", + "resume_link": "", + "tags": "", + "Email": "dcardozo167@gmail.com", + "Semester": "9" + }, + { + "id": "11", + "name": "Jos\u00e9 Eduardo", + "lastname": "S\u00e1nchez", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2015", + "semesters": "9", + "degree": "ITC", + "description": ":D", + "github": "https://github.com/gallosanchez23", + "github_user": "gallosanchez23", + "linkedin": "https://www.linkedin.com/in/jose-eduardo-sanchez-yepiz-24201710b/", + "resume_link": "", + "tags": "", + "Email": "gallo.sanchez23@gmail.com", + "Semester": "10" + }, + { + "id": "13", + "name": "Tom\u00e1s", + "lastname": "Lugo", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2015", + "semesters": "9", + "degree": "ISD", + "description": "I enjoy learning and I want to teach what I can to help others grow to be the best they can be.\nOn my professional field I'm mainly interested on control systems, optimization, and computer vision. However, I'm always open to try new areas to further expand my capabilities.\nI like working out, listening to audiobooks and hanging out with friends.", + "github": "https://github.com/tomvik", + "github_user": "tomvik", + "linkedin": "https://www.linkedin.com/in/tomaslbmi", + "resume_link": "", + "tags": "", + "Email": "sebas.rivera96@gmail.com", + "Semester": "10" + }, + { + "id": "14", + "name": "Alexis", + "lastname": "Virgen", + "status": "active", + "role": "Software development & Mechanical Design", + "subtitle": "", + "class": "2016", + "semesters": "7", + "degree": "ISD", + "description": "I'm Alexis, student of 8th semester majoring in Digital Systems and Robotics. I am currently developing the vision system of the RoboCup @Home category and I am very passionate about Astronomy and Data Science.", + "github": "https://github.com/SAlexisvf", + "github_user": "SAlexisvf", + "linkedin": "https://www.linkedin.com/in/salexisvirgen", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "" + }, + { + "id": "15", + "name": "Ana", + "lastname": "Garza", + "status": "active", + "role": "Mechanical Design", + "subtitle": "", + "class": "2016", + "semesters": "7", + "degree": "BAA", + "description": "Sup, I'm Any! I study Animation and Digital Arts in 8 semester. Right now, I am in charge with Noelia of the Social Media of the Team. I am also participating in VSSS and helping with with the design of the web page. I'm specialized in rigging 3D Characters. I would love to work in VR/AR, films or videogames!", + "github": "https://github.com/AnaGarza", + "github_user": "AnaGarza", + "linkedin": "https://www.linkedin.com/in/garzana3d/", + "resume_link": "", + "tags": "", + "Email": "a00820647@itesm.mx", + "Semester": "8" + }, + { + "id": "16", + "name": "Arcelia", + "lastname": "Villase\u00f1or", + "status": "inactive", + "role": "Mechanical Design", + "subtitle": "", + "class": "2016", + "semesters": "5", + "degree": "ISD", + "description": "Hi, I'm Arce. I used to work as a mechanical designer, but now I\u2019m focusing more into software development. I enjoy working on front-end development for mobile (Android) and I just started to learn Web and am excited to continue learning.", + "github": "https://github.com/Arce2603", + "github_user": "Arce2603", + "linkedin": "https://www.linkedin.com/in/arcelia-villase%C3%B1or/", + "resume_link": "", + "tags": "", + "Email": "a01196668@itesm.mx", + "Semester": "8" + }, + { + "id": "17", + "name": "Aurora", + "lastname": "Tijerina", + "status": "comitee", + "role": "Software Development", + "subtitle": "", + "class": "2016", + "semesters": "7", + "degree": "ISD", + "description": "Hey! I'm Aurora, student of Digital Systems and Robotics. Currently I am part of the Executive Comitee of the team, as well as PM developer of the Navigation area in the competition of @HOME. I love teamwork, trying new tech, and exploring its limits in a creative way. I am interested in front-end, AR, computer vision, using interesting hardware, dancing and reading. It doesn't matter the circumstances, I'm always there for the team!", + "github": "https://github.com/AuroTB", + "github_user": "AuroTB", + "linkedin": "https://linkedin.com/in/aurotb", + "resume_link": "", + "tags": "", + "Email": "a01196690@itesm.mx", + "Semester": "8" + }, + { + "id": "18", + "name": "Ernesto", + "lastname": "Cervantes", + "status": "active", + "role": "Control Systems", + "subtitle": "", + "class": "2016", + "semesters": "7", + "degree": "ISD", + "description": "Hey there! My name is Ernesto and I am a junior student in robotics engineering. I have had the honor to work as a control systems programmer in a robot capable of going through an unknown maze, competition better know as Rescue Maze. I've done two summer internships at Microsoft and since January I started a research program at Harvard University. I am also the CEO of ONEILA.", + "github": "https://github.com/netocervantes98", + "github_user": "netocervantes98", + "linkedin": "https://www.linkedin.com/in/netocervantes98", + "resume_link": "", + "tags": "", + "Email": "ernesto@oneila.mx", + "Semester": "8" + }, + { + "id": "19", + "name": "Gabriela", + "lastname": "Mendoza", + "status": "active", + "role": "Mechanical Design", + "subtitle": "", + "class": "2016", + "semesters": "7", + "degree": "IMT", + "description": "Hello! I'm Gaby, a Mechatronics student in 8th semester. Currently, I'm participating in an exchange program with DHIK to obtain a Double Degree in Germany. Previously, I've been mainly involved in mechanical design, but I have also had recent experience with programming, especially in small competitions and my internships. I am interested in projects that involve technological development, efficiency and support sustainable energy solutions. My past experiences have led me to work in both independent and team projects, and I believe group projects are an excellent way to share advice and support each other. In my free time i like to read mystery books, ice skate, and play basketball.", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/gabriela-mendoza-leal/", + "resume_link": "", + "tags": "", + "Email": "gabrielaguadalupe98@gmail.com", + "Semester": "8" + }, + { + "id": "20", + "name": "Greg", + "lastname": "Espinosa", + "status": "inactive", + "role": "Electronics", + "subtitle": "", + "class": "2016", + "semesters": "6", + "degree": "ISD", + "description": "Hi, I am Greg Espinosa Carrillo a former Roborrego. My passion is learning new stuff oriented to programing and electronics. I am currently working on artificial intelligence projects for entretainment to put in action my knowledge.", + "github": "", + "github_user": "Greg0909", + "linkedin": "Greg Espinosa Carrillo", + "resume_link": "", + "tags": "", + "Email": "grega1196764@gmail.com", + "Semester": "8" + }, + { + "id": "23", + "name": "Osvaldo", + "lastname": "Alvarez", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2016", + "semesters": "7", + "degree": "ISD", + "description": "Hi! I\u2019m Osvaldo, a senior student in Computer Engineering. I\u2019m grateful to being part of RoBorregos since 2016 where I\u2019ve had the opportunity to work as a software developer, focusing in navigation systems and computer vision algorithms. I'm passionate about developing new technologies to help other people. Also, I\u2019ve done two internships with Microsoft so far where I\u2019ve had the opportunity to make a great impact to people around the globe. ", + "github": "https://github.com/Osvaldoav/", + "github_user": "Osvaldoav", + "linkedin": "https://www.linkedin.com/in/jorge-osvaldo-alvarez-valdez-724030141/", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "8" + }, + { + "id": "24", + "name": "Paul", + "lastname": "Vazquez", + "status": "active", + "role": "Software Development & Electronics", + "subtitle": "", + "class": "2016", + "semesters": "7", + "degree": "ISD", + "description": "Hi, I'm Paul, a student of Digital Systems and Robotics. Currently, I am a programmer and leader in RoboCup @Home. I am passionate about @Home because it is a very scalable project with a lot of potential for social impact, in addition to allowing me to work with a multidisciplinary team. I am interested in working in embedded systems, web development and data science. I like cats and post music.", + "github": "https://github.com/paulvazbad", + "github_user": "paulvazbad", + "linkedin": "https://www.linkedin.com/in/paulvazbad", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "" + }, + { + "id": "25", + "name": "Sebastian", + "lastname": "Esquer", + "status": "inactive", + "role": "Electronics", + "subtitle": "", + "class": "2016", + "semesters": "5", + "degree": "ISD", + "description": "Hi, I am Sebastian Esquer, I'm a former roborrego, I used to do computer vision and electronics, I learned a lot of important things during my time in the team about programming and electronics that is going to be very helpful for the rest of my life.", + "github": "https://github.com/eskrr", + "github_user": "eskrr", + "linkedin": "https://www.linkedin.com/in/sebastian-esquer-gaitan-99188a14a/", + "resume_link": "", + "tags": "", + "Email": "seesga97@gmail.com", + "Semester": "8" + }, + { + "id": "26", + "name": "Alberto", + "lastname": "Jahuey", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2017", + "semesters": "5", + "degree": "ISD", + "description": "My name is Alberto, I am very interested in programming and electronics, I am a mentor to several First teams and I really like helping when needed.", + "github": "https://github.com/AJahueyM", + "github_user": "AJahueyM", + "linkedin": "https://www.linkedin.com/in/alberto-jahuey-325179168/", + "resume_link": "", + "tags": "", + "Email": "a01039835@itesm.mx", + "Semester": "6" + }, + { + "id": "28", + "name": "Antonio", + "lastname": "Rodr\u00edguez", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2017", + "semesters": "5", + "degree": "ISD", + "description": "Hi, I am Antonio and I am on my 8th semester of B.S. in Digital Systems and Robotics Engineering. I am currently studying and working in Germany as part of a scholarship from the DAAD. As member of RoBorregos, I had the chance of representing Mexico at the Latin American and Brazilian Robotics Competition 2018 along with other 4 team members. As Software Engineer student, I am interested in Web Development and Data Science. I like soccer, Netflix and sharing a good beer with friends.", + "github": "https://github.com/AntonioRdzNav", + "github_user": "AntonioRdzNav", + "linkedin": "https://www.linkedin.com/in/AntonioRdzNav/", + "resume_link": "", + "tags": "", + "Email": "antoniordznav@outlook.com", + "Semester": "8" + }, + { + "id": "29", + "name": "Eric", + "lastname": "Castillo", + "status": "inactive", + "role": "Electronics", + "subtitle": "", + "class": "2017", + "semesters": "3", + "degree": "IMT", + "description": "Hi, I am Eric, I study Mechatronics Engineer and electronics is my passion. I get interested very easily in things related to math, electronics, physics and programming. I\u00b4m always willing to expand areas of knowledge whenever a proyect shows up and I tend to understand new topics in a fast way since I like to analyze and make deductions. I have experience in many robotics competitions as you may find in my CV. I also like to do sports such Table Tennis, and I like to play and listen to music.", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/urielcastillo38/", + "resume_link": "", + "tags": "", + "Email": "a00821944@itesm.mx", + "Semester": "6" + }, + { + "id": "30", + "name": "Iqui", + "lastname": "Heredia", + "status": "active", + "role": "Software Development & Mechanical Design", + "subtitle": "", + "class": "2017", + "semesters": "5", + "degree": "IMT", + "description": "I am Iqui Balam, currently studying Mechatronics Engineering and I am passionate in everything that has to do with technology and new discoveries. I have contributed to the team been responsible in areas such as Mechanical Design and Computer VIsion, applying what I learn in classes in the robots that we desing, always seeking to improve and help others, researching and contribute to our knowledge about the world. I like to play the guitar, listening to music and watching series. ", + "github": "https://github.com/IquiBalamHM", + "github_user": "IquiBalamHM", + "linkedin": "https://www.linkedin.com/in/iqui-balam/", + "resume_link": "", + "tags": "", + "Email": "iquibalamhm@gmail.com", + "Semester": "6" + }, + { + "id": "35", + "name": "Ricardo", + "lastname": "Osorio", + "status": "comitee", + "role": "Mechanical Design", + "subtitle": "", + "class": "2017", + "semesters": "5", + "degree": "IMT", + "description": "Hello everyone, I\u00b4m Ricardo, i\u00b4m currently studying mechatronics major, I\u00b4ve been working in Roborregos as robots mechanic for two years, i\u00b4m currently working in the development of a drone capable of produce energy. I love to design and create mechanical solutions that implies not only mechanisms, but also consider electronic components and circuitry. I am a great fan of F1 and my dream is to work with race cars, I also like ride my MTB bike and play my harp.", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/ricardo-osorio-oliveros-95a2561a5/", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "" + }, + { + "id": "36", + "name": "Roberto", + "lastname": "Galindo", + "status": "inactive", + "role": "Mechanical Design", + "subtitle": "", + "class": "2017", + "semesters": "3", + "degree": "IMA", + "description": "My name is Roberto, and I'm a former member of RoBorregos, right now I'm an student of 5th semester, and I liked too much to be in RoBorregos because I was able to take my skills outside of the classroom, and learn more about Mechanics and take my knowledge to a practical field. I learnt from other engineering fields in RoBorregos. I like to make teamwork because you are able to achieve a common goal and share the experience with other people. I am interested in working in Mechanical Design, and optimization of processes. I like to play videogames, watch youtube, series, movies, anime, etc. ", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/roberto-galindo-quintanilla-02552b180/", + "resume_link": "", + "tags": "", + "Email": "robdlink@gmail.com", + "Semester": "5" + }, + { + "id": "37", + "name": "Yulisa", + "lastname": "Medina", + "status": "comitee", + "role": "Software Development", + "subtitle": "", + "class": "2017", + "semesters": "5", + "degree": "BCT", + "description": "Hey! My name is Yulisa and I am CS student in love with robotics, physics and music. The last couple of years in RoBorregos I have participated in RoboCup Jr. Maze, as the dev in charge of the main algorithm, and in the internal LARC 2019 team. In the latter one I also worked on the main algorithm, pathfinding and in the computer vision aspect of the challenge. I am always eager to learn and to share my experiences with others, so if you have any inquiries don't hesitate to email me \ud83d\ude01", + "github": "", + "github_user": "YulisaM2", + "linkedin": "https://www.linkedin.com/in/yulisa-medina", + "resume_link": "", + "tags": "", + "Email": "a01570056@itesm.mx", + "Semester": "6" + }, + { + "id": "38", + "name": "Aldo", + "lastname": "Samaniego", + "status": "active", + "role": "Mechanical Design", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ISD", + "description": "4 semestre ISD, Mecanico Maze y @HOME", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/aldo-jesus-samaniego-silva-b39a3018a/", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "" + }, + { + "id": "39", + "name": "Arath", + "lastname": "Hern\u00e1ndez", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ISD", + "description": "Hi, I'm Arath. I am a programmer in Roborregos, specifically in the algorithm area. I had the opportunity to work in different rescue maze competences and thanks to that realize the love I have for robotics. In the team I have learn a lot about leadership and teamwork and I am very thankful to my partners for that. My favorite and only hobby is to play league of legends.", + "github": "https://github.com/ArathHernandez", + "github_user": "ArathHernandez", + "linkedin": "https://www.linkedin.com/in/erbey-arath-hernandez-villarreal-6a1594193/", + "resume_link": "", + "tags": "", + "Email": "a00825343@itesm.mx", + "Semester": "4" + }, + { + "id": "42", + "name": "Jamir", + "lastname": "Leal", + "status": "active", + "role": "Electronics", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ITI", + "description": "Hi, I'm Jamir, a student of 4th semester of the ITI degree. I started at RoBorregos in 2018 looking for new skills to learn, oriented into robotics. Currently, I am a communication programmer and electronics developer at LARC VSSS. I am interested in computer vision, web development and machine learning. I enjoy to do sports and learn new things.", + "github": "https://github.com/JamirLeal", + "github_user": "JamirLeal", + "linkedin": "https://linkedin.com/in/jamir-leal-cota-9988b6174", + "resume_link": "", + "tags": "", + "Email": "a00826275@itesm.mx", + "Semester": "4" + }, + { + "id": "43", + "name": "Jos\u00e9", + "lastname": "Cisneros", + "status": "active", + "role": "Software Development/Electronics", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ISD", + "description": "Hello, I'm Jose, a student of a bachelor degree with a major in Computer Engineering and a minor in Digital Systems and Robotics. I am involved in the team as a programmer and electronic, both areas interest me a lot and I like to learn about them. Currently, I am a Software Developer in Robocup @Home, it is an interesting project with a lot of opportunity areas, thats why i am passionate about it. I love spending time playing basketball, listening music and hanging out with friends.", + "github": "https://github.com/Josecisneros001", + "github_user": "Josecisneros001", + "linkedin": "", + "resume_link": "", + "tags": "", + "Email": "joseacisnerosm@gmail.com", + "Semester": "4" + }, + { + "id": "45", + "name": "Luis", + "lastname": "Garza", + "status": "active", + "role": "Mechanical Design", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "IID", + "description": "Hi, I'm Luis , a student of 6th semester of the Mecatronics engineering. Currently, I'm working in manufacturing area and mechanical desing in RoboCup @Home. I am interested in everything about manufacturing and development of CNC machines. I like dogs and baseball.", + "github": "", + "github_user": "", + "linkedin": "", + "resume_link": "", + "tags": "", + "Email": "lufergvera@gmail.com", + "Semester": "6" + }, + { + "id": "46", + "name": "Mauricio", + "lastname": "Ju\u00e1rez", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ITC", + "description": "I'm Mauricio Juarez a student of 4th semester of Computer Science. In the team I work as a programmer and like to mentor the newer generations. I love technology, music and football. ", + "github": "https://github.com/zJuarez", + "github_user": "zJuarez", + "linkedin": "https://www.linkedin.com/in/mauricio-juarez/", + "resume_link": "", + "tags": "", + "Email": "mji2000.741@gmail.com", + "Semester": "4" + }, + { + "id": "47", + "name": "Miguel", + "lastname": "Elizondo", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ISD", + "description": "Hi! I'm Miguel, a student of 4th semester of the Engineering in digital systems and robotics degree. I've working on the strategy development for the LARC VSSS competition. I love learning new things, and I always try to improve. I also like listening to music and hanging out with my girlfriend and friends. ", + "github": "https://github.com/Miguelelizondov", + "github_user": "Miguelelizondov", + "linkedin": "https://www.linkedin.com/in/miguelalejandroelizondovalladares/", + "resume_link": "", + "tags": "", + "Email": "miguelelizondov@gmail.com", + "Semester": "4" + }, + { + "id": "48", + "name": "Omar", + "lastname": "Montiel", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ITC", + "description": "Hey! Hello, I'm Omar, a student in 4th semester of ITC (Computer Technologies Engineering). My role in the team is as a programmer, and I am currently helping develop the official Web site for the team. I love to solve any kind of puzzles and like to face tough challenges, so naturally, coding is a passion of mine. I hope to become a software developer in a big tech company in the future, so the contributions I make have a positive impact on millions of people just like you. I love God, and I'm a gamer, of course.", + "github": "https://github.com/OUMontiel", + "github_user": "OUMontiel", + "linkedin": "https://www.linkedin.com/in/omar-montiel/", + "resume_link": "", + "tags": "", + "Email": "omarume@gmail.com", + "Semester": "4" + }, + { + "id": "49", + "name": "Ricardo", + "lastname": "Chapa", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2018", + "semesters": "3", + "degree": "ISD", + "description": "Hi, I'm Ricardo, a student of 4th of the ISDr degree. Currently, I'm a programmer on the Navigation area in RoboCup's @Home. I'm also working on the development of this webpage! I'm always looking to work on any scalable project that can have social impact. I'm interested in web development and robotics. I really like to see soccer games and play video games in my free time.", + "github": "", + "github_user": "RicardoChapaRomero", + "linkedin": "", + "resume_link": "", + "tags": "", + "Email": "ricardochaparomero@gmail.com", + "Semester": "4" + }, + { + "id": "51", + "name": "Noelia", + "lastname": "Davila", + "status": "active", + "role": "Logistics & Networking", + "subtitle": "", + "class": "2018", + "semesters": "2", + "degree": "LIN", + "description": "Hi I am Noelia I am in my 5th semester of International Business. I am currently in the logistics and sponsership team. I like getting things done. I am intrested in CRM systems and technology thay allows business to improve there management. I like to write and love to try out new recipes.", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/noelia-g-davila/", + "resume_link": "", + "tags": "", + "Email": "noelia.g.davila@hotmail.com", + "Semester": "5" + }, + { + "id": "53", + "name": "Alejandro", + "lastname": "Ruiz", + "status": "active", + "role": "Mechanical Design", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "IM", + "description": "Hi, I\u2019m Alejandro Ruiz and I\u2019m currently in 2nd semester of IM at ITESM. At Roborregos, I help designing robots mechanically. I used to be in RCJ Soccer Open but now I\u2019m working in RoboCup @Home project. I enjoy very much this project because I think it is challenging in many ways and it would help me become a better engineer. I like physics, electronics, programming and maths a lot. I think I\u2019m very good at these but there\u2019s always new concepts and ideas to learn. I\u2019m always open to learn new things because i like to have different tools and resources in my day to day problems. I also like playing different sports, listening to relaxing music and I love cooking.", + "github": "https://github.com/RicardoChapaRomero", + "github_user": "", + "linkedin": "http://linkedin.com/in/alejandro-ruiz-8834141a5", + "resume_link": "", + "tags": "", + "Email": "a01177251@itesm.mx", + "Semester": "2" + }, + { + "id": "54", + "name": "Alexis Alberto", + "lastname": "Villanueva", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "ISD", + "description": "Hi, I'm Zugasti a 4th semester student of the Digital Systems and Robotics degree. I am currently developing libraries and technologies for SoccerOpen. This project has allowed me to understand the use of different components and to translate my codes to something that has uses in the real life. My current interests are web development and computer architecture. Music is also a pretty big part of my life. ", + "github": "https://github.com/alexisavz", + "github_user": "alexisavz", + "linkedin": "https://www.linkedin.com/in/alexis-alberto-villanueva-zugasti-23a26a196/", + "resume_link": "", + "tags": "", + "Email": "alexiszugasti@gmail.com", + "Semester": "4" + }, + { + "id": "56", + "name": "Diego", + "lastname": "Prado", + "status": "active", + "role": "Electronics", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "IMT", + "description": "Hi, i'm Diego, i am currently in the second semester in the IMT degree. I am an electronic an leader in Rescue Maze. Im interesantes un Maze becouse it is a really good way to start in robotics, it also serves to develop your knowledge. On the other hand, I am interesed in industry 4.0. I like videogames and anime.", + "github": "", + "github_user": "", + "linkedin": "", + "resume_link": "", + "tags": "", + "Email": "a00826917@itesm.mx", + "Semester": "2" + }, + { + "id": "57", + "name": "Em\u00e9rico", + "lastname": "Pedraza", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "ISD", + "description": "Hi, my name is Emerico. I am a fourth semester student of Digital Systems and Robotics Engineering and a member of the RoBorregos team. Last semester I developed the main algorithm for the robot that competed in the RoboCup Federation tournament in the Rescue Maze cathegory. I love this team because it has contributed to my personal growth and my ability to work in groups. My favorite areas are programming and digital systems. I like classical music and I belive that team work makes great things possible. ", + "github": "https://github.com/Eme112", + "github_user": "Eme112", + "linkedin": "https://www.linkedin.com/in/em%C3%A9rico-pedraza-195599133/", + "resume_link": "", + "tags": "", + "Email": "emericopedraza12@gmail.com", + "Semester": "4" + }, + { + "id": "58", + "name": "Gabriela Jazmin", + "lastname": "\u00c1lvarez", + "status": "active", + "role": "Electronics", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "ISD", + "description": "Hi, i'm Gaby, a student of 4th semester of the ISDr degree. I'm new at Roborregos and presently, i am a electronic technician in the category of Robocup Soccer Lightweight. I love my category because it's really challenging in the electronic design, also you can teach and learn a lot of each area in the team. I am interested in working in data science, neuroscience and medical robotics. I like to get involved in social service, play with my dog, take photos and eat mangos:D", + "github": "https://github.com/gabyjazzmin", + "github_user": "gabyjazzmin", + "linkedin": "", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "" + }, + { + "id": "59", + "name": "Grecia", + "lastname": "Flores", + "status": "active", + "role": "Mechanical Design", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "IMT", + "description": "Hi, I am Grecia, a student of 2 semestre of the Engineerin in Mechatronic degree. Currently, I am Mechanic in Robocup @Maze. I am passionate about @Maze because it is an interesting begineer project. I am in this project to develop my abilities in mechanic. I am interested in working in more complex robotic projects in the future. I like music and photography", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/grecia-carilu-flores-moctezuma-4a97021a5/", + "resume_link": "", + "tags": "", + "Email": "", + "Semester": "" + }, + { + "id": "60", + "name": "Karyme", + "lastname": "Ezrr\u00e9", + "status": "active", + "role": "Mechanical Design", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "IID", + "description": "Hello, I'm Karyme Ezrr\u00e9, I am a second semester student of engineering in innovation and development, currently I am a mechanic in RoboCup Junior Soccer Lightweight, I really like it because it is a great mechanical challenge.", + "github": "", + "github_user": "Karyme-Ezrre", + "linkedin": "Karyme Ezrr\u00e9", + "resume_link": "", + "tags": "", + "Email": "A00828520@itesm.mx", + "Semester": "2" + }, + { + "id": "61", + "name": "Keven", + "lastname": "Arroyo", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "IE", + "description": "Hello, I\u2019m Keven, student of the Electronics Engineering program and tech enthusiast. I am a leader and programmer in the RoboCup Soccer Lightweight Junior. I\u2019ve greatly enjoyed this competition as it has been an outstanding opportunity to improve my programming skills and further my involvement in the robotics field. The challenges I have faced with my team have taught me the importance of teamwork as well as discipline and perseverance in all my future endeavors. I am interested in working in embedded systems, smart electronics, and autonomous vehicles. I like video games and swimming. ", + "github": "https://github.com/dake3601", + "github_user": "dake3601", + "linkedin": "https://linkedin.com/in/keven-g-arroyo-galindo-16a4491a5/", + "resume_link": "", + "tags": "", + "Email": "dake.3601@gmail.com", + "Semester": "2" + }, + { + "id": "62", + "name": "Marlon", + "lastname": "Romo", + "status": "active", + "role": "Software Development", + "subtitle": "", + "class": "2019", + "semesters": "1", + "degree": "IRS", + "description": "Hi my name is Marlon Romo I am currently studying my 2nd semester of Robotics and Digital Systems Engineering. I am a member of the International Robotics Representative Team of Tecnologico de Monterrey. Along with my team we created a fully autonomous robot capable of searching through a maze for victims as part of the RoboCup @Rescue Maze competition. My role as a Control System programmer was to ensure the precise movement and correct performance of the sensors behind the robot. This competition help me acquired several skills among them learning about PID algorithms and their applications. I am passionate about learning new technologies and solving problems. I am interested in gaining professional experience and one of my hobbies is playing baseball.", + "github": "https://github.com/MarlonB500", + "github_user": "MarlonB500", + "linkedin": "https://www.linkedin.com/in/marlonromo", + "resume_link": "", + "tags": "", + "Email": "marlon_romo@hotmail.com", + "Semester": "2" + }, + { + "id": "63", + "name": "Karla", + "lastname": "Olvera", + "status": "active", + "role": "Logistics & Sponsorship", + "subtitle": "", + "class": "2020", + "semesters": "1", + "degree": "ITD", + "description": "Hi, I'm Karla, I'm currently studying the second semester of Digital Business Transformation. I am in Roborregos as a proud member of the Coordination of Logistics and Sponsorships, I believe in this organization because of its potencial as a major change agent and I am delighted of having the opportunity to work with such a diverse team that is an inspiration to me, to the community and to the upcoming generations of tech loving disruptors. I am interested in working in Project Management, Data Science and Business Intelligence. I am passionate about learning new things and in my free time I am a hyperactive reader, attempt of blogger and fitness fanatic. ", + "github": "https://github.com/karlysov", + "github_user": "karlysov", + "linkedin": "https://www.linkedin.com/in/karla-susana-olvera-vazquez-765764198/", + "resume_link": "", + "tags": "", + "Email": "a01379097@itesm.mx", + "Semester": "2" + }, + { + "id": "64", + "name": "Omar", + "lastname": "Gonz\u00e1lez", + "status": "active", + "role": "Logistics & Sponsorship", + "subtitle": "", + "class": "2020", + "semesters": "1", + "degree": "IRS", + "description": "Hi! I'm Omar, a student of second semester in IRS career. I represent Roborregos in an area that works with the logistics and sponsorships. I'm passionate with changing the world with talent, science and technology, to make social impact in our community. I love photography, robotics, business and movies. In the future I would like to work in the development of autonomous cars. ", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/omar-enrique-gonz%C3%A1lez-uresti-364961183/", + "resume_link": "", + "tags": "", + "Email": "omaru38@icloud.com", + "Semester": "2" + }, + { + "id": "65", + "name": "Rosalba ", + "lastname": "Flores", + "status": "active", + "role": "Logistics & Sponsorship", + "subtitle": "", + "class": "2020", + "semesters": "1", + "degree": "INA", + "description": "Hi, I\u2019m Rosalba, a student of 2 semester of the INA degree. I am a member of the CLP. I am passionate about the logistics and sponsorship because it\u2019s an essential part for a team, and I can help achieving the goals through the networking. In fact, I\u2019m interested about working in a whole different area. I would like to get involved in genetics and textiles investigations with nanotechnology. I like fashion and art.", + "github": "", + "github_user": "", + "linkedin": "https://www.linkedin.com/in/rosalba-flores-de-la-riva-097bb91a5/", + "resume_link": "", + "tags": "", + "Email": "rosalva_ce@hotmail.com", + "Semester": "3" + } + ] } \ No newline at end of file diff --git a/src/data/positions.json b/src/data/positions.json new file mode 100644 index 00000000..ca3be596 --- /dev/null +++ b/src/data/positions.json @@ -0,0 +1,21 @@ +{ + "url_form": "https://docs.google.com/forms/u/0/", + "url_facebook": "https://www.facebook.com/RoBorregos/", + "positions": [{ + "id": "1", + "title": "Programmer", + "shortDescription": "Interested in programming? Join the team to program the best robots. You don’t need to be an expert, all we want is passion to learn!" + }, { + "id": "2", + "title": "Electronics", + "shortDescription": "Interested in circuit boards and other hardware? Come, learn and grow with us! It will be electrifying." + }, { + "id": "3", + "title": "Mechanics", + "shortDescription": "Love designing robots? It is okay to be new. Come and join the team to design and build the best autonomous robots!" + }, { + "id": "4", + "title": "Marketing", + "shortDescription": "Want to show your advertising skills and go on a trip internationally? Help create the image of RoBorregos! Join the team!" + }] +} diff --git a/src/data/routes.json b/src/data/routes.json index eb0945d4..0a4b5289 100644 --- a/src/data/routes.json +++ b/src/data/routes.json @@ -1,24 +1,29 @@ { - "routes": [ - { - "path": "/", - "legend": "Home", - "component": "Home" - }, - { - "path": "/about_us", - "legend": "About us", - "component": "AboutUs" - }, - { - "path": "/members", - "legend": "Members", - "component": "Members" - }, - { - "path": "/contact_us", - "legend": "Contact us", - "component": "ContactUs" - } - ] -} \ No newline at end of file + "routes": [ + { + "path": "/", + "legend": "Home", + "component": "Home" + }, + { + "path": "/about", + "legend": "About", + "component": "About" + }, + { + "path": "/members", + "legend": "Members", + "component": "Members" + }, + { + "path": "/contact", + "legend": "Contact", + "component": "Contact" + }, + { + "path": "/candidates", + "legend": "Candidates", + "component": "Candidates" + } + ] +} diff --git a/src/data/sponsors.json b/src/data/sponsors.json new file mode 100644 index 00000000..c29f3ea1 --- /dev/null +++ b/src/data/sponsors.json @@ -0,0 +1,68 @@ +{ + "url_contact":"mailto:teamroborregos@gmail.com", + "sponsors": [ + { + "name": "Tecnológico de Monterrey", + "img_path": "itesm.png", + "link": "https://tec.mx/es" + }, + { + "name": "Steren", + "img_path": "steren.png", + "link": "https://www.steren.com.mx" + }, + { + "name": "Oneila", + "img_path": "oneila.png", + "link": "http://www.oneila.mx" + } + ], + "packages": [ + { + "name" : "Jumper", + "benefits" : [ + "6 menciones genéricas en redes sociales (u/c bimestre)", + "Invitación a eventos y newsletters", + "Logo en nuestras playeras (espalda chico)", + "Logo en nuestra página oficial (chico)", + "Logo en lona del equipo (chico)" + ] + }, + { + "name" : "Led", + "benefits" : [ + "12 menciones genéricas en redes sociales (u/c mes)", + "2 publicaciones personalizadas en Facebook (u/c semestre)", + "Invitación a eventos y newsletters", + "Logo en nuestras playeras (espalda mediano)", + "Logo en nuestra página oficial (mediano)", + "Logo en lona del equipo (mediano)", + "Logo en nuestros robots (chico)" + ] + }, + { + "name" : "Motor", + "benefits" : [ + "24 menciones genéricas en redes sociales (2 c/mes)", + "4 publicaciones personalizadas en Facebook (2 c/semestre)", + "Invitación a eventos y newsletters", + "Logo en nuestras playeras (frente mediano)", + "Logo en nuestra página oficial (mediano)", + "Logo en lona del equipo (mediano)", + "Logo en nuestros robots (mediano)" + ] + }, + { + "name" : "Robot", + "benefits" : [ + "24 menciones genéricas en redes sociales (2 c/mes)", + "6 publicaciones personalizadas en Facebook (3 c/semestre)", + "Invitación a eventos y newsletters", + "Logo en nuestras playeras (frente grande)", + "Logo en nuestra página oficial (grande)", + "Logo en lona del equipo (grande)", + "Logo en nuestros robots (grande)" + ] + } + ] +} diff --git a/src/data/timeline.json b/src/data/timeline.json new file mode 100644 index 00000000..dd734247 --- /dev/null +++ b/src/data/timeline.json @@ -0,0 +1,148 @@ +{ + "events": [ + { + "date": "March 2020", + "img_path": "35.jpg", + "title": "Covid-19 Response", + "description": "Unfortunately, both the TMR and Robocup Jr. were cancelled for this year, yet we continued working, creating online courses and webinars webinars as well as participating in different tech events." + }, + { + "date": "February 2020", + "img_path": "29.jpg", + "title": "Regional 2020", + "description": "Diego, Emérico, Marlon and Grecia won 2nd place in Rescue Maze and Keven, Gabriela y Karyme won 3rd place in Soccer Open." + }, + { + "date": "December 2019", + "img_path": "34.jpg", + "title": "First committee of Sponsorships and Networking", + "description": "A new position in the team opened for students to collaborate in the logistics of sponsorships and networking, as well as social media and image; The opportunity opened for any student of Tec de Monterrey to help us have a more multidisciplinary integration." + }, + { + "date": "December 2019", + "img_path": "23.jpg", + "title": "1st Gen Grad", + "description": "Founders Diego, Emilio, Gerardo and Sebastian graduated." + }, + { + "date": "October 2019", + "img_path": "33.jpg", + "title": "LARC OPEN 2019", + "description": "During the semester, a robot was developed for the LARC IEEE competition, Open category. The robot consisted of an autonomous car with a mechanism to grab metal blocks by means of electromagnets, along with a navigation and vision system to be able to leave the blocks in their corresponding places. In the end, we could not attend due to economic issues." + }, + { + "date": "July 2019", + "img_path": "31.jpg", + "title": "Australia", + "description": "Arath, Aldo, Jamir and Mauricio obtained the “Best Hardware Solution” award in the RoboCup Jr. Rescue Maze, Sydney Australia." + }, + { + "date": "March 2019", + "img_path": "22.jpg", + "title": "TMR 2019", + "description": "Arath, Aldo, Jamir y Juan Carlos won 1st place in Rescue Maze Category." + }, + { + "date": "February 2019", + "img_path": "21.jpg", + "title": "Regional 2019", + "description": "Amin, Chapa, Pasquel and Omar won 1st place in Soccer Light Category." + }, + { + "date": "January 2019", + "img_path": "28.jpg", + "title": "Formalization of @Home", + "description": "The RoBorregos’ @HOME team was formalized. The team was divided into different technology areas, integrating voice recognition, natural language processing and computer vision with neural networks, navigation, control and mechanical and structural design." + }, + { + "date": "October 2018", + "img_path": "19.jpg", + "title": "LARC 2018", + "description": "1st place in Latin American and Brazilian Competition IEEE Open Challenge won by Alexis, Antonio, Ivan, Mariano, and Osvaldo. The robot consisted of an autonomous car with a mechanism to grab metal blocks with magnets, along with a navigation and vision system to be able to leave the blocks in their corresponding places." + }, + { + "date": "June 2018", + "img_path": "18.jpg", + "title": "Canada", + "description": "Alberto, Greg and Iqui were the first ones to participate in Soccer Open internationally and Jahuey, Itzeld, Osorio and Yulisa participated in Rescue Maze in Montreal, Canada." + }, + { + "date": "March 2018", + "img_path": "16.3.jpg", + "title": "TMR 2018 DRONES", + "description": "Alex Garza, Aurora Tijerina, Cristian Bentin and Paul Vazquez won 3rd and was the first time participating in Autonomous Drones Advanced Category, at Tec of Monterrey, Campus Monterrey." + }, + { + "date": "March 2018", + "img_path": "16.jpg", + "title": "TMR 2018", + "description": "Alberto Jahuey, Itzel López, Ricardo Osorio and Yulisa Farron won 1st Place in Rescue Maze; Alberto López, Greg Espinosa, and Iqui Balam won 2nd in Soccer Open; Eric Uriel, Jesus Anaya, Isaac, Monica Nava and Roberto Galindo won 3rd in Soccer Light." + }, + { + "date": "October 2017", + "img_path": "15.jpg", + "title": "LARC 2017", + "description": "Alex, Cardozo, Clara, Emilio, Javier and Nestor won 3rd place by a difference of 2pts." + }, + { + "date": "July 2017", + "img_path": "12.jpg", + "title": "Japan", + "description": "Placing Mexico for the first time in the podium, Tomas, Alexis, Esquer and Ernesto won 3rd place in RoboCup Jr. Rescue Maze, Nagoya, Japan." + }, + { + "date": "March 2017", + "img_path": "10.jpg", + "title": "TMR 2017", + "description": "Tomas, Esquer and Bernardo won 1st and Mariano, Alexis, Ernesto and Osvaldo won 2nd place in Rescue Maze." + }, + { + "date": "February 2017", + "img_path": "9.jpg", + "title": "Regional 2017", + "description": "Tomas, Esquer, and Bernardo won 1st place in Rescue Maze. Angel, Ernesto, Gabriela, Ivan and Paul won 3rd place in Soccer Open and Cinthia, Aurora, Ana, Arcelia and Greg won 3rd in Soccer Light." + }, + { + "date": "October 2016", + "img_path": "8.jpg", + "title": "LARC 2016", + "description": "Diego, Clara, Emilio, Gerardo and Sebastián won 2nd Place in Latin American and Brazilian Competition IEEE Open Challenge. " + }, + { + "date": "July 2016", + "img_path": "6.jpg", + "title": "Germany", + "description": "Javier, Alex, Nestor and Cristian participated in RoboCup Rescue Maze." + }, + { + "date": "March 2016", + "img_path": "4.5.jpg", + "title": "TMR 2016", + "description": "1st and 2nd Place in Rescue Maze TMR 2016, Ciudad Victoria, Tamaulipas, by Javier, Alex, Nestor, Christian, and Tomas, Diego, Enrique, Isabela and Melissa." + }, + { + "date": "February 2016", + "img_path": "30.jpg", + "title": "Regional 2016 ", + "description": "Javier, Alex, Nestor and Christian won 1st Place in Rescue Maze Regional. Cinthia, Eduardo, Cardozo and Ian won 1st in Soccer Open." + }, + { + "date": "August 2015", + "img_path": "3.jpg", + "title": "Team Foundation", + "description": "Team founders decided to create a program to teach the basics of robotics to Tec freshmen and then have an internal competition to find the best fit for the team. This event has become our annual “Candidates”." + }, + { + "date": "July 2015", + "img_path": "2.jpg", + "title": "First International", + "description": "Diego, Emilio, Gerardo y Sebastián were the first to place Mexico in the Top 10 in RoboCup Jr. Rescue Maze in Hefei, China." + }, + { + "date": "March 2015", + "img_path": "1.jpg", + "title": "First Step", + "description": "Diego, Emilio, Gerardo y Sebastián won first place in Rescue Maze at TMR 2015, Mexico City." + } + ] +} diff --git a/src/images/2dageneracion.jpg b/src/images/2dageneracion.jpg new file mode 100644 index 00000000..e3d6d244 Binary files /dev/null and b/src/images/2dageneracion.jpg differ diff --git a/src/images/3ergeneracion.jpg b/src/images/3ergeneracion.jpg new file mode 100644 index 00000000..7836699e Binary files /dev/null and b/src/images/3ergeneracion.jpg differ diff --git a/src/images/4tageneracion.jpg b/src/images/4tageneracion.jpg new file mode 100644 index 00000000..633685b4 Binary files /dev/null and b/src/images/4tageneracion.jpg differ diff --git a/src/images/5tageneracion.jpg b/src/images/5tageneracion.jpg new file mode 100644 index 00000000..fcda83b5 Binary files /dev/null and b/src/images/5tageneracion.jpg differ diff --git a/src/images/about/about1.png b/src/images/about/about1.png new file mode 100644 index 00000000..7d161384 Binary files /dev/null and b/src/images/about/about1.png differ diff --git a/src/images/about/about2.jpg b/src/images/about/about2.jpg new file mode 100644 index 00000000..458bf5d3 Binary files /dev/null and b/src/images/about/about2.jpg differ diff --git a/src/images/candidates/candidates1.png b/src/images/candidates/candidates1.png new file mode 100644 index 00000000..ec5eb55e Binary files /dev/null and b/src/images/candidates/candidates1.png differ diff --git a/src/images/candidates/candidates2.png b/src/images/candidates/candidates2.png new file mode 100644 index 00000000..f082510e Binary files /dev/null and b/src/images/candidates/candidates2.png differ diff --git a/src/images/candidates/candidates3.png b/src/images/candidates/candidates3.png new file mode 100644 index 00000000..0afed7d8 Binary files /dev/null and b/src/images/candidates/candidates3.png differ diff --git a/src/images/competitions/home.jpeg b/src/images/competitions/home.jpeg new file mode 100644 index 00000000..b161b8d7 Binary files /dev/null and b/src/images/competitions/home.jpeg differ diff --git a/src/images/competitions/larc.png b/src/images/competitions/larc.png new file mode 100644 index 00000000..0b02fe79 Binary files /dev/null and b/src/images/competitions/larc.png differ diff --git a/src/images/competitions/maze.png b/src/images/competitions/maze.png new file mode 100644 index 00000000..ae9542dd Binary files /dev/null and b/src/images/competitions/maze.png differ diff --git a/src/images/competitions/soccer_light.png b/src/images/competitions/soccer_light.png new file mode 100644 index 00000000..1ce03103 Binary files /dev/null and b/src/images/competitions/soccer_light.png differ diff --git a/src/images/competitions/soccer_open.png b/src/images/competitions/soccer_open.png new file mode 100644 index 00000000..bb2c072e Binary files /dev/null and b/src/images/competitions/soccer_open.png differ diff --git a/src/images/competitions/vsss.jpg b/src/images/competitions/vsss.jpg new file mode 100644 index 00000000..69727c02 Binary files /dev/null and b/src/images/competitions/vsss.jpg differ diff --git a/src/images/events/2015_06_foundation.jpg b/src/images/events/2015_06_foundation.jpg new file mode 100644 index 00000000..69588b63 Binary files /dev/null and b/src/images/events/2015_06_foundation.jpg differ diff --git a/src/images/events/2015_07_first_international_competition.jpg b/src/images/events/2015_07_first_international_competition.jpg new file mode 100644 index 00000000..57b44bfe Binary files /dev/null and b/src/images/events/2015_07_first_international_competition.jpg differ diff --git a/src/images/events/2015_foundation.jpg b/src/images/events/2015_foundation.jpg new file mode 100644 index 00000000..a90b3985 Binary files /dev/null and b/src/images/events/2015_foundation.jpg differ diff --git a/src/components/Members/MembersGrid/MemberModal/images/github_pattern.svg b/src/images/github_pattern.svg similarity index 100% rename from src/components/Members/MembersGrid/MemberModal/images/github_pattern.svg rename to src/images/github_pattern.svg diff --git a/src/images/github_pattern_clearer.svg b/src/images/github_pattern_clearer.svg new file mode 100644 index 00000000..7aa5bf63 --- /dev/null +++ b/src/images/github_pattern_clearer.svg @@ -0,0 +1 @@ +Group 6 \ No newline at end of file diff --git a/src/components/Members/MembersGrid/MemberModal/images/github_pattern_white.svg b/src/images/github_pattern_white.svg similarity index 100% rename from src/components/Members/MembersGrid/MemberModal/images/github_pattern_white.svg rename to src/images/github_pattern_white.svg diff --git a/src/images/header.png b/src/images/header.png new file mode 100644 index 00000000..ea262ffd Binary files /dev/null and b/src/images/header.png differ diff --git a/src/images/home/HomeInformation/competitions.jpg b/src/images/home/HomeInformation/competitions.jpg new file mode 100644 index 00000000..ffa1b3f0 Binary files /dev/null and b/src/images/home/HomeInformation/competitions.jpg differ diff --git a/src/images/home/HomeInformation/events.jpg b/src/images/home/HomeInformation/events.jpg new file mode 100644 index 00000000..18e9b6f5 Binary files /dev/null and b/src/images/home/HomeInformation/events.jpg differ diff --git a/src/images/home/HomeInformation/events_small.jpg b/src/images/home/HomeInformation/events_small.jpg new file mode 100644 index 00000000..ea5e391f Binary files /dev/null and b/src/images/home/HomeInformation/events_small.jpg differ diff --git a/src/images/home/HomeInformation/social.jpg b/src/images/home/HomeInformation/social.jpg new file mode 100644 index 00000000..040c9062 Binary files /dev/null and b/src/images/home/HomeInformation/social.jpg differ diff --git a/src/images/home/HomeInformation/students.jpg b/src/images/home/HomeInformation/students.jpg new file mode 100644 index 00000000..94d5ac73 Binary files /dev/null and b/src/images/home/HomeInformation/students.jpg differ diff --git a/src/images/home/team_2019.jpg b/src/images/home/team_2019.jpg new file mode 100644 index 00000000..60ef5899 Binary files /dev/null and b/src/images/home/team_2019.jpg differ diff --git a/src/images/info_background_1.jpg b/src/images/info_background_1.jpg new file mode 100644 index 00000000..024c7c12 Binary files /dev/null and b/src/images/info_background_1.jpg differ diff --git a/src/images/info_background_2.jpg b/src/images/info_background_2.jpg new file mode 100644 index 00000000..a2f07f91 Binary files /dev/null and b/src/images/info_background_2.jpg differ diff --git a/src/images/info_background_3.jpg b/src/images/info_background_3.jpg new file mode 100644 index 00000000..d2410953 Binary files /dev/null and b/src/images/info_background_3.jpg differ diff --git a/src/images/members/diego_garza.jpg b/src/images/members/1.jpg similarity index 100% rename from src/images/members/diego_garza.jpg rename to src/images/members/1.jpg diff --git a/src/images/members/javier_escamilla.jpg b/src/images/members/10.jpg similarity index 100% rename from src/images/members/javier_escamilla.jpg rename to src/images/members/10.jpg diff --git a/src/images/members/11.jpg b/src/images/members/11.jpg new file mode 100644 index 00000000..6524ca4c Binary files /dev/null and b/src/images/members/11.jpg differ diff --git a/src/images/members/nestor_maldonado.jpg b/src/images/members/12.jpg similarity index 100% rename from src/images/members/nestor_maldonado.jpg rename to src/images/members/12.jpg diff --git a/src/images/members/tomas_lugo.jpg b/src/images/members/13.jpg similarity index 100% rename from src/images/members/tomas_lugo.jpg rename to src/images/members/13.jpg diff --git a/src/images/members/14.jpg b/src/images/members/14.jpg new file mode 100644 index 00000000..660e1e36 Binary files /dev/null and b/src/images/members/14.jpg differ diff --git a/src/images/members/ana_garza.jpg b/src/images/members/15.jpg similarity index 100% rename from src/images/members/ana_garza.jpg rename to src/images/members/15.jpg diff --git a/src/images/members/arcelia_villasenor.jpg b/src/images/members/16.jpg similarity index 100% rename from src/images/members/arcelia_villasenor.jpg rename to src/images/members/16.jpg diff --git a/src/images/members/17.jpg b/src/images/members/17.jpg new file mode 100644 index 00000000..af0352ab Binary files /dev/null and b/src/images/members/17.jpg differ diff --git a/src/images/members/18.jpg b/src/images/members/18.jpg new file mode 100644 index 00000000..48814184 Binary files /dev/null and b/src/images/members/18.jpg differ diff --git a/src/images/members/19.jpg b/src/images/members/19.jpg new file mode 100644 index 00000000..eac17acb Binary files /dev/null and b/src/images/members/19.jpg differ diff --git a/src/images/members/emilio_chavez.jpg b/src/images/members/2.jpg similarity index 100% rename from src/images/members/emilio_chavez.jpg rename to src/images/members/2.jpg diff --git a/src/images/members/20.jpg b/src/images/members/20.jpg new file mode 100644 index 00000000..52b3ca5e Binary files /dev/null and b/src/images/members/20.jpg differ diff --git a/src/images/members/21.jpg b/src/images/members/21.jpg new file mode 100644 index 00000000..5a513074 Binary files /dev/null and b/src/images/members/21.jpg differ diff --git a/src/images/members/22.jpg b/src/images/members/22.jpg new file mode 100644 index 00000000..bd9cd8a6 Binary files /dev/null and b/src/images/members/22.jpg differ diff --git a/src/images/members/23.jpg b/src/images/members/23.jpg new file mode 100644 index 00000000..f4a18be9 Binary files /dev/null and b/src/images/members/23.jpg differ diff --git a/src/images/members/24.jpg b/src/images/members/24.jpg new file mode 100644 index 00000000..590c5dbe Binary files /dev/null and b/src/images/members/24.jpg differ diff --git a/src/images/members/25.jpg b/src/images/members/25.jpg new file mode 100644 index 00000000..9146dbe7 Binary files /dev/null and b/src/images/members/25.jpg differ diff --git a/src/images/members/26.jpg b/src/images/members/26.jpg new file mode 100644 index 00000000..ce819a34 Binary files /dev/null and b/src/images/members/26.jpg differ diff --git a/src/images/members/28.jpg b/src/images/members/28.jpg new file mode 100644 index 00000000..d4318cf9 Binary files /dev/null and b/src/images/members/28.jpg differ diff --git a/src/images/members/29.jpg b/src/images/members/29.jpg new file mode 100644 index 00000000..6ac95770 Binary files /dev/null and b/src/images/members/29.jpg differ diff --git a/src/images/members/3.jpg b/src/images/members/3.jpg new file mode 100644 index 00000000..b273ec5a Binary files /dev/null and b/src/images/members/3.jpg differ diff --git a/src/images/members/30.jpg b/src/images/members/30.jpg new file mode 100644 index 00000000..803875a5 Binary files /dev/null and b/src/images/members/30.jpg differ diff --git a/src/images/members/35.jpg b/src/images/members/35.jpg new file mode 100644 index 00000000..281483ae Binary files /dev/null and b/src/images/members/35.jpg differ diff --git a/src/images/members/36.jpg b/src/images/members/36.jpg new file mode 100644 index 00000000..2cb353f3 Binary files /dev/null and b/src/images/members/36.jpg differ diff --git a/src/images/members/37.jpg b/src/images/members/37.jpg new file mode 100644 index 00000000..4e728db0 Binary files /dev/null and b/src/images/members/37.jpg differ diff --git a/src/images/members/38.jpg b/src/images/members/38.jpg new file mode 100644 index 00000000..06ea9605 Binary files /dev/null and b/src/images/members/38.jpg differ diff --git a/src/images/members/39.jpg b/src/images/members/39.jpg new file mode 100644 index 00000000..162286df Binary files /dev/null and b/src/images/members/39.jpg differ diff --git a/src/images/members/4.jpg b/src/images/members/4.jpg new file mode 100644 index 00000000..e169d89b Binary files /dev/null and b/src/images/members/4.jpg differ diff --git a/src/images/members/42.jpg b/src/images/members/42.jpg new file mode 100644 index 00000000..2f4cdf96 Binary files /dev/null and b/src/images/members/42.jpg differ diff --git a/src/images/members/43.jpg b/src/images/members/43.jpg new file mode 100644 index 00000000..b0bd5480 Binary files /dev/null and b/src/images/members/43.jpg differ diff --git a/src/images/members/45.jpg b/src/images/members/45.jpg new file mode 100644 index 00000000..b3215adf Binary files /dev/null and b/src/images/members/45.jpg differ diff --git a/src/images/members/46.jpg b/src/images/members/46.jpg new file mode 100644 index 00000000..22f29436 Binary files /dev/null and b/src/images/members/46.jpg differ diff --git a/src/images/members/47.jpg b/src/images/members/47.jpg new file mode 100644 index 00000000..6a351084 Binary files /dev/null and b/src/images/members/47.jpg differ diff --git a/src/images/members/48.jpg b/src/images/members/48.jpg new file mode 100644 index 00000000..e55e5720 Binary files /dev/null and b/src/images/members/48.jpg differ diff --git a/src/images/members/49.jpg b/src/images/members/49.jpg new file mode 100644 index 00000000..cd90cfb1 Binary files /dev/null and b/src/images/members/49.jpg differ diff --git a/src/images/members/alejandro_garza.jpg b/src/images/members/5.jpg similarity index 100% rename from src/images/members/alejandro_garza.jpg rename to src/images/members/5.jpg diff --git a/src/images/members/51.jpg b/src/images/members/51.jpg new file mode 100644 index 00000000..75e80bc2 Binary files /dev/null and b/src/images/members/51.jpg differ diff --git a/src/images/members/53.jpg b/src/images/members/53.jpg new file mode 100644 index 00000000..54ea6cc1 Binary files /dev/null and b/src/images/members/53.jpg differ diff --git a/src/images/members/54.jpg b/src/images/members/54.jpg new file mode 100644 index 00000000..ecc9f231 Binary files /dev/null and b/src/images/members/54.jpg differ diff --git a/src/images/members/56.jpg b/src/images/members/56.jpg new file mode 100644 index 00000000..9c84dfb7 Binary files /dev/null and b/src/images/members/56.jpg differ diff --git a/src/images/members/57.jpg b/src/images/members/57.jpg new file mode 100644 index 00000000..bec4720e Binary files /dev/null and b/src/images/members/57.jpg differ diff --git a/src/images/members/58.jpg b/src/images/members/58.jpg new file mode 100644 index 00000000..0c7498ce Binary files /dev/null and b/src/images/members/58.jpg differ diff --git a/src/images/members/59.jpg b/src/images/members/59.jpg new file mode 100644 index 00000000..ed43abaf Binary files /dev/null and b/src/images/members/59.jpg differ diff --git a/src/images/members/6.jpg b/src/images/members/6.jpg new file mode 100644 index 00000000..187f24fe Binary files /dev/null and b/src/images/members/6.jpg differ diff --git a/src/images/members/60.jpg b/src/images/members/60.jpg new file mode 100644 index 00000000..830fb1cb Binary files /dev/null and b/src/images/members/60.jpg differ diff --git a/src/images/members/61.jpg b/src/images/members/61.jpg new file mode 100644 index 00000000..fd03f465 Binary files /dev/null and b/src/images/members/61.jpg differ diff --git a/src/images/members/62.jpg b/src/images/members/62.jpg new file mode 100644 index 00000000..fa912567 Binary files /dev/null and b/src/images/members/62.jpg differ diff --git a/src/images/members/63.jpg b/src/images/members/63.jpg new file mode 100644 index 00000000..7e262743 Binary files /dev/null and b/src/images/members/63.jpg differ diff --git a/src/images/members/64.jpg b/src/images/members/64.jpg new file mode 100644 index 00000000..3b122276 Binary files /dev/null and b/src/images/members/64.jpg differ diff --git a/src/images/members/65.jpg b/src/images/members/65.jpg new file mode 100644 index 00000000..bf1365c6 Binary files /dev/null and b/src/images/members/65.jpg differ diff --git a/src/images/members/7.jpg b/src/images/members/7.jpg new file mode 100644 index 00000000..5607a4f3 Binary files /dev/null and b/src/images/members/7.jpg differ diff --git a/src/images/members/clara_gutierrez.jpg b/src/images/members/8.jpg similarity index 100% rename from src/images/members/clara_gutierrez.jpg rename to src/images/members/8.jpg diff --git a/src/images/members/9.jpg b/src/images/members/9.jpg new file mode 100644 index 00000000..6557202c Binary files /dev/null and b/src/images/members/9.jpg differ diff --git a/src/images/members/alberto_jahuey.jpg b/src/images/members/alberto_jahuey.jpg deleted file mode 100644 index 33450720..00000000 Binary files a/src/images/members/alberto_jahuey.jpg and /dev/null differ diff --git a/src/images/members/alexis_virgen.jpg b/src/images/members/alexis_virgen.jpg deleted file mode 100644 index 2c887e51..00000000 Binary files a/src/images/members/alexis_virgen.jpg and /dev/null differ diff --git a/src/images/members/antonio_rodriguez.jpg b/src/images/members/antonio_rodriguez.jpg deleted file mode 100644 index 244a9665..00000000 Binary files a/src/images/members/antonio_rodriguez.jpg and /dev/null differ diff --git a/src/images/members/aurora_tijerina.jpg b/src/images/members/aurora_tijerina.jpg deleted file mode 100644 index e7c37f07..00000000 Binary files a/src/images/members/aurora_tijerina.jpg and /dev/null differ diff --git a/src/images/members/eduardo_sanchez.jpg b/src/images/members/eduardo_sanchez.jpg deleted file mode 100644 index c2eab963..00000000 Binary files a/src/images/members/eduardo_sanchez.jpg and /dev/null differ diff --git a/src/images/members/eric_castillo.jpg b/src/images/members/eric_castillo.jpg deleted file mode 100644 index 21e3d981..00000000 Binary files a/src/images/members/eric_castillo.jpg and /dev/null differ diff --git a/src/images/members/ernesto_cervantes.jpg b/src/images/members/ernesto_cervantes.jpg deleted file mode 100644 index 0b4cc336..00000000 Binary files a/src/images/members/ernesto_cervantes.jpg and /dev/null differ diff --git a/src/images/members/gabriela_mi.jpg b/src/images/members/gabriela_mi.jpg deleted file mode 100644 index ae4e60e1..00000000 Binary files a/src/images/members/gabriela_mi.jpg and /dev/null differ diff --git a/src/images/members/greg_espinosa.jpg b/src/images/members/greg_espinosa.jpg deleted file mode 100644 index ee847d3a..00000000 Binary files a/src/images/members/greg_espinosa.jpg and /dev/null differ diff --git a/src/images/members/iqui_balam.jpg b/src/images/members/iqui_balam.jpg deleted file mode 100644 index 7e2281b7..00000000 Binary files a/src/images/members/iqui_balam.jpg and /dev/null differ diff --git a/src/images/members/ivan_sol.jpg b/src/images/members/ivan_sol.jpg deleted file mode 100644 index 06094ac8..00000000 Binary files a/src/images/members/ivan_sol.jpg and /dev/null differ diff --git a/src/images/members/jesus_anaya.jpg b/src/images/members/jesus_anaya.jpg deleted file mode 100644 index b607f993..00000000 Binary files a/src/images/members/jesus_anaya.jpg and /dev/null differ diff --git a/src/images/members/paul_vazquez.jpg b/src/images/members/paul_vazquez.jpg deleted file mode 100644 index 10dc98f0..00000000 Binary files a/src/images/members/paul_vazquez.jpg and /dev/null differ diff --git a/src/images/members/ricardo_osorio.jpg b/src/images/members/ricardo_osorio.jpg deleted file mode 100644 index de2a40a6..00000000 Binary files a/src/images/members/ricardo_osorio.jpg and /dev/null differ diff --git a/src/images/members/roberto_galindo.jpg b/src/images/members/roberto_galindo.jpg deleted file mode 100644 index 86359016..00000000 Binary files a/src/images/members/roberto_galindo.jpg and /dev/null differ diff --git a/src/images/members/yulisa_medina.jpg b/src/images/members/yulisa_medina.jpg deleted file mode 100644 index d5e97de3..00000000 Binary files a/src/images/members/yulisa_medina.jpg and /dev/null differ diff --git a/src/components/Members/MembersHeader/images/pattern.png b/src/images/pattern.png similarity index 100% rename from src/components/Members/MembersHeader/images/pattern.png rename to src/images/pattern.png diff --git a/src/images/small_logo.png b/src/images/small_logo.png new file mode 100644 index 00000000..c902849b Binary files /dev/null and b/src/images/small_logo.png differ diff --git a/src/images/sponsors/cerrey.png b/src/images/sponsors/cerrey.png new file mode 100644 index 00000000..da8617ab Binary files /dev/null and b/src/images/sponsors/cerrey.png differ diff --git a/src/images/sponsors/cerrey_white.png b/src/images/sponsors/cerrey_white.png new file mode 100644 index 00000000..93003412 Binary files /dev/null and b/src/images/sponsors/cerrey_white.png differ diff --git a/src/images/sponsors/itesm.png b/src/images/sponsors/itesm.png new file mode 100644 index 00000000..b012348f Binary files /dev/null and b/src/images/sponsors/itesm.png differ diff --git a/src/images/sponsors/itesm_white.png b/src/images/sponsors/itesm_white.png new file mode 100644 index 00000000..0309665c Binary files /dev/null and b/src/images/sponsors/itesm_white.png differ diff --git a/src/images/sponsors/kia.png b/src/images/sponsors/kia.png new file mode 100644 index 00000000..9087d37a Binary files /dev/null and b/src/images/sponsors/kia.png differ diff --git a/src/images/sponsors/microsoft.png b/src/images/sponsors/microsoft.png new file mode 100644 index 00000000..de721c6f Binary files /dev/null and b/src/images/sponsors/microsoft.png differ diff --git a/src/images/sponsors/microsoft_white.png b/src/images/sponsors/microsoft_white.png new file mode 100644 index 00000000..d4a89831 Binary files /dev/null and b/src/images/sponsors/microsoft_white.png differ diff --git a/src/images/sponsors/neitek.png b/src/images/sponsors/neitek.png new file mode 100644 index 00000000..f5786f84 Binary files /dev/null and b/src/images/sponsors/neitek.png differ diff --git a/src/images/sponsors/neitek_white.png b/src/images/sponsors/neitek_white.png new file mode 100644 index 00000000..fa153b97 Binary files /dev/null and b/src/images/sponsors/neitek_white.png differ diff --git a/src/images/sponsors/oneila.png b/src/images/sponsors/oneila.png new file mode 100644 index 00000000..11c5586c Binary files /dev/null and b/src/images/sponsors/oneila.png differ diff --git a/src/images/sponsors/oneila_white.png b/src/images/sponsors/oneila_white.png new file mode 100644 index 00000000..8bb47342 Binary files /dev/null and b/src/images/sponsors/oneila_white.png differ diff --git a/src/images/sponsors/steren.png b/src/images/sponsors/steren.png new file mode 100644 index 00000000..8a4f859b Binary files /dev/null and b/src/images/sponsors/steren.png differ diff --git a/src/images/sponsors_background.jpg b/src/images/sponsors_background.jpg new file mode 100644 index 00000000..8548a077 Binary files /dev/null and b/src/images/sponsors_background.jpg differ diff --git a/src/images/team_2019.jpg b/src/images/team_2019.jpg new file mode 100644 index 00000000..3aaf1d94 Binary files /dev/null and b/src/images/team_2019.jpg differ diff --git a/src/index.css b/src/index.css index 40721faf..22a9869b 100755 --- a/src/index.css +++ b/src/index.css @@ -1,24 +1,40 @@ html { - height: 100%; + height: 100%; + scroll-behavior: smooth; } body { margin: 0; padding: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; + font-family: 'Titillium Web', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; height: 100%; } code { - font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", - monospace; + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace; } #root { - height: 100%; + height: 100%; padding-top: 48px; -} \ No newline at end of file +} + + + +/* ----------------------------------------------------------------------------------- */ +/* App styles */ +/* ----------------------------------------------------------------------------------- */ +.app-container { + height: 100%; +} + +.container-legend { + position: absolute; + top: 50%; + left: 15%; + right: 15%; + transform: translate(0%, -50%); + font-size: 5vw; +} diff --git a/src/index.js b/src/index.js index 0e7d1d9a..2ae3e9c1 100755 --- a/src/index.js +++ b/src/index.js @@ -5,8 +5,8 @@ import App from './App'; import * as serviceWorker from './serviceWorker'; ReactDOM.render( - , - document.getElementById('root') + , + document.getElementById('root') ); // If you want your app to work offline and load faster, you can change diff --git a/yarn.lock b/yarn.lock index aff6f1ea..45a27c05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -729,6 +729,13 @@ dependencies: regenerator-runtime "^0.12.0" +"@babel/runtime@^7.4.4": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.7.tgz#8fefce9802db54881ba59f90bb28719b4996324d" + integrity sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" @@ -827,13 +834,12 @@ recompose "0.28.0 - 0.30.0" warning "^4.0.1" -"@material-ui/icons@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@material-ui/icons/-/icons-3.0.2.tgz#d67a6dd1ec8312d3a88ec97944a63daeef24fe10" - integrity sha512-QY/3gJnObZQ3O/e6WjH+0ah2M3MOgLOzCy8HTUoUx9B6dDrS18vP7Ycw3qrDEKlB6q1KNxy6CZHm5FCauWGy2g== +"@material-ui/icons@^4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.9.1.tgz#fdeadf8cb3d89208945b33dbc50c7c616d0bd665" + integrity sha512-GBitL3oBWO0hzBhvA9KxqcowRUsA0qzwKkURyC8nppnC3fw54KPKZ+d4V1Eeg/UnDRSzDaI9nGCdel/eh9AQMg== dependencies: - "@babel/runtime" "^7.2.0" - recompose "0.28.0 - 0.30.0" + "@babel/runtime" "^7.4.4" "@material-ui/system@^3.0.0-alpha.0": version "3.0.0-alpha.2" @@ -1246,9 +1252,9 @@ acorn-walk@^6.0.1: integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== acorn@^5.0.0, acorn@^5.5.3, acorn@^5.6.2: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== acorn@^6.0.1, acorn@^6.0.2: version "6.1.0" @@ -1927,6 +1933,11 @@ bootstrap@^4.3.1: resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz#280ca8f610504d99d7b6b4bfc4b68cec601704ac" integrity sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag== +bowser@^1.0.0: + version "1.9.4" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a" + integrity sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2081,6 +2092,14 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.0.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" + integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -2309,7 +2328,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5, classnames@^2.2.6: +classnames@^2.1.2, classnames@^2.2.5, classnames@^2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== @@ -2467,6 +2486,11 @@ commander@^2.11.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== +commander@^2.19.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== + commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -2724,6 +2748,18 @@ css-blank-pseudo@^0.1.4: dependencies: postcss "^7.0.5" +css-color-list@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/css-color-list/-/css-color-list-0.0.1.tgz#8718e8695ae7a2cc8787be8715f1c008a7f28b15" + integrity sha1-hxjoaVrnosyHh76HFfHACKfyixU= + dependencies: + css-color-names "0.0.1" + +css-color-names@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.1.tgz#5d0548fa256456ede4a9a0c2ac7ab19d3eb1ad81" + integrity sha1-XQVI+iVkVu3kqaDCrHqxnT6xrYE= + css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -2804,6 +2840,15 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" +css-to-react-native@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-1.0.6.tgz#728c7e774e56536558a0ecaa990d9507c43a4ac4" + integrity sha1-cox+d05WU2VYoOyqmQ2VB8Q6SsQ= + dependencies: + css-color-list "0.0.1" + fbjs "^0.8.5" + nearley "^2.7.7" + css-tree@1.0.0-alpha.28: version "1.0.0-alpha.28" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" @@ -3186,6 +3231,11 @@ dir-glob@2.0.0: arrify "^1.0.1" path-type "^3.0.0" +discontinuous-range@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" + integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo= + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -3564,13 +3614,13 @@ eslint-scope@^4.0.0: estraverse "^4.1.1" eslint-utils@^1.3.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" - integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== dependencies: - eslint-visitor-keys "^1.0.0" + eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0: +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== @@ -3930,7 +3980,7 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.0, fbjs@^0.8.1: +fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.5, fbjs@^0.8.7: version "0.8.17" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= @@ -4407,9 +4457,9 @@ handle-thing@^2.0.0: integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== handlebars@^4.0.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" - integrity sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA== + version "4.7.3" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.3.tgz#8ece2797826886cf8082d1726ff21d2a022550ee" + integrity sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -4738,7 +4788,7 @@ humps@^2.0.1: resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= -hyphenate-style-name@^1.0.2: +hyphenate-style-name@^1.0.1, hyphenate-style-name@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48" integrity sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ== @@ -4899,6 +4949,14 @@ ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +inline-style-prefixer@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7" + integrity sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c= + dependencies: + bowser "^1.0.0" + hyphenate-style-name "^1.0.1" + inquirer@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz#9943fc4882161bdb0b0c9276769c75b32dbfcd52" @@ -5147,6 +5205,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-function@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= + is-generator-fn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" @@ -6169,6 +6232,11 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -6501,6 +6569,11 @@ mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@ dependencies: minimist "0.0.8" +moo@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" + integrity sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -6546,6 +6619,11 @@ nan@^2.9.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== +nanoid@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.0.1.tgz#deb55cac196e3f138071911dabbc3726eb048864" + integrity sha512-k1u2uemjIGsn25zmujKnotgniC/gxQ9sdegdezeDiKdkDW56THUMqlz3urndKCXJxA6yPzSZbXx/QCMe/pxqsA== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -6568,6 +6646,17 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +nearley@^2.7.7: + version "2.16.0" + resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.16.0.tgz#77c297d041941d268290ec84b739d0ee297e83a7" + integrity sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg== + dependencies: + commander "^2.19.0" + moo "^0.4.3" + railroad-diagrams "^1.0.0" + randexp "0.4.6" + semver "^5.4.1" + needle@^2.2.1: version "2.2.4" resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" @@ -8016,7 +8105,7 @@ prop-types-extra@^1.1.0: react-is "^16.3.2" warning "^3.0.0" -prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.6.0, prop-types@^15.6.1: +prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -8140,13 +8229,26 @@ querystringify@^2.0.0: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg== -raf@3.4.1: +raf@3.4.1, raf@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== dependencies: performance-now "^2.1.0" +railroad-diagrams@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" + integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234= + +randexp@0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" + integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ== + dependencies: + discontinuous-range "1.0.0" + ret "~0.1.10" + randomatic@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" @@ -8343,6 +8445,15 @@ react-prop-types@^0.4.0: dependencies: warning "^3.0.0" +react-rotating-text@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/react-rotating-text/-/react-rotating-text-1.3.1.tgz#0f7f2b9e61bf3d07c60696e6503627daab3dfec3" + integrity sha512-SUu+qg1XzfW4USLMxOJu5H6OBKBVbdeUpz837wKlUcaaxur4W5WuuWgt138wKTjlgqvv6zypKuj3d7RiCQ7cew== + dependencies: + classnames "^2.1.2" + lodash.toarray "^4.4.0" + prop-types "^15.5.10" + react-router-dom@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" @@ -8422,6 +8533,13 @@ react-scripts@^2.1.8: optionalDependencies: fsevents "1.2.4" +react-scroll-parallax@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/react-scroll-parallax/-/react-scroll-parallax-2.1.2.tgz#71d061a37e225125d929b07d629cbced9be1849a" + integrity sha512-Sv2/3etQGgpTQnJhb/nMLcTQhz4ILrB1fIIW853XlHyhD0YuGINk66HciW7B1N9zZpGX8sJY37QNoYit9PdTdQ== + dependencies: + prop-types "^15.5.10" + react-transition-group@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-1.2.1.tgz#e11f72b257f921b213229a774df46612346c7ca6" @@ -8453,6 +8571,38 @@ react-transition-group@^2.5.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" +react-typing-animation@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/react-typing-animation/-/react-typing-animation-1.6.2.tgz#841a8a0cfeb45233a0f6ce460d0bff8fb925c258" + integrity sha512-dxe/Copl4eyBKXfrKEHLoQlCplPE8qRczVYfi5rl/dhr6dM51qwF0M4aMH87R4LqDD84Zpwj+uSNhsuc9nZ/wA== + dependencies: + raf "^3.4.0" + shortid "^2.2.8" + styled-components "^1.4.6" + +react-typist@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/react-typist/-/react-typist-2.0.5.tgz#9830395a73a03e6368e1392ecb98edaa3a648e44" + integrity sha512-iZCkeqeegO0TlkTMiH2JD1tvMtY9RrXkRylnAI6m8aCVAUUwNzoWTVF7CKLij6THeOMcUDCznLDDvNp55s+YZA== + dependencies: + prop-types "^15.5.10" + +react-vertical-timeline-component@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/react-vertical-timeline-component/-/react-vertical-timeline-component-2.6.2.tgz#320bcea8f5913bbf279449902e9a0d428197963f" + integrity sha512-4RX2BOYyxvFb4cXVUxNcMrLnktthRpz3kFvpwgtlPTBZYYLasj+qAxB9Y2x6No8fBqiactr1xU9BSuC2q6YNjg== + dependencies: + classnames "^2.2.6" + prop-types "^15.7.2" + react-visibility-sensor "^5.1.1" + +react-visibility-sensor@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/react-visibility-sensor/-/react-visibility-sensor-5.1.1.tgz#5238380960d3a0b2be0b7faddff38541e337f5a9" + integrity sha512-cTUHqIK+zDYpeK19rzW6zF9YfT4486TIgizZW53wEZ+/GPBbK7cNS0EHyJVyHYacwFEvvHLEKfgJndbemWhB/w== + dependencies: + prop-types "^15.7.2" + react@^16.8.2: version "16.8.3" resolved "https://registry.yarnpkg.com/react/-/react-16.8.3.tgz#c6f988a2ce895375de216edcfaedd6b9a76451d9" @@ -8586,6 +8736,11 @@ regenerator-runtime@^0.12.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + regenerator-transform@^0.13.3: version "0.13.3" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" @@ -9112,6 +9267,13 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +shortid@^2.2.8: + version "2.2.14" + resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.14.tgz#80db6aafcbc3e3a46850b3c88d39e051b84c8d18" + integrity sha512-4UnZgr9gDdA1kaKj/38IiudfC3KHKhDc1zi/HSxd9FQDR0VLwH3/y79tZJLsVYPsJgIjeHjqIWaWVRJUj9qZOQ== + dependencies: + nanoid "^2.0.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -9520,6 +9682,20 @@ style-loader@0.23.1: loader-utils "^1.1.0" schema-utils "^1.0.0" +styled-components@^1.4.6: + version "1.4.6" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-1.4.6.tgz#58f32e8a6ab510fb1481e901e838e0477f148b06" + integrity sha1-WPMuimq1EPsUgekB6DjgR38UiwY= + dependencies: + buffer "^5.0.2" + css-to-react-native "^1.0.6" + fbjs "^0.8.7" + inline-style-prefixer "^2.0.5" + is-function "^1.0.1" + is-plain-object "^2.0.1" + prop-types "^15.5.4" + supports-color "^3.1.2" + stylehacks@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2" @@ -9874,9 +10050,9 @@ uglify-js@3.4.x: source-map "~0.6.1" uglify-js@^3.1.4: - version "3.7.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.3.tgz#f918fce9182f466d5140f24bb0ff35c2d32dcc6a" - integrity sha512-7tINm46/3puUA4hCkKYo4Xdts+JDaVC9ZPRcG8Xw9R4nhO/gZgUM3TENq8IF4Vatk8qCig4MzP/c8G4u2BkVQg== + version "3.8.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.8.0.tgz#f3541ae97b2f048d7e7e3aa4f39fd8a1f5d7a805" + integrity sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ== dependencies: commander "~2.20.3" source-map "~0.6.1"