[bc20307] | 1 | import AdminEmployeeHomeScreen from './screens/AdminHomeScreen';
|
---|
| 2 | import UserAndNotAuthScreen from './screens/UserAndNotAuthScreen';
|
---|
| 3 | import Alert from './components/Alert';
|
---|
| 4 | import BackgropLoader from './components/Loaders/BackdropLoader';
|
---|
[3a58bd6] | 5 | import { roles } from './config/enums';
|
---|
[bc20307] | 6 | import { UserContext } from './context/UserContext';
|
---|
| 7 | import { AccessoriesContext } from './context/AccessoriesContext';
|
---|
| 8 | import useIsMobile from './hooks/useIsMobile';
|
---|
| 9 | import { useState } from 'react';
|
---|
[3a58bd6] | 10 |
|
---|
[bc20307] | 11 | import useFindUser from './hooks/useFindUser';
|
---|
| 12 | import Sidedrawer from './components/Sidedrawer';
|
---|
[3a58bd6] | 13 |
|
---|
| 14 | function App(props) {
|
---|
[bc20307] | 15 | const [alertData, setAlertData] = useState({
|
---|
| 16 | type: 'error',
|
---|
| 17 | msg: 'Не Сте Логирани!',
|
---|
| 18 | });
|
---|
| 19 | const setAlert = ({ type, msg }) => {
|
---|
| 20 | setAlertData({ type, msg });
|
---|
| 21 | setIsAlertOpen(true);
|
---|
| 22 | };
|
---|
| 23 | const { user, setUser, isLoading: isLoadingUser } = useFindUser({ setAlert });
|
---|
| 24 | const { isMobile } = useIsMobile();
|
---|
| 25 | const [isAlertOpen, setIsAlertOpen] = useState(false);
|
---|
| 26 | const [isBackdropLoaderOpen, setIsBackdropLoaderOpen] = useState(false);
|
---|
| 27 | const [isOpenDrawer, setIsOpenDrawer] = useState(false);
|
---|
[3a58bd6] | 28 |
|
---|
[bc20307] | 29 | let displayScreen;
|
---|
| 30 | if (user && (user.role === roles.admin || user.role === roles.employee)) {
|
---|
| 31 | displayScreen = <AdminEmployeeHomeScreen />;
|
---|
| 32 | } else {
|
---|
| 33 | displayScreen = <UserAndNotAuthScreen />;
|
---|
[3a58bd6] | 34 | }
|
---|
[bc20307] | 35 |
|
---|
| 36 | return (
|
---|
| 37 | <UserContext.Provider value={{ user, setUser, isLoadingUser }}>
|
---|
| 38 | <AccessoriesContext.Provider
|
---|
| 39 | value={{
|
---|
| 40 | isMobile,
|
---|
| 41 | setAlert,
|
---|
| 42 | setIsBackdropLoaderOpen,
|
---|
| 43 | setIsOpenDrawer,
|
---|
| 44 | }}
|
---|
| 45 | >
|
---|
| 46 | <Sidedrawer
|
---|
| 47 | isOpen={isOpenDrawer}
|
---|
| 48 | setIsOpen={setIsOpenDrawer}
|
---|
| 49 | isMobile={isMobile}
|
---|
| 50 | />
|
---|
| 51 | <BackgropLoader
|
---|
| 52 | isBackdropLoaderOpen={isBackdropLoaderOpen}
|
---|
| 53 | isMobile={isMobile}
|
---|
| 54 | />
|
---|
| 55 | <Alert
|
---|
| 56 | isOpen={isAlertOpen}
|
---|
| 57 | setIsOpen={setIsAlertOpen}
|
---|
| 58 | type={alertData.type}
|
---|
| 59 | msg={alertData.msg}
|
---|
| 60 | />
|
---|
| 61 | {displayScreen}
|
---|
| 62 | </AccessoriesContext.Provider>
|
---|
| 63 | </UserContext.Provider>
|
---|
| 64 | );
|
---|
[3a58bd6] | 65 | }
|
---|
| 66 |
|
---|
| 67 | export default App;
|
---|