Commit 33d00106 by Syed Abdul Rahman

Implemented create user functionality if user does not exists and bulk seat…

Implemented create user functionality if user does not exists and bulk seat create and update functionality
parent 1ae88499
{
"users": [
{
"id": "1",
"id": "1ad9",
"email": "syedabdul.rahman@krds.com"
},
{
"id": "2",
"id": "06dd",
"email": "abdul@gmail.com"
},
{
"id": "b31d",
"email": "lucy@gmail.com"
},
{
"id": "3",
"email": "abdul@gmail.com"
"id": "62fd",
"email": ""
},
{
"id": "05cc",
"email": "test@gmail.com"
"id": "08da",
"email": "xyz@gmail.com"
},
{
"id": "a6af",
"email": "testing@gmail.com"
}
],
"selectedSeats": [
{
"id": "1",
"userid": "1",
"id": "a6af",
"userid": "a6af",
"selected": [
{
"row": 8,
"seat": 5
"seat": 2
},
{
"row": 8,
"seat": 3
},
{
"row": 8,
"seat": 4
},
{
"row": 8,
"seat": 4
},
{
"row": 8,
"seat": 3
},
{
"row": 8,
"seat": 2
},
{
"row": 8,
"seat": 4
},
{
"row": 8,
"seat": 3
},
{
"row": 8,
"seat": 2
},
{
"row": 8,
"seat": 3
},
{
"row": 8,
"seat": 4
},
{
"row": 8,
"seat": 2
},
{
"row": 8,
"seat": 2
},
{
"row": 8,
"seat": 3
},
{
"row": 8,
"seat": 4
}
]
}
......
import { useNavigate } from 'react-router-dom';
import { useState } from 'react';
import { setItem } from '../../../utils/localStorage'
import { appConstants } from '../../../utils/AppConstants';
import Input from '../../Base/Input/Index'
import Button from '../../Base/Button/Index';
import styles from './styles.module.css';
......@@ -16,7 +17,7 @@ const Login = () => {
const login = async () => {
const response = await fetch("http://localhost:3000/users")
const response = await fetch(`${appConstants.API_URL_USERS}`)
const data = await response.json();
const user = data.find((e) => e.email == email);
if (user) {
......@@ -24,12 +25,16 @@ const Login = () => {
setItem("modal", true)
navigate("/")
} else {
const response = await fetch("http://192.168.1.121:3000/users", {
const response = await fetch(`${appConstants.API_URL_USERS}`, {
method: "POST",
body: JSON.stringify({
email: email
})
})
const data = await response.json();
navigate("/")
setItem("user", data.id)
setItem("modal", true)
}
}
......@@ -44,7 +49,6 @@ const Login = () => {
<div className={styles.desc}>Login with email and passoword to book seats.</div>
</div>
<form className={styles.formWrapper} onSubmit={handleSubmit}>
<Input
label="Email"
name="email"
......
......@@ -15,11 +15,11 @@ const SeatBooking = () => {
let userId = getItem("user");
const navigate = useNavigate();
const [selectedSeats, setSelectedSeats] = useState();
const [selectedSeats, setSelectedSeats] = useState(); //persisted seats state
const [showSeatsModal, setShowSeatsModal] = useState(() => getItem("modal"));
const [showSeatsConfirmationModal, setShowSeatsConfirmationModal] = useState(false);
const [onOfSeats, setNoOfSeats] = useState();
const [currentSeats, setCurrentSeats] = useState([]) // currently selecting seats before booking
const [currentSeats, setCurrentSeats] = useState([]) // currently selecting seats before booking(local)
useEffect(() => {
getSelectedSeats();
......@@ -460,6 +460,7 @@ const SeatBooking = () => {
body: JSON.stringify({ selected: body })
});
getSelectedSeats();
setCurrentSeats([])
} catch (error) {
console.log(error, "error")
......@@ -493,18 +494,18 @@ const SeatBooking = () => {
}
});
let info = {
id: userId,
userid: userId,
selected: [
{
row: rowId,
seat: columnId
}
]
}
const existingUserSeatMap = selectedSeats?.find((ele) => ele.id == userId);
if (existingUserSeatMap) {
// let info = {
// id: userId,
// userid: userId,
// selected: [
// {
// row: rowId,
// seat: columnId
// }
// ]
// }
// const existingUserSeatMap = selectedSeats?.find((ele) => ele.id == userId);
// if (existingUserSeatMap) {
// editSeatsApi(
// existingUserSeatMap.userid,
// [...info.selected, ...existingUserSeatMap.selected],
......@@ -513,9 +514,9 @@ const SeatBooking = () => {
// seat: columnId
// }
// );
} else {
// } else {
// createSeatApi(info);
}
// }
}
const logout = () => {
......@@ -537,7 +538,27 @@ const SeatBooking = () => {
}
const seatsFinal = () => {
setShowSeatsConfirmationModal(false)
setShowSeatsConfirmationModal(false);
const existingUserSeatMap = selectedSeats?.find((ele) => ele.id == userId);
if (existingUserSeatMap) {
editSeatsApi(
existingUserSeatMap.userid,
[...currentSeats, ...existingUserSeatMap.selected],
{
row: 0,
seat: 0
}
);
} else {
let info = {
id: userId,
userid: userId,
selected: currentSeats
}
createSeatApi(info);
}
}
return (
......@@ -556,7 +577,7 @@ const SeatBooking = () => {
seatData={data}
selectedSeats={selectedSeats}
onSeatClick={onSelectSeats}
currentSeats= {currentSeats}
currentSeats={currentSeats}
/>
</div>
<div className={styles['btn-wrapper']}>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment