Commit dc150d6d by Madhankumar

api alteration

parent e00b54c0
No related merge requests found
......@@ -15,13 +15,17 @@
{
"mobile": "8888888880",
"id": 4
},
{
"mobile": "3545556676",
"id": 5
}
],
"reservedSeats": [
{
"seats": [
"H5",
"H4"
"E8",
"E7"
],
"id": 2
},
......@@ -41,7 +45,13 @@
"E1"
],
"id": 4
},
{
"seats": [
"G3",
"H4"
],
"id": 5
}
]
}
\ No newline at end of file
......@@ -44,7 +44,6 @@ export function ContextProvider({ children }) {
setUserSeats([]);
const response = await api.GetAllSeats();
setUserSeats(response);
return response;
} catch (err) {
toast.error(err.message);
}
......
......@@ -5,7 +5,7 @@ import { useNavigate } from "react-router-dom";
export function _Login() {
const navigate = useNavigate();
const { LoginOrRegister, GetAllSeats } = useAppContext();
const { LoginOrRegister, GetSeatById } = useAppContext();
useEffect(() => {
sessionStorage.clear();
}, []);
......@@ -15,15 +15,14 @@ export function _Login() {
if (users) {
sessionStorage.setItem("userId", users.id);
//check seat length for already booked seats for the user
const allseats = await GetAllSeats();
const userseat = allseats.filter((e) => e.id == users.id);
console.log("ueueu", userseat);
if (userseat.length) {
const userseat = await GetSeatById(users.id);
if (Object.keys(userseat).length) {
//if store the seat length in session
sessionStorage.setItem("seatLimit", userseat[0].seats.length);
sessionStorage.setItem("seatLimit", userseat.seats.length);
//redirect to booking component otherwise it will not redirect if not login
sessionStorage.setItem("currentPath", "/booking");
navigate("/booking", { state: { seats: allseats } });
navigate("/booking");
} else {
sessionStorage.setItem("currentPath", "/seat-limit");
navigate("/seat-limit");
......
import { useEffect, useLayoutEffect, useState } from "react";
import SeatLayout from "../components/top-level/seat-layout";
import { useAppContext } from "../_context";
import { useLocation, useNavigate } from "react-router-dom";
import { useNavigate } from "react-router-dom";
import { bookingSeats } from "./seed";
export function _Seatlayout() {
const { userseats, AddOrUpdateSeats, GetAllSeats } = useAppContext();
const [seats, setSeats] = useState([]);
const [reservedSeat, setReservedSeat] = useState([]);
const [selectedSeat, setSelectedSeat] = useState([]);
const navigate = useNavigate();
const userId = sessionStorage.getItem("userId");
const seatLimit = sessionStorage.getItem("seatLimit");
const location = useLocation();
const seatState = location?.state?.seats;
useLayoutEffect(() => {
handleLoad();
}, []);
useEffect(() => {
handleReservedSeats();
setSeats(userseats);
}, [seats, userseats]);
const handleLoad = async () => {
if (seatState) {
setSeats(location?.state?.seats);
return null;
}
await GetAllSeats();
};
}, [userseats]);
useEffect(() => {
GetAllSeats();
}, []);
const handleReservedSeats = () => {
let seatArray = [];
const reservedSeats = seats?.filter((e) => e.id != userId);
const reservedSeats = userseats?.filter((e) => e.id != userId);
reservedSeats.forEach((element) => {
element.seats.forEach((e) => {
seatArray = [...seatArray, e];
setReservedSeat(seatArray);
});
});
const selectedSeats = seats?.find((e) => e.id == userId);
const selectedSeats = userseats?.find((e) => e.id == userId);
const results = selectedSeats?.seats;
setSelectedSeat(results);
};
......
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