Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
Seat-Booking
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Madhankumar
Seat-Booking
Commits
dc150d6d
Commit
dc150d6d
authored
a year ago
by
Madhankumar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api alteration
parent
e00b54c0
master
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
31 deletions
+27
-31
db.json
db.json
+13
-4
index.js
src/_context/index.js
+0
-1
login.js
src/pages/login.js
+6
-7
seat-layout.js
src/pages/seat-layout.js
+8
-19
No files found.
db.json
View file @
dc150d6d
...
...
@@ -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
This diff is collapsed.
Click to expand it.
src/_context/index.js
View file @
dc150d6d
...
...
@@ -44,7 +44,6 @@ export function ContextProvider({ children }) {
setUserSeats
([]);
const
response
=
await
api
.
GetAllSeats
();
setUserSeats
(
response
);
return
response
;
}
catch
(
err
)
{
toast
.
error
(
err
.
message
);
}
...
...
This diff is collapsed.
Click to expand it.
src/pages/login.js
View file @
dc150d6d
...
...
@@ -5,7 +5,7 @@ import { useNavigate } from "react-router-dom";
export
function
_Login
()
{
const
navigate
=
useNavigate
();
const
{
LoginOrRegister
,
Get
AllSeats
}
=
useAppContext
();
const
{
LoginOrRegister
,
Get
SeatById
}
=
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"
);
...
...
This diff is collapsed.
Click to expand it.
src/pages/seat-layout.js
View file @
dc150d6d
import
{
useEffect
,
useLayoutEffect
,
useState
}
from
"react"
;
import
SeatLayout
from
"../components/top-level/seat-layout"
;
import
{
useAppContext
}
from
"../_context"
;
import
{
use
Location
,
use
Navigate
}
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
=
user
seats
?.
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
=
user
seats
?.
find
((
e
)
=>
e
.
id
==
userId
);
const
results
=
selectedSeats
?.
seats
;
setSelectedSeat
(
results
);
};
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment