From cc175d885e644a5991c0e93d32cad743eff12d29 Mon Sep 17 00:00:00 2001 From: luke-hagar-sp <98849695+luke-hagar-sp@users.noreply.github.com> Date: Tue, 14 Feb 2023 13:03:03 -0600 Subject: [PATCH] Adding validation --- package-lock.json | 8 +- package.json | 1 + src/components/stream/main/index.js | 253 +++++++++++++++------------- src/components/stream/room/index.js | 8 +- src/services/StreamService.js | 28 ++- 5 files changed, 171 insertions(+), 127 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3bf0dc54c..1000ff18f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "autoprefixer": "^10.4.13", "classnames": "^2.3.2", "clsx": "^1.1.1", + "crypto-js": "^4.1.1", "docusaurus-plugin-openapi-docs": "^1.5.1", "docusaurus-theme-openapi-docs": "^1.5.1", "mux-embed": "^4.17.0", @@ -4995,7 +4996,8 @@ }, "node_modules/crypto-js": { "version": "4.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "node_modules/crypto-random-string": { "version": "2.0.0", @@ -18522,7 +18524,9 @@ } }, "crypto-js": { - "version": "4.1.1" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "crypto-random-string": { "version": "2.0.0" diff --git a/package.json b/package.json index 73dfae725..ec4aec86b 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "autoprefixer": "^10.4.13", "classnames": "^2.3.2", "clsx": "^1.1.1", + "crypto-js": "^4.1.1", "docusaurus-plugin-openapi-docs": "^1.5.1", "docusaurus-theme-openapi-docs": "^1.5.1", "mux-embed": "^4.17.0", diff --git a/src/components/stream/main/index.js b/src/components/stream/main/index.js index bb9aeea08..cc4247b19 100644 --- a/src/components/stream/main/index.js +++ b/src/components/stream/main/index.js @@ -6,6 +6,7 @@ import Agenda from '../agenda'; import FAQ from '../faq'; import Room from '../room'; import Speakers from '../speakers'; +import md5 from 'crypto-js/md5'; import BrowserOnly from '@docusaurus/BrowserOnly'; import {useEffect, useState} from 'react'; @@ -68,13 +69,13 @@ export default function Main() { const [hover, setHover] = useState(0); const [feedback, setFeedback] = useState(''); - const [validationError, setvalidationError] = useState(false); + const [emailValidationError, setEmailValidationError] = useState(false); + const [starValidationError, setStarValidationError] = useState(false); const [email, setEmail] = useState(''); const [name, setName] = useState(''); const [title, setTitle] = useState(''); const [company, setCompany] = useState(''); - - let registration; + const [userID, setUserID] = useState('Unregistered User'); const getSpeakers = async () => { const data = await getSpeaker(); @@ -88,8 +89,10 @@ export default function Main() { }, []); React.useEffect(async () => { - registration = await getRegistration(); - openLoginPage(); + console.log('Starting Registration'); + const reg = await getRegistration(); + console.log(reg); + openLoginPage(reg); }, []); //setting socket here @@ -124,12 +127,6 @@ export default function Main() { setStages(data.stages); }); - socket.on('survey', (data) => { - if (stage === data) { - setSurveyOpen(true); - } - }); - return () => { socket.off('connect'); socket.off('disconnect'); @@ -138,18 +135,35 @@ export default function Main() { }; }, []); + useEffect(() => { + socket.on('survey', (data) => { + if (stage === data) { + setSurveyOpen(true); + } + }); + return () => { + socket.off('survey'); + }; + }, [stage]); + function changeToIDNStage() { setStage('IDN'); + console.log('Changing Stage'); } function changeToIIQStage() { setStage('IIQ'); + console.log('Changing Stage'); } - function openLoginPage() { + function openLoginPage(reg) { setTimeout(() => { console.log('opening login page'); let pop_status = localStorage.getItem('entry-status'); - if (!pop_status && registration) { + console.log(pop_status); + console.log(reg); + setUserID(pop_status); + if (!pop_status && reg) { + console.log('open'); setLoginOpen(true); } }, 1000); @@ -264,7 +278,13 @@ export default function Main() {

How valuable was the session "{stages[stage]?.topic}" to you? + {starValidationError === true && ( +

+ Rating is required +

+ )}

+
{[...Array(5)].map((star, index) => { index += 1; @@ -292,7 +312,7 @@ export default function Main() { this session to know?