From 8770c8441ec8c33595d927af8a8efc072d0e7490 Mon Sep 17 00:00:00 2001
From: gokul-00 <62957549+gokul-00@users.noreply.github.com>
Date: Wed, 20 Jan 2021 16:25:16 +0530
Subject: [PATCH] Frontend v2 updated (#93)
* Admin backend integ (#78)
* Backend integ of missions
* updated fetching routes
* Mission page backend integ
* Delete App.js
* Updated App.js
* Updated admin navigation
* Frontend auth navigation (#86)
* added admin navigation
* added admin navigation
* auth navigation added
* Admin backend integ (#85)
* updated fetching routes
* Updated admin navigation
* Updated new mission form with new field names
* Added back buttons
* Added integ for admin mission list
* Backend integ for editing and deleting missions
* Fix: Rendering of mission detail with mission id
* Auth routes added
* scoreboard added
* navigation change
* client side notification setup
Co-authored-by: saisandhya01 <55455466+saisandhya01@users.noreply.github.com>
---
frontend/package-lock.json | 110 +++++++
frontend/package.json | 2 +
frontend/src/AdminLogin.jsx | 98 -------
frontend/src/App.js | 19 +-
frontend/src/UserRegistration.jsx | 113 --------
frontend/src/admin/AdminMission.jsx | 32 ++-
frontend/src/admin/AdminMissionListItem.jsx | 69 ++++-
frontend/src/admin/Drawer.jsx | 20 +-
frontend/src/admin/DrawerHeader.jsx | 128 +++++++++
frontend/src/admin/EditMission.jsx | 228 +++++++++++++++
frontend/src/admin/Mission.jsx | 40 +--
frontend/src/admin/MissionCard.jsx | 22 +-
frontend/src/admin/MissionDetail.jsx | 75 +++--
frontend/src/admin/MissionListItem.jsx | 2 +-
frontend/src/admin/NewMission.jsx | 268 +++++++++++-------
frontend/src/api/auth.js | 2 +-
frontend/src/api/authContext.js | 68 ++++-
frontend/src/api/client.js | 3 +-
frontend/src/api/scoreBoard.js | 3 +
frontend/src/api/storage.js | 5 -
frontend/src/api/team.js | 6 +
.../animations/animation_640_kk23yswy.gif | Bin 0 -> 168177 bytes
frontend/src/assets/animations/loader.json | 1 +
.../assets/animations/success_animation.json | 1 +
frontend/src/components/LoadingPage.jsx | 33 +++
frontend/src/components/MessageBot.jsx | 18 ++
frontend/src/components/SuccessAnimation.jsx | 23 ++
frontend/src/hooks/useAuth.js | 22 --
frontend/src/hooks/useScript.js | 6 +-
frontend/src/index.js | 6 +-
frontend/src/navigation/AdminNavigation.jsx | 231 ++++++---------
frontend/src/navigation/UserNavigation.jsx | 178 ++++++------
frontend/src/navigation/userNavigation.jsx | 178 ++++++------
frontend/src/user/CreateTeam.jsx | 27 +-
frontend/src/user/GameIntro.jsx | 16 +-
frontend/src/user/JoinTeam.jsx | 14 +-
frontend/src/user/Leaderbaord.jsx | 51 ++--
frontend/src/user/ProfilePage.jsx | 16 +-
frontend/src/user/UserLogin.jsx | 39 ++-
frontend/src/user/UserProfile.jsx | 50 ----
frontend/src/user/UserRegistration.jsx | 20 +-
frontend/src/user/VerificationEmail.jsx | 43 ++-
frontend/src/utils/routes.js | 5 +-
frontend/src/utils/socketio.js | 15 +
44 files changed, 1404 insertions(+), 902 deletions(-)
delete mode 100644 frontend/src/AdminLogin.jsx
delete mode 100644 frontend/src/UserRegistration.jsx
create mode 100644 frontend/src/admin/DrawerHeader.jsx
create mode 100644 frontend/src/admin/EditMission.jsx
create mode 100644 frontend/src/api/scoreBoard.js
delete mode 100644 frontend/src/api/storage.js
create mode 100644 frontend/src/api/team.js
create mode 100644 frontend/src/assets/animations/animation_640_kk23yswy.gif
create mode 100644 frontend/src/assets/animations/loader.json
create mode 100644 frontend/src/assets/animations/success_animation.json
create mode 100644 frontend/src/components/LoadingPage.jsx
create mode 100644 frontend/src/components/MessageBot.jsx
create mode 100644 frontend/src/components/SuccessAnimation.jsx
delete mode 100644 frontend/src/hooks/useAuth.js
delete mode 100644 frontend/src/user/UserProfile.jsx
create mode 100644 frontend/src/utils/socketio.js
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 68c8eb8..ee3deba 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -2106,6 +2106,11 @@
"@babel/types": "^7.3.0"
}
},
+ "@types/component-emitter": {
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
+ "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
+ },
"@types/eslint": {
"version": "7.2.6",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz",
@@ -3334,6 +3339,11 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
+ "backo2": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
+ },
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -3389,6 +3399,11 @@
}
}
},
+ "base64-arraybuffer": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
+ "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
+ },
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -5250,6 +5265,38 @@
"once": "^1.4.0"
}
},
+ "engine.io-client": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.0.tgz",
+ "integrity": "sha512-OUmn4m71/lW3ixICv4h3DuBRuh3ri0w3cDuepjsrINSbbqbni4Xw1shTFiKhl0v58lEtNpwJTpSKJJ3fondu5Q==",
+ "requires": {
+ "base64-arraybuffer": "0.1.4",
+ "component-emitter": "~1.3.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~4.0.1",
+ "has-cors": "1.1.0",
+ "parseqs": "0.0.6",
+ "parseuri": "0.0.6",
+ "ws": "~7.4.2",
+ "xmlhttprequest-ssl": "~1.5.4",
+ "yeast": "0.1.2"
+ },
+ "dependencies": {
+ "ws": {
+ "version": "7.4.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
+ "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA=="
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
+ "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
+ "requires": {
+ "base64-arraybuffer": "0.1.4"
+ }
+ },
"enhanced-resolve": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
@@ -6932,6 +6979,11 @@
"function-bind": "^1.1.1"
}
},
+ "has-cors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -9260,6 +9312,11 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
+ "lottie-web": {
+ "version": "5.7.6",
+ "resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.7.6.tgz",
+ "integrity": "sha512-qn/KYMI4QQvFDhtoxs0RPkn9uZKhDB9keE5BKgbJlSRfNEZpRiDlwBE9ibYz4nPhbyE+NUlt8IRIVR7g5OSX3w=="
+ },
"lower-case": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
@@ -10286,6 +10343,16 @@
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="
},
+ "parseqs": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
+ "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w=="
+ },
+ "parseuri": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz",
+ "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow=="
+ },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -12026,6 +12093,15 @@
"resolved": "https://registry.npmjs.org/react-layout-effect/-/react-layout-effect-1.0.5.tgz",
"integrity": "sha512-zdRXHuch+OBHU6bvjTelOGUCM+UDr/iCY+c0wXLEAc+G4/FlcJruD/hUOzlKH5XgO90Y/BUJPNhI/g9kl+VAsA=="
},
+ "react-lottie": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-lottie/-/react-lottie-1.2.3.tgz",
+ "integrity": "sha512-qLCERxUr8M+4mm1LU0Ruxw5Y5Fn/OmYkGfnA+JDM/dZb3oKwVAJCjwnjkj9TMHtzR2U6sMEUD3ZZ1RaHagM7kA==",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "lottie-web": "^5.1.3"
+ }
+ },
"react-refresh": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
@@ -13579,6 +13655,30 @@
}
}
},
+ "socket.io-client": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.0.tgz",
+ "integrity": "sha512-T4qPOL80KnoBwkdR70zMpiR6aH6zv3ZqLNriofHqsO9wvQllNTOez0mpV4GdVqo1Y55Z+h8YOlBo7c8pOxDlHw==",
+ "requires": {
+ "@types/component-emitter": "^1.2.10",
+ "backo2": "~1.0.2",
+ "component-emitter": "~1.3.0",
+ "debug": "~4.3.1",
+ "engine.io-client": "~4.1.0",
+ "parseuri": "0.0.6",
+ "socket.io-parser": "~4.0.4"
+ }
+ },
+ "socket.io-parser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
+ "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
+ "requires": {
+ "@types/component-emitter": "^1.2.10",
+ "component-emitter": "~1.3.0",
+ "debug": "~4.3.1"
+ }
+ },
"sockjs": {
"version": "0.3.20",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
@@ -16369,6 +16469,11 @@
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
},
+ "xmlhttprequest-ssl": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4="
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -16423,6 +16528,11 @@
}
}
},
+ "yeast": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
+ },
"yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index ffae583..3139c87 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -19,11 +19,13 @@
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-html5-camera-photo": "^1.5.4",
+ "react-lottie": "^1.2.3",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.1",
"react-social": "^1.10.0",
"react-swipeable-views": "^0.13.9",
"react-webcam": "^5.2.2",
+ "socket.io-client": "^3.1.0",
"web-vitals": "^0.2.4",
"yup": "^0.32.8"
},
diff --git a/frontend/src/AdminLogin.jsx b/frontend/src/AdminLogin.jsx
deleted file mode 100644
index 8f2dc66..0000000
--- a/frontend/src/AdminLogin.jsx
+++ /dev/null
@@ -1,98 +0,0 @@
-import React from 'react';
-import { ArrowForward } from '@material-ui/icons';
-import { Formik, Form } from 'formik';
-import * as Yup from "yup";
-import { Grid, TextField, Container, makeStyles, CssBaseline, Button, Typography, Avatar } from '@material-ui/core';
-
-import ErrorMessage from './components/ErrorMessage';
-
-
-const validationSchema = Yup.object().shape({
- email: Yup.string().required().email().label("Email"),
- password: Yup.string().required().label("Password"),
-});
-
-const useStyles = makeStyles((theme) => ({
- paper: {
- marginTop: theme.spacing(8),
- display: 'flex',
- flexDirection: 'column',
- alignItems: 'center',
- },
- avatar: {
- backgroundColor: theme.palette.secondary.main,
- color: 'white',
- margin: 20,
- width: theme.spacing(7),
- height: theme.spacing(7),
- },
- form: {
- justifyContent: 'center',
- width: '100%',
- },
- submit: {
- margin: theme.spacing(3, 0, 2),
- },
- TextField: {
- width: '100%',
- marginTop: 10,
- backgroundColor: '#fafafa',
- },
-}));
-
-export default function AdminLogin() {
- const classes = useStyles();
-
- return (
-
Mission 1
+{`Mission ${props.index}`}
{props.title} Lorem ipsum dolor sit amet, consectetur adipis
+{props.title} {props.value}