Index: sources/client/src/App.js
===================================================================
--- sources/client/src/App.js	(revision 3a58bd6bf544fa7b651adb99848f686e7fd5d273)
+++ sources/client/src/App.js	(revision 747e0ab7ec1a73abedd264cf9b326ea140f54964)
@@ -1,54 +1,66 @@
-import './App.css';
-import { Route, Switch, Redirect } from 'react-router-dom';
+import AdminEmployeeHomeScreen from './screens/AdminHomeScreen';
+import UserAndNotAuthScreen from './screens/UserAndNotAuthScreen';
+import Alert from './components/Alert';
+import BackgropLoader from './components/Loaders/BackdropLoader';
+import { roles } from './config/enums';
+import { UserContext } from './context/UserContext';
+import { AccessoriesContext } from './context/AccessoriesContext';
+import useIsMobile from './hooks/useIsMobile';
+import { useState } from 'react';
 
-import DestinationComponent from './utils/DestinationComponent';
-
-import AdminHomeScreen from './screens/AdminHomeScreen';
-import LoginScreenImported from './screens/LoginScreen';
-
-import { roles } from './config/enums';
-
-const LoginScreen = new DestinationComponent('/', LoginScreenImported, true);
-const AdminEmployeeHomeScreen = new DestinationComponent('/', AdminHomeScreen);
-// const UserHomeScreen = new DestinationComponent('/', UserHomeScreen); TODO
-
-const publicRoutes = [LoginScreen];
-
-const userRoutes = [
-  // UserHomeScreen
-];
-
-const adminAndEmployeeRoutes = [AdminEmployeeHomeScreen];
+import useFindUser from './hooks/useFindUser';
+import Sidedrawer from './components/Sidedrawer';
 
 function App(props) {
-  const user = {
-    role: 'ROLE_ADMIN',
-  };
+    const [alertData, setAlertData] = useState({
+        type: 'error',
+        msg: 'Не Сте Логирани!',
+    });
+    const setAlert = ({ type, msg }) => {
+        setAlertData({ type, msg });
+        setIsAlertOpen(true);
+    };
+    const { user, setUser, isLoading: isLoadingUser } = useFindUser({ setAlert });
+    const { isMobile } = useIsMobile();
+    const [isAlertOpen, setIsAlertOpen] = useState(false);
+    const [isBackdropLoaderOpen, setIsBackdropLoaderOpen] = useState(false);
+    const [isOpenDrawer, setIsOpenDrawer] = useState(false);
 
-  // const user = null;
+    let displayScreen;
+    if (user && (user.role === roles.admin || user.role === roles.employee)) {
+        displayScreen = <AdminEmployeeHomeScreen />;
+    } else {
+        displayScreen = <UserAndNotAuthScreen />;
+    }
 
-  let routes = publicRoutes;
-  if (user) {
-    switch (user.role) {
-      case roles.user:
-        routes = userRoutes;
-        break;
-      case roles.admin:
-      case roles.employee:
-        routes = adminAndEmployeeRoutes;
-        break;
-      default:
-        break;
-    }
-  }
-  console.log(publicRoutes);
-  return (
-    <Switch>
-      {routes?.map((route, index) => (
-        <Route key={index} path={route.path} component={route.component} />
-      ))}
-      <Redirect to='/' />
-    </Switch>
-  );
+    return (
+        <UserContext.Provider value={{ user, setUser, isLoadingUser }}>
+            <AccessoriesContext.Provider
+                value={{
+                    isMobile,
+                    setAlert,
+                    setIsBackdropLoaderOpen,
+                    setIsOpenDrawer,
+                }}
+            >
+                <Sidedrawer
+                    isOpen={isOpenDrawer}
+                    setIsOpen={setIsOpenDrawer}
+                    isMobile={isMobile}
+                />
+                <BackgropLoader
+                    isBackdropLoaderOpen={isBackdropLoaderOpen}
+                    isMobile={isMobile}
+                />
+                <Alert
+                    isOpen={isAlertOpen}
+                    setIsOpen={setIsAlertOpen}
+                    type={alertData.type}
+                    msg={alertData.msg}
+                />
+                {displayScreen}
+            </AccessoriesContext.Provider>
+        </UserContext.Provider>
+    );
 }
 
