Modificated structure of admin indentify

This commit is contained in:
2021-10-22 12:19:10 -03:00
parent 3d09def619
commit 28a85f63ec
11 changed files with 9 additions and 7 deletions

View File

@@ -1,14 +0,0 @@
import React from 'react'
import AdminHeader from './Header/AdminHeader'
import Identify from './Identify/Identify'
const Admin = () => {
return (
<>
<AdminHeader />
<Identify />
</>
)
}
export default Admin

View File

@@ -1,18 +0,0 @@
import React from 'react'
import {withRouter} from 'react-router'
const AdminHeader = (props) => {
return (
<header>
<h1>Admin Place</h1>
<button
className="redirect-button"
onClick={() => props.history.push('/')}
>
Back to the Game
</button>
</header>
)
}
export default withRouter(AdminHeader)

View File

@@ -1,20 +0,0 @@
import { getFirestore, collection, getDocs } from 'firebase/firestore/lite';
import { firestore } from '../../../../../Firebase/Firebase_Config';
const BringAdminCode = async () => {
try {
const db = getFirestore(firestore)
const data = await collection(db, 'adminCodes')
const result = await getDocs(data)
return await result.docs.map(doc => doc.data())
} catch (error) {
console.log(error)
}
}
export default BringAdminCode

View File

@@ -1,19 +0,0 @@
import { firestore } from '../../../../../Firebase/Firebase_Config'
import {getAuth, createUserWithEmailAndPassword} from 'firebase/auth'
const RegisterNewUser = async (email, password, setMessage) => {
const auth = getAuth()
try {
const response = await createUserWithEmailAndPassword(auth, email, password)
console.log(response)
} catch (error) {
setMessage('There has been an error registering the user. Please try again later')
console.log(error)
}
}
export default RegisterNewUser

View File

@@ -1,21 +0,0 @@
import { firestore } from "../../../../../Firebase/Firebase_Config"
import {getAuth, signInWithEmailAndPassword} from 'firebase/auth'
const SignIn = async (data, setMessage) => {
const auth = getAuth()
const email = data[0]
const password = data[1]
try {
const response = await signInWithEmailAndPassword(auth, email, password)
console.log(response)
} catch (error) {
console.log(error)
setMessage('User or Password wrong')
}
}
export default SignIn

View File

@@ -1,137 +0,0 @@
import React, {useState} from 'react'
import Loading from '../../../Game/components/Loading/Loading'
import MessageContainer from './MessageContainer'
import FormActions from './Scripts/FormActions'
const Form = () => {
const [option, setOption] = useState('login')
const [email, setEmail] = useState('')
const [password, setPassword] = useState('')
const [confirmPassword, setConfirmPassword] = useState('')
const [adminReferredCode, setAdminReferredCode] = useState('')
const [loading, setLoading] = useState(false)
const [message, setMessage] = useState(false)
const clearStates = () => {
setEmail('')
setPassword('')
setConfirmPassword('')
setAdminReferredCode('')
setMessage(false)
}
return (
<div className="form-container">
{
message ?
<MessageContainer message={message} />
: null
}
<nav className="options-container">
<div
className={option === 'login' ? "active option" : 'option'}
onClick={() => {
setOption('login')
clearStates()
}}
>
LOGIN
</div>
<div
className={option === 'register' ? "active option" : 'option'}
onClick={() => {
setOption('register')
clearStates()
}}
>
REGISTER
</div>
</nav>
{
option === 'login' ?
<form
onSubmit={(e) => {
setLoading(true)
FormActions(e, [email, password], option, setLoading, setMessage)
clearStates()
}}
>
<input
type="email"
placeholder="Email"
required
onChange={(e) => setEmail(e.target.value)}
value={email}
/>
<input
type="password"
placeholder="Password"
onChange={(e) => setPassword(e.target.value)}
value={password}
/>
<input type="submit" value="Login"/>
</form>
: null
}
{
option === 'register' ?
<form
onSubmit={(e) => {
FormActions(e, [email, password, confirmPassword, adminReferredCode], option, setLoading, setMessage)
clearStates()
setLoading(true)
}}
>
<input
type="email"
placeholder="Email"
required
onChange={(e) => setEmail(e.target.value)}
value={email}
/>
<input
type="password"
placeholder="Password"
required
onChange={(e) => setPassword(e.target.value)}
value={password}
/>
<input
type="password"
placeholder="Confirm Password"
required
onChange={(e) => setConfirmPassword(e.target.value)}
value={confirmPassword}
/>
<input
type="password"
placeholder="Admin Referred Code"
required
onChange={(e) => {setAdminReferredCode(e.target.value)}}
value={adminReferredCode}
/>
<input type="submit" value="Register" />
</form>
: null
}
{
loading ?
<Loading />
: null
}
</div>
)
}
export default Form

View File

@@ -1,11 +0,0 @@
import React from 'react'
const MessageContainer = (props) => {
return (
<div className="message-container">
<h2>{props.message}</h2>
</div>
)
}
export default MessageContainer

View File

@@ -1,20 +0,0 @@
import SignIn from "../Firebase Querys/Sign In"
import ValidateRegister from "./ValidateRegister"
const FormActions = async (e, data, option, setLoading, setMessage) => {
e.preventDefault()
if (option === 'login') {
await SignIn(data, setMessage)
setLoading(false)
}
if (option === 'register') {
await ValidateRegister(data, setMessage)
setLoading(false)
}
}
export default FormActions

View File

@@ -1,45 +0,0 @@
import React from 'react'
import BringAdminCode from '../Firebase Querys/BringAdminCode'
import RegisterNewUser from '../Firebase Querys/RegisterNewUser'
const ValidateRegister = async (data, setMessage) => {
const email = data[0]
const password = data[1]
const confirmPassword = data[2]
const adminRefferCode = data[3]
if (password.length < 6) {
console.log('PASSWORD TOO SHORT')
setMessage('Password too short')
return false
}
if (password !== confirmPassword) {
console.log('LAS CONTRASEÑAS NO COINCIDEN')
setMessage('The Passwords not match')
return false
}
const documents = await BringAdminCode()
let adminRefferCodeIsValid = false
documents.forEach(document => {
if (adminRefferCode === document.code) {
adminRefferCodeIsValid = true
RegisterNewUser(email, password, setMessage)
}
});
if (!adminRefferCodeIsValid) {
setMessage('Admin Reffer Code not valid')
}
}
export default ValidateRegister

View File

@@ -1,24 +0,0 @@
import React from 'react'
import { getAuth, onAuthStateChanged } from "firebase/auth";
import Form from './Form/Form'
import {withRouter} from 'react-router'
const Identify = (props) => {
const auth = getAuth()
onAuthStateChanged(auth, (user) => {
if (user) {
props.history.push('/admin-place')
}
})
return (
<Form />
)
}
export default withRouter(Identify)