source: sources/client/src/components/user/Session/SessionGuest/index.js@ 747e0ab

Last change on this file since 747e0ab was bc20307, checked in by Tasevski2 <39170279+Tasevski2@…>, 2 years ago

Push before video

  • Property mode set to 100644
File size: 2.8 KB
Line 
1import { useContext, useEffect } from 'react';
2import {
3 SessionInfo,
4 Input,
5 PersonIcon,
6 PhoneIcon,
7 PlateAndZoneWrapper,
8 ZoneSelectInput,
9 DropdownItem,
10} from './styles';
11
12import { sessionStatus as enumsSessionStatus } from '../../../../config/enums';
13import useGetData from '../../../../hooks/useGetData';
14import { UserContext } from '../../../../context/UserContext';
15
16const MenuProps = {
17 PaperProps: {
18 style: {
19 height: 150,
20 width: '35px',
21 },
22 },
23};
24
25const SessionGuest = ({
26 sessionStatus,
27 sessionInfo,
28 zones,
29 data,
30 onFormChange,
31 setNewData,
32}) => {
33 const { user } = useContext(UserContext);
34 const { data: guest, isLoading: isGuestLoading } = useGetData({
35 url: `/guest/${user.id}`,
36 });
37
38 useEffect(() => {
39 if (!guest) return;
40 setNewData({ plate: guest.plate.plate, zone: data.zone });
41 }, [guest]);
42 console.log(sessionStatus);
43 return (
44 !isGuestLoading && <SessionInfo>
45 <Input
46 disabled
47 name='mobile'
48 placeholder='Телефонски број'
49 value={guest.mobile}
50 InputProps={{
51 startAdornment: <PhoneIcon />,
52 }}
53 />
54 <Input
55 disabled
56 name='email'
57 placeholder='Емаил адреса'
58 value={guest.email}
59 InputProps={{
60 startAdornment: <PersonIcon />,
61 }}
62 />
63 <PlateAndZoneWrapper>
64 <Input
65 disabled
66 name='plate'
67 placeholder='Таблица...'
68 style={{
69 width: '49%',
70 textAlign: 'center',
71 }}
72 value={guest.plate.plate}
73 />
74 <ZoneSelectInput
75 MenuProps={MenuProps}
76 name='zone'
77 onChange={onFormChange}
78 value={data.zone}
79 inputProps={{
80 readOnly:
81 sessionStatus !== null
82
83 }}
84 $show={sessionStatus === null}
85 >
86 <DropdownItem value='NONE'>
87 <em>NONE</em>
88 </DropdownItem>
89 {zones.map((z, ind) => (
90 <DropdownItem key={ind} value={z}>
91 {z}
92 </DropdownItem>
93 ))}
94 </ZoneSelectInput>
95 </PlateAndZoneWrapper>
96 </SessionInfo>
97 );
98};
99
100export default SessionGuest;
Note: See TracBrowser for help on using the repository browser.