Index: jobvista-frontend/src/App.css
===================================================================
--- jobvista-frontend/src/App.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/App.css	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -2,22 +2,13 @@
 @import url('https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
 
-* {
-  margin: 0;
-  padding: 0;
-  box-sizing: border-box;
+.App {
+  background-color: rgb(243, 242, 241);
+  height: 100vh;
 }
 
-html {
-  scroll-behavior: smooth;
-}
-
-.App {
-  /*background-color: rgb(243, 242, 241);*/
-  background-color: #E6E6E6;
-  /*background-color: #F4F2EE;*/
-  /*background-color: #0F0F0F;*/
-  /*background-color: #EBF2FC;*/
-  height: 100vh;
-  overflow-y: auto;
+.card {
+  border: 1px solid black;
+  border-radius: 5px;
+  padding: 10px;
 }
 
@@ -27,5 +18,5 @@
   -webkit-box-pack: center;
   justify-content: center;
-  margin-bottom: 20px;
+margin-bottom: 20px;
   margin-top: 20px;
 }
@@ -38,28 +29,8 @@
 
 .form-container {
-  font-family: "Segoe UI";
   background-color: white;
   border-radius: 10px;
   padding: 15px 30px;
-  margin-top: 40px;
-}
-
-
-.form-container h5, .form-container h3 {
-  text-align:center;
-  font-family: Poppins
-}
-
-.container {
-  width: 80% !important;
-  max-width: 1500px !important;
-}
-
-.container, .custom-container {
-  margin-top: 120px !important;
-}
-
-.no-additional-margin {
-  margin-top: 80px !important;
+  margin-top: 80px;
 }
 
@@ -67,167 +38,2 @@
 /*font-family: 'Ubuntu', sans-serif;*/
 /*font-family: 'Cairo', sans-serif;*/
-
-.react-responsive-modal-overlay {
-  backdrop-filter: blur(3px);
-}
-
-/*CARDS*/
-
-.col {
-  height: 280px !important;
-}
-
-.container .g-4 {
-  --bs-gutter-y: 6rem !important;
-  margin-bottom: 100px !important;
-}
-
-
-.add-new-card {
-  border-radius: 8px;
-  background-color: transparent;
-  border: 3px dashed grey;
-  transition: all 0.3s ease;
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-  transform: translate(0, 0);
-  height: 270px;
-  width: 100%;
-  color: grey;
-  font-family: Ubuntu;
-  text-transform: uppercase;
-}
-.add-new-card h3 {
-  font-size: 25px;
-}
-.add-new-card:hover {
-  /*transform: translate(0, 8px);*/
-  /*box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);*/
-  color: black;
-  border: 3px dashed black;
-}
-
-.custom-card {
-  border-radius: 8px;
-  background-color: white;
-  transition: all 0.3s ease;
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-  transform: translate(0, 0);
-  height: 360px;
-}
-
-.hub-card {
-  height: 270px !important;
-}
-
-.custom-card .card-foot {
-  position: absolute;
-  display: flex;
-  justify-content: center;
-  gap: 8px;
-  text-align: center;
-  height: auto;
-  width: 100%;
-  bottom: 20px;
-}
-
-
-
-
-.custom-card:hover {
-  transform: translate(0, 8px);
-  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
-}
-
-.custom-card .card-head {
-  padding: 25px;
-  padding-bottom: 0 !important;
-  height: 20%;
-}
-
-.custom-card .card-head .job-type {
-  font-size: 12px !important;
-  margin-left: 6px !important;
-  position: relative;
-  bottom: 3px;
-}
-
-.custom-card .card-head .expired {
-  font-size: 12px !important;
-  margin-left: 8px !important;
-  position: relative;
-  bottom: 3px;
-}
-
-.custom-card .card-head .card-management-btns {
-  float: right;
-  scale: 130%;
-  display: flex;
-  gap: 5px;
-  transition: 0.2s;
-}
-.custom-card .card-head .card-management-btns i:hover {
-  opacity: 0.5;
-  cursor: pointer;
-}
-
-.custom-card .card-body {
-  padding: 0 25px;
-  padding-top: 5px !important;
-  height: 50%;
-}
-.custom-card .card-body span{
-  font-size: 15px;
-}
-
-.custom-card .card-body .card-title {
-  margin-top: 10px;
-}
-
-
-.custom-card .card-body .card-title h5 {
-  display: inline;
-}
-
-
-.custom-card .card-body .hourly-salary {
-  margin-bottom: 30px;
-  display: inline;
-}
-
-.custom-card .card-body .card-info {
-  color: gray;
-  margin: 13px 0;
-}
-
-
-
-
-.card-button {
-  border: 0;
-  border-radius: 8px;
-  width: 45%;
-  background-image: linear-gradient(to bottom, #dddddd, #f0f0f0);
-  color: #333333;
-  font-weight: bold;
-  padding: 5px 10px;
-  transition: 0.2s;
-  text-decoration: none;
-  text-align: center;
-}
-
-.card-button:only-child {
-  width: 70%;
-}
-.card-button:not(.disabled):hover{
-  background: linear-gradient(to bottom, #bbbbbb, #dddddd);
-  color: #333333;
-}
-
-.card-company-logo {
-  border-radius: 15%
-}
-
-
-
-
-
Index: jobvista-frontend/src/App.js
===================================================================
--- jobvista-frontend/src/App.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/App.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,15 +1,11 @@
 import logo from './logo.svg';
 import './App.css';
-import {useDispatch, useSelector} from "react-redux";
+import {useDispatch} from "react-redux";
 import {BrowserRouter} from "react-router-dom";
 import {Header} from "./views/static/Header";
-import RoutesConfig from "./auth/RoutesConfig";
-import React, {useEffect, useState} from "react";
+import {RoutesConfig} from "./auth/RoutesConfig";
+import {useEffect} from "react";
 import {AuthActions} from "./redux/actions/authActions";
 import {AUTH_TOKEN} from "./axios/axiosInstance";
-import {jwtDecode} from "jwt-decode";
-import {NoAccess} from "./views/static/NoAccess";
-import {Loading} from "./views/static/Loading";
-import {ToastContainer} from "react-toastify";
 
 function App() {
@@ -20,64 +16,10 @@
     }, [dispatch])
 
-    const [user, setUser] = useState(null);
-    const [loading, setLoading] = useState(true);
-    const [minimumLoadingTime, setMinimumLoadingTime] = useState(true);
-
-    const auth = useSelector(state => state.auth);
-
-    useEffect(() => {
-        // Simulate a minimum loading time of 1 second
-        const timer = setTimeout(() => {
-            setMinimumLoadingTime(false);
-        }, 1000);
-
-        // Clear timeout if component unmounts
-        return () => clearTimeout(timer);
-    }, []);
-
-    useEffect(() => {
-        const token = localStorage.getItem(AUTH_TOKEN);
-        if (token !== null) {
-            try {
-                const decodedToken = jwtDecode(token);
-                setUser({
-                    name: decodedToken.name,
-                    role: decodedToken.role,
-                    hasAccess: decodedToken.access,
-                    id: decodedToken.id
-                });
-                setLoading(false);
-            } catch (error) {
-                console.error('Failed to decode token', error);
-                setLoading(false);
-            }
-        } else {
-            setLoading(false);
-        }
-    }, [auth]);
-
-    if (loading || minimumLoadingTime) {
-        return <Loading />; // Replace LoadingSpinner with your loading indicator component
-    }
-
   return (
       <div className="App">
           <BrowserRouter>
-              {user === null ? (
-                  <>
-                      <Header />
-                      <RoutesConfig />
-                  </>
-              ) : user.hasAccess ? (
-                  <>
-                      <Header />
-                      <RoutesConfig />
-                      {/*<Loading/>*/}
-                  </>
-              ) : (
-                  <NoAccess user={user}/>
-              )}
+              <Header/>
+              <RoutesConfig/>
           </BrowserRouter>
-          <ToastContainer/>
       </div>
   );
Index: jobvista-frontend/src/auth/RoutesConfig.js
===================================================================
--- jobvista-frontend/src/auth/RoutesConfig.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/auth/RoutesConfig.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,223 +1,17 @@
-import {Navigate, Route, Router, Routes} from 'react-router-dom'
+
+import {Route, Router, Routes} from 'react-router-dom'
 import {Dashboard} from "../views/dashboard/Dashboard";
 import {SignInForm} from "../views/auth/SignInForm";
 import {SignUpRecruiterForm} from "../views/auth/SignUpRecruiterForm";
 import {SignUpJobSeekerForm} from "../views/auth/SignUpJobSeekerForm";
-import {Workspace} from "../views/job_advertisements/JobManagementHub";
-import {JobAdDetails} from "../views/job_advertisements/JobAdDetails";
-import {ApplicationsByJobAd} from "../views/applications/ApplicationsByJobAd";
-import {ApplicationsByJobSeeker} from "../views/applications/ApplicationsByJobSeeker";
-
-import {AdminPanel} from "../views/admin_panel/AdminPanel";
-import {RecruiterProfile} from "../views/profiles/RecruiterProfile";
-import {AboutUs} from "../views/static/AboutUs";
-import {JobSeekerEditProfile} from "../views/profiles/JobSeekerEditProfile";
-import {RecruiterEditProfile} from "../views/profiles/RecruiterEditProfile";
-import Roles from "../enumerations/Roles";
-import {useSelector} from "react-redux";
-import {useEffect, useState} from "react";
-import {ErrorPage} from "../views/static/ErrorPage";
-import {NoAccess} from "../views/static/NoAccess";
-
-export const PrivateRoutes = [
-    {
-        component: AdminPanel,
-        path: '/admin-panel',
-        title: 'Admin Panel',
-        exact: true,
-        permission: [
-            Roles.ADMIN
-        ]
-    },
-    {
-        component: Workspace,
-        path: '/job-management-hub',
-        title: 'Job Management Hub',
-        exact: true,
-        permission: [
-            Roles.RECRUITER,
-        ]
-    },
-    {
-        component: ApplicationsByJobAd,
-        path: '/job-management-hub/applications/:advertisement_id',
-        title: 'Applications by Job Ad',
-        exact: true,
-        permission: [
-            Roles.RECRUITER
-        ]
-    },
-    {
-        component: ApplicationsByJobSeeker,
-        path: '/my-applications',
-        title: 'My Applications',
-        exact: true,
-        permission: [
-            Roles.JOBSEEKER
-        ]
-    },
-
-    {
-        component: JobSeekerEditProfile,
-        path: '/job-seeker/edit-profile',
-        title: 'Edit Job Seeker Profile',
-        exact: true,
-        permission: [
-            Roles.JOBSEEKER
-        ]
-    },
-    {
-        component: RecruiterEditProfile,
-        path: '/recruiter/edit-profile',
-        title: 'Edit Recruiter Profile',
-        exact: true,
-        permission: [
-            Roles.RECRUITER
-        ]
-    },
-]
-
-export const PublicRoutes = [
-    {
-        component: Dashboard,
-        path: "/",
-        exact: true,
-        permission: [
-            Roles.RECRUITER,
-            Roles.JOBSEEKER,
-            Roles.ADMIN,
-            Roles.GUEST
-        ]
-    },
-    {
-        component: SignInForm,
-        path: '/signin',
-        title: 'Sign In',
-        exact: true,
-        permission: [
-            Roles.GUEST,
-            Roles.RECRUITER,
-            Roles.JOBSEEKER,
-            Roles.ADMIN
-        ]
-    },
-
-    {
-        component: SignUpRecruiterForm,
-        path: '/signup/recruiter',
-        title: 'Sign Up as Recruiter',
-        permission: [
-            Roles.GUEST,
-            Roles.RECRUITER,
-            Roles.JOBSEEKER,
-            Roles.ADMIN
-        ]
-    },
-    {
-        component: SignUpJobSeekerForm,
-        path: '/signup/job-seeker',
-        title: 'Sign Up as Job Seeker',
-        permission: [
-            Roles.GUEST,
-            Roles.RECRUITER,
-            Roles.JOBSEEKER,
-            Roles.ADMIN
-        ]
-    },
-    {
-        component: JobAdDetails,
-        path: '/job-advertisements/:id',
-        title: 'Job Advertisement Details',
-        exact: true,
-        permission: [
-            Roles.RECRUITER,
-            Roles.JOBSEEKER,
-            Roles.ADMIN,
-            Roles.GUEST
-        ]
-    },
-    {
-        component: RecruiterProfile,
-        path: '/recruiters/:id',
-        title: 'Recruiter Profile',
-        exact: true,
-        permission: [
-            Roles.RECRUITER,
-            Roles.JOBSEEKER,
-            Roles.ADMIN,
-            Roles.GUEST
-        ]
-    },
-    {
-        component: AboutUs,
-        path: '/about',
-        title: 'About Us',
-        exact: true,
-        permission: [
-            Roles.GUEST,
-            Roles.RECRUITER,
-            Roles.JOBSEEKER,
-            Roles.ADMIN
-        ]
-    },
-    {
-        component: NoAccess,
-        path: '/no-access',
-        title: 'No Access',
-        exact: true,
-        permission: [
-            Roles.GUEST,
-            Roles.RECRUITER,
-        ]
-    },
-]
-
-const AllRoutes = [...PrivateRoutes, ...PublicRoutes];
-
-const filterRoutes = (roleParam) => {
-    return AllRoutes.filter(route => {
-        return route.permission.includes(roleParam);
-    });
-};
-const RoutesConfig = () => {
-    const currentUser = useSelector(state => state.auth.currentUser);
-    const [role, setRole] = useState(Roles.GUEST);
-
-    useEffect(() => {
-        if (currentUser) {
-            setRole(currentUser.role);
-        }
-    }, [currentUser]);
+export const RoutesConfig = () => {
 
     return (
-        <Routes>
-            {filterRoutes(role).map(route => (
-                <Route
-                    key={route.path}
-                    path={route.path}
-                    element={<route.component/>}
-                    exact={route.exact}
-                />
-            ))}
-            <Route path="*" element={<ErrorPage to="/"/>}/>
-        </Routes>
-
-        // <Routes>
-        //     <Route path="/" element={<Dashboard/>}></Route>
-        //     <Route path="/signin" element={<SignInForm/>}></Route>
-        //     <Route path="/signup/recruiter" element={<SignUpRecruiterForm/>}></Route>
-        //     <Route path="/signup/job-seeker" element={<SignUpJobSeekerForm/>}></Route>
-        //     <Route path="/job-management-hub" element={<Workspace/>}></Route>
-        //     <Route path="/my-applications" element={<ApplicationsByJobSeeker/>}></Route>
-        //     <Route path="/job-advertisements/:id" element={<JobAdDetails/>}></Route>
-        //     <Route path="/recruiters/:id" element={<RecruiterProfile/>}></Route>
-        //     <Route path="/job-management-hub/applications/:advertisement_id" element={<ApplicationsByJobAd/>}></Route>
-        //     <Route path="/admin-panel" element={<AdminPanel/>}></Route>
-        //     <Route path="/about" element={<AboutUs/>}></Route>
-        //     <Route path="/job-seeker/edit-profile" element={<JobSeekerEditProfile/>}></Route>
-        //     <Route path="/recruiter/edit-profile" element={<RecruiterEditProfile/>}></Route>
-        // </Routes>
+            <Routes>
+                <Route path="/" element={<Dashboard/>}></Route>
+                <Route path="/signin" element={<SignInForm/>}></Route>
+                <Route path="/signup/recruiter" element={<SignUpRecruiterForm/>}></Route>
+                <Route path="/signup/job-seeker" element={<SignUpJobSeekerForm/>}></Route>
+            </Routes>
     )
 }
-
-export default RoutesConfig
Index: jobvista-frontend/src/enumerations/EmploymentStatus.js
===================================================================
--- jobvista-frontend/src/enumerations/EmploymentStatus.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,4 +1,0 @@
-export default {
-    FULL_TIME: 'Full-time',
-    PART_TIME: 'Part-time',
-};
Index: jobvista-frontend/src/enumerations/JobType.js
===================================================================
--- jobvista-frontend/src/enumerations/JobType.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,4 +1,0 @@
-export default {
-    JOB: 'JOB',
-    INTERNSHIP: 'INTERNSHIP',
-};
Index: jobvista-frontend/src/enumerations/Roles.js
===================================================================
--- jobvista-frontend/src/enumerations/Roles.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/enumerations/Roles.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -14,4 +14,3 @@
     RECRUITER: 'ROLE_RECRUITER',
     JOBSEEKER: 'ROLE_JOBSEEKER',
-    GUEST: 'ROLE_GUEST'
 };
Index: jobvista-frontend/src/redux/actionTypes.js
===================================================================
--- jobvista-frontend/src/redux/actionTypes.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/redux/actionTypes.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -4,27 +4,2 @@
 export const UPDATE_TOKEN = "UPDATE_TOKEN"
 export const CURRENT_USER = "CURRENT_USER"
-
-export const ADD_JOB_ADVERTISEMENT = "ADD_JOB_ADVERTISEMENT"
-export const EDIT_JOB_ADVERTISEMENT = "EDIT_JOB_ADVERTISEMENT"
-export const DELETE_JOB_ADVERTISEMENT = "DELETE_JOB_ADVERTISEMENT"
-export const FETCH_JOB_ADVERTISEMENTS = "FETCH_JOB_ADVERTISEMENTS"
-export const FILTER_JOB_ADVERTISEMENTS = "FILTER_JOB_ADVERTISEMENTS"
-export const FETCH_JOB_ADVERTISEMENTS_BY_RECRUITER = "FETCH_JOB_ADVERTISEMENTS_BY_RECRUITER"
-export const FILTER_JOB_ADVERTISEMENTS_BY_RECRUITER = "FILTER_JOB_ADVERTISEMENTS_BY_RECRUITER"
-export const SUBMIT_APPLICATION = "SUBMIT_APPLICATION"
-export const UPDATE_APPLICATION = "UPDATE_APPLICATION"
-export const UPDATE_APPLICATION_STATUS = "UPDATE_APPLICATION_STATUS"
-export const UPDATE_APPLICATIONS = "UPDATE_APPLICATIONS"
-export const FETCH_APPLICATIONS_BY_JOB_ID = "FETCH_APPLICATIONS_BY_JOB_ID"
-export const FILTER_APPLICATIONS_BY_JOB_ID = "FILTER_APPLICATIONS_BY_JOB_ID"
-export const FETCH_APPLICATIONS_BY_JOB_SEEKER_ID = "FETCH_APPLICATIONS_BY_JOB_SEEKER_ID"
-export const FILTER_APPLICATIONS_BY_JOB_SEEKER_ID = "FILTER_APPLICATIONS_BY_JOB_SEEKER_ID"
-export const DOWNLOAD_RESUME = "DOWNLOAD_RESUME"
-
-export const FETCH_RECRUITERS = "FETCH_RECRUITERS"
-export const CHANGE_ACCESS = "CHANGE_ACCESS"
-export const SUBMIT_RECRUITER_LOGO = "SUBMIT_RECRUITER_LOGO"
-export const SUBMIT_RECRUITER_COVER = "SUBMIT_RECRUITER_COVER"
-export const SET_LOGO_URL = 'SET_LOGO_URL';
-export const SET_PROFILE_PIC_URL = 'SET_PROFILE_PIC_URL';
-
Index: jobvista-frontend/src/redux/actions/JobSeekerActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/JobSeekerActions.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,67 +1,0 @@
-import axios from "../../axios/axiosInstance";
-import {SET_PROFILE_PIC_URL} from "../actionTypes";
-
-export const JobSeekerActions = {
-
-    submitProfilePic: (formData, callback) => {
-        let jobSeekerId = formData.get("jobSeekerId");
-        let profilePicFile =  formData.get("profilePicFile")
-        return dispatch => {
-            axios.post("/job-seeker/submit-profile-pic", formData, {
-                headers: {
-                    'Content-Type': 'multipart/form-data'
-                }
-            })
-                .then(response => {
-                    const blob = new Blob([profilePicFile])
-                    const profilePicUrl = window.URL.createObjectURL(blob);
-                    dispatch({
-                        type: SET_PROFILE_PIC_URL,
-                        payload: {jobSeekerId, profilePicUrl}
-                    })
-                    callback(true, response)
-                }).catch(error => {
-                    callback(false, error)
-            })
-        }
-    },
-
-    downloadProfilePic: (jobSeekerId, callback) => {
-        return dispatch => {
-            return axios.get("/job-seeker/" + jobSeekerId + "/download-profile-pic", {responseType: "blob"})
-                .then(response => {
-                    const blob = new Blob([response.data])
-                    const profilePicUrl = window.URL.createObjectURL(blob);
-                    dispatch({
-                        type: SET_PROFILE_PIC_URL,
-                        payload: {jobSeekerId, profilePicUrl}
-                    });
-                    callback(true, profilePicUrl)
-                }).catch(error => {
-                    callback(false, error)
-                })
-        }
-    },
-
-    fetchJobSeekerEditDetailsById: (id, callback) => {
-        return dispatch => {
-            return axios.get("/job-seeker/"+id+"/edit-info")
-                .then(response => {
-                    callback(true, response)
-                }).catch(error => {
-                    callback(false, error)
-                })
-        }
-    },
-
-    editJobSeekerDetailsById: (data, id, callback) => {
-        return dispatch => {
-            return axios.post("/job-seeker/"+id+"/edit-info", data)
-                .then(response => {
-                    callback(true, response)
-                }).catch(error => {
-                    callback(false, error)
-                })
-        }
-    }
-}
Index: jobvista-frontend/src/redux/actions/adminActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/adminActions.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,36 +1,0 @@
-import axios from "../../axios/axiosInstance";
-import {CHANGE_ACCESS, FETCH_RECRUITERS} from "../actionTypes";
-
-export const AdminActions = {
-    fetchRecruiters: (callback) => {
-        return dispatch => {
-            axios.get("/admin/recruiters")
-                .then(response => {
-                dispatch({
-                    type: FETCH_RECRUITERS,
-                    recruiters: response.data
-                })
-                callback(true, response)
-            }).catch((error) => {
-                callback(false, error)
-            })
-        }
-    },
-    changeAccess: (recruiterId, access, callback) => {
-        return dispatch => {
-            axios.post("/admin/change-access/" + recruiterId, access, {
-                headers: {
-                    'Content-Type': 'application/json'
-                }
-            }).then(response => {
-                dispatch({
-                    type: CHANGE_ACCESS,
-                    recruiter: response.data
-                })
-                callback(true, response)
-            }).catch((error) => {
-                callback(false, error)
-            })
-        }
-    }
-}
Index: jobvista-frontend/src/redux/actions/applicationActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/applicationActions.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,168 +1,0 @@
-import axios from "../../axios/axiosInstance";
-import {
-    CURRENT_USER,
-    FETCH_APPLICATIONS_BY_JOB_ID,
-    FETCH_APPLICATIONS_BY_JOB_SEEKER_ID, FILTER_APPLICATIONS_BY_JOB_ID, FILTER_APPLICATIONS_BY_JOB_SEEKER_ID,
-    SUBMIT_APPLICATION, UPDATE_APPLICATION, UPDATE_APPLICATION_STATUS, UPDATE_APPLICATIONS
-} from "../actionTypes";
-
-export const ApplicationActions = {
-    submitApplication: (application, callback) => {
-        return dispatch => {
-            axios.post("/applications/submit", application, {
-                headers: {
-                    'Content-Type': 'multipart/form-data'
-                }
-            })
-                .then(response => {
-                    dispatch({
-                        type: SUBMIT_APPLICATION,
-                        application: response.data
-                    })
-                    callback(true, response)
-                }).catch(error => {
-                callback(false, error)
-                console.log(error)
-            })
-        }
-    },
-
-    updateApplication: (applicationId, additionalFiles, callback) => {
-        console.log(additionalFiles)
-        return dispatch => {
-            axios.post("/applications/"+ applicationId + "/update", additionalFiles, {
-                headers: {
-                    'Content-Type': 'multipart/form-data'
-                }
-            })
-                .then(response => {
-                    dispatch({
-                        type: UPDATE_APPLICATION,
-                        application: response.data
-                    })
-                    callback(true, response)
-                }).catch(error => {
-                callback(false, error)
-                console.log(error)
-            })
-        }
-    },
-    updateApplicationStatus: (id, status, callback) => {
-        console.log(status)
-        return dispatch => {
-            axios.post("/applications/" + id + "/update", {
-                id: id,
-                status: status
-            })
-                .then(response => {
-                    dispatch({
-                        type: UPDATE_APPLICATION_STATUS,
-                        application: response.data,
-                    })
-                    callback(true, response)
-                }).catch(error => {
-                callback(false, error)
-            })
-        }
-    },
-
-    updateApplications: (changes, callback) => {
-        return dispatch => {
-            axios.post("/applications/update", changes)
-                .then(response => {
-                    dispatch({
-                        type: UPDATE_APPLICATIONS,
-                        applications: response.data
-                    })
-                    callback(true, response)
-                }).catch(error => {
-                callback(false, error)
-            })
-        }
-    },
-
-    fetchApplicationsByJobSeeker: (jobSeekerId, callback) => {
-        return dispatch => {
-            axios.get("/my-applications/" + jobSeekerId)
-                .then(response => {
-                    dispatch({
-                        type: FETCH_APPLICATIONS_BY_JOB_SEEKER_ID,
-                        applicationsByJobSeeker: response.data
-                    })
-                    callback(true, response)
-                }).catch(error => {
-                callback(false, error)
-            })
-        }
-    },
-
-    filterApplicationsByJobSeeker: (jobSeekerId, status, callback) => {
-        return dispatch => {
-            axios.post("/my-applications/" + jobSeekerId + "/filtered", status)
-                .then(response => {
-                    dispatch({
-                        type: FILTER_APPLICATIONS_BY_JOB_SEEKER_ID,
-                        applicationsByJobSeeker: response.data
-                    })
-                    callback(true, response)
-                }).catch(error => {
-                callback(false, error)
-            })
-        }
-    },
-
-    fetchApplicationsByJobAdId: (jobAdId, callback) => {
-        return dispatch => {
-            axios.get("/job-advertisements/" + jobAdId + "/applications")
-                .then(response => {
-                        dispatch({
-                            type: FETCH_APPLICATIONS_BY_JOB_ID,
-                            applicationsByJobAdId: response.data
-                        })
-                        callback(true, response)
-                    }
-                ).catch(error => {
-                callback(false, error)
-            })
-        }
-    },
-
-    filterApplicationsByJobAdId: (jobAdId, status, callback) => {
-        return dispatch => {
-            axios.post("/job-advertisements/" + jobAdId + "/applications/filtered", status)
-                .then(response => {
-                        dispatch({
-                            type: FILTER_APPLICATIONS_BY_JOB_ID,
-                            applicationsByJobAdId: response.data
-                        })
-                        callback(true, response)
-                    }
-                ).catch(error => {
-                callback(false, error)
-            })
-        }
-    },
-    downloadResume: (id, callback) => {
-        return axios.get("/applications/" + id + "/download-resume", {responseType: "blob"})
-            .then(response => {
-                const blob = new Blob([response.data], {type: 'application/pdf'});
-                const url = window.URL.createObjectURL(blob);
-                callback(true, url);
-            })
-            .catch(error => {
-                callback(false, error)
-            })
-
-    },
-    downloadAdditionalFiles: (id, callback) => {
-        return axios.get("/applications/" + id + "/download-additional-files")
-            .then(response => {
-                const urls = response.data; // This will be a list of URLs
-                callback(true, urls);
-            })
-            .catch(error => {
-                callback(false, error);
-            });
-
-    }
-}
Index: jobvista-frontend/src/redux/actions/authActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/authActions.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/redux/actions/authActions.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -36,30 +36,4 @@
     },
 
-    signInGoogle: (tokenId, callback) => {
-        return dispatch => {
-            axios.post("/auth/google", { tokenId })
-                .then(jwtResponse => {
-                    const response = jwtResponse.data;
-                    const token = response.token;
-                    const user = {
-                        name: response.name,
-                        role: response.role,
-                        access: response.hasAccess,
-                        id: response.id,
-                    };
-                    dispatch({
-                        type: SIGN_IN,
-                        payload: {
-                            token,
-                            user
-                        }
-                    });
-                    callback && callback(true);
-                }).catch(error => {
-                callback && callback(false, error);
-            });
-        };
-    },
-
     signIn: (email, password, callback) => {
         return dispatch => {
@@ -69,10 +43,9 @@
                 const response = jwtResponse.data;
                 const token = response.token;
-                //const refreshToken = response.refreshToken;
+                //const refreshToken = response.refreshToken; // Corrected typo
                 const user = {
+                    email: response.email,
                     name: response.name,
-                    role: response.role,
-                    access: response.hasAccess,
-                    id: response.id,
+                    role: response.role
                 };
                 dispatch({
Index: jobvista-frontend/src/redux/actions/jobAdvertisementActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/jobAdvertisementActions.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,137 +1,0 @@
-import axios from "../../axios/axiosInstance";
-import {
-    ADD_JOB_ADVERTISEMENT,
-    CURRENT_USER, DELETE_JOB_ADVERTISEMENT, EDIT_JOB_ADVERTISEMENT,
-    FETCH_JOB_ADVERTISEMENTS,
-    FETCH_JOB_ADVERTISEMENTS_BY_RECRUITER, FILTER_JOB_ADVERTISEMENTS
-} from "../actionTypes";
-
-export const JobAdvertisementActions = {
-    addJobAdvertisement: (jobAdvertisement, callback) => {
-        return dispatch => {
-            axios.post("/job-advertisements/add", jobAdvertisement)
-                .then(response => {
-                    dispatch({
-                        type: ADD_JOB_ADVERTISEMENT,
-                        jobAdvertisement: response.data
-                    })
-                    callback(true)
-                }).catch((error) => {
-                console.error(error)
-                callback(false)
-            })
-        }
-    },
-    editJobAdvertisement: (jobAdvertisement, id, callback) => {
-        return dispatch => {
-            axios.put("/job-advertisements/edit/" + id, jobAdvertisement)
-                .then(response => {
-                    dispatch({
-                        type: EDIT_JOB_ADVERTISEMENT,
-                        jobAdvertisement: response.data
-                    })
-                    callback(true)
-                }).catch((error) => {
-                console.error(error)
-                callback(false)
-            })
-        }
-    },
-    deleteJobAdvertisement: (id, callback) => {
-        return dispatch => {
-            axios.delete("/job-advertisements/delete/" + id)
-                .then(response => {
-                    dispatch({
-                        type: DELETE_JOB_ADVERTISEMENT,
-                        id: id
-                    })
-                    callback(true)
-                }).catch(error => {
-                console.error(error)
-                callback(false)
-            })
-
-        }
-    },
-    fetchJobAdvertisementById: (id, callback) => {
-        axios.get("/job-advertisements/" + id)
-            .then(response => {
-                callback(true, response)
-            }).catch(error => {
-            callback(false, error)
-        })
-    },
-
-    fetchJobAdvertisements: (callback) => {
-        return dispatch => {
-            axios.get("/job-advertisements/all")
-                .then(response => {
-                    dispatch({
-                        type: FETCH_JOB_ADVERTISEMENTS,
-                        jobAdvertisements: response.data,
-                    })
-                    callback(true, response)
-                }).catch((error) => {
-                callback(false, error)
-            })
-        }
-    },
-    filterJobAdvertisements: (filter, callback) => {
-        axios.post("/job-advertisements/filtered", filter)
-            .then(response => {
-                callback(true, response)
-            }).catch((error) => {
-            callback(false, error)
-        })
-
-    },
-
-    fetchJobAdvertisementsByRecruiter: (recruiterId, callback) => {
-        return dispatch => {
-            let currentUser = JSON.parse(localStorage.getItem(CURRENT_USER));
-            axios.get("/job-advertisements/recruiter/" + recruiterId)
-                .then(response => {
-                    dispatch({
-                        type: FETCH_JOB_ADVERTISEMENTS_BY_RECRUITER,
-                        jobAdvertisementsByRecruiter: response.data,
-                    })
-                    callback(true, response)
-                }).catch((error) => {
-                callback(false, error)
-            })
-        }
-    },
-
-    fetchJobAdvertisementsByRecruiterProfile: (recruiterId, callback) => {
-        return dispatch => {
-            let currentUser = JSON.parse(localStorage.getItem(CURRENT_USER));
-            axios.get("/job-advertisements/recruiter/" + recruiterId)
-                .then(response => {
-                    callback(true, response)
-                }).catch((error) => {
-                callback(false, error)
-            })
-        }
-    },
-
-    filterJobAdvertisementsByRecruiter: (id, filter, callback) => {
-
-        let currentUser = JSON.parse(localStorage.getItem(CURRENT_USER));
-        axios.post("/job-advertisements/recruiter/" + id + "/filtered", filter)
-            .then(response => {
-                callback(true, response)
-            }).catch((error) => {
-            callback(false, error)
-        })
-
-    },
-
-    fetchRecruiterDetailsById: (id, callback) => {
-        axios.get("/recruiter/" + id + "/info")
-            .then(response => {
-                callback(true, response)
-            }).catch(error => {
-            callback(false, error)
-        })
-    }
-}
Index: jobvista-frontend/src/redux/actions/recruiterActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/recruiterActions.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,66 +1,0 @@
-
-import axios from "../../axios/axiosInstance";
-import {SET_LOGO_URL} from "../actionTypes";
-export const RecruiterActions =  {
-    submitLogo: (formData, callback) => {
-        let recruiterId = formData.get("recruiterId");
-        let logoFile =  formData.get("logoFile")
-        return dispatch => {
-            axios.post("/recruiter/submit-logo", formData, {
-                headers: {
-                    'Content-Type': 'multipart/form-data'
-                }
-            })
-                .then(response => {
-                    const blob = new Blob([logoFile])
-                    const logoUrl = window.URL.createObjectURL(blob);
-                    dispatch({
-                        type: SET_LOGO_URL,
-                        payload: { recruiterId, logoUrl }
-                    });
-                    callback(true, response)
-                }).catch(error => {
-                    callback(false, error)
-            })
-        }
-    },
-
-    downloadLogo: (recruiterId, callback) => {
-        return dispatch => {
-            return axios.get("/recruiter/" + recruiterId + "/download-logo", {responseType: "blob"})
-                .then(response => {
-                    const blob = new Blob([response.data])
-                    const logoUrl = window.URL.createObjectURL(blob);
-                    dispatch({
-                        type: SET_LOGO_URL,
-                        payload: { recruiterId, logoUrl }
-                    });
-                    callback(true, logoUrl);
-                }).catch(error => {
-                    callback(false, error)
-                })
-        }
-    },
-
-    fetchRecruiterEditDetailsById: (id, callback) => {
-        return dispatch => {
-            return axios.get("/recruiter/"+id+"/edit-info")
-                .then(response => {
-                    callback(true, response)
-                }).catch(error => {
-                    callback(false, error)
-                })
-        }
-    },
-
-    editRecruiterDetailsById: (data, id, callback) => {
-        return dispatch => {
-            return axios.post("/recruiter/"+id+"/edit-info", data)
-                .then(response => {
-                    callback(true, response)
-                }).catch(error => {
-                    callback(false, error)
-                })
-        }
-    }
-}
Index: jobvista-frontend/src/redux/reducers/adminReducer.js
===================================================================
--- jobvista-frontend/src/redux/reducers/adminReducer.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,31 +1,0 @@
-import {CHANGE_ACCESS, FETCH_RECRUITERS} from "../actionTypes";
-import {sortElementsBy} from "../../utils/utils";
-
-const initialState = {
-    recruiters: [],
-}
-
-const AdminReducer = (state = initialState, action) => {
-    switch (action.type) {
-        case FETCH_RECRUITERS:
-            return {
-                ...state,
-                recruiters: sortElementsBy(action.recruiters, "registeredOn")
-            }
-        case CHANGE_ACCESS:
-            return {
-                ...state,
-                recruiters: state.recruiters.map(recruiter =>
-                recruiter.id === action.recruiter.id ?
-                    {...recruiter, hasAccess: action.recruiter.hasAccess} :
-                    recruiter
-                )
-            }
-        default:
-            return {
-                ...state,
-            };
-    }
-}
-
-export default AdminReducer
Index: jobvista-frontend/src/redux/reducers/applicationReducer.js
===================================================================
--- jobvista-frontend/src/redux/reducers/applicationReducer.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,70 +1,0 @@
-import {
-    CURRENT_USER,
-    FETCH_APPLICATIONS_BY_JOB_ID,
-    FETCH_APPLICATIONS_BY_JOB_SEEKER_ID, FILTER_APPLICATIONS_BY_JOB_ID, FILTER_APPLICATIONS_BY_JOB_SEEKER_ID,
-    SUBMIT_APPLICATION, UPDATE_APPLICATION, UPDATE_APPLICATION_STATUS
-} from "../actionTypes";
-
-const initialState = {
-    applicationsByJobSeeker: [],
-    applicationsByJobAdId: []
-}
-
-let currentUser = JSON.parse(localStorage.getItem(CURRENT_USER))
-
-export const ApplicationReducer = (state = initialState, action) => {
-    let applications;
-
-    switch (action.type) {
-        case SUBMIT_APPLICATION:
-            return {
-                ...state,
-                applicationsByJobSeeker: [...state.applicationsByJobSeeker, action.application]
-            }
-        case UPDATE_APPLICATION:
-            return {
-                ...state,
-                applicationsByJobSeeker: state.applicationsByJobSeeker.map(application =>
-                    application.id === action.application.id ?
-                        action.application : // Replace with the updated application
-                        application // Keep the old one
-                )
-            }
-        case UPDATE_APPLICATION_STATUS:
-            return {
-                ...state,
-                applicationsByJobAdId: state.applicationsByJobAdId.map(application =>
-                application.id === action.application.id ?
-                    {...application, status: action.application.status} :
-                    application
-                )
-            }
-        case FETCH_APPLICATIONS_BY_JOB_ID:
-            return {
-                ...state,
-                applicationsByJobAdId: action.applicationsByJobAdId
-            }
-        case FILTER_APPLICATIONS_BY_JOB_ID:
-            return {
-                ...state,
-                applicationsByJobAdId: action.applicationsByJobAdId
-            }
-
-        case FETCH_APPLICATIONS_BY_JOB_SEEKER_ID:
-            return {
-                ...state,
-                applicationsByJobSeeker: action.applicationsByJobSeeker
-            }
-        case FILTER_APPLICATIONS_BY_JOB_SEEKER_ID:
-            return {
-                ...state,
-                applicationsByJobSeeker: action.applicationsByJobSeeker
-            }
-        default:
-            return {
-                ...state,
-            };
-    }
-}
-
-export default ApplicationReducer
Index: jobvista-frontend/src/redux/reducers/authReducer.js
===================================================================
--- jobvista-frontend/src/redux/reducers/authReducer.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/redux/reducers/authReducer.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -3,5 +3,4 @@
 import {isExpired} from "react-jwt";
 import {CURRENT_USER, SIGN_IN, SIGN_OUT, UPDATE_TOKEN} from "../actionTypes";
-import {jwtDecode} from "jwt-decode";
 
 const initialState = {
@@ -14,5 +13,5 @@
         case SIGN_IN:
             localStorage.setItem(AUTH_TOKEN, action.payload.token);
-            //localStorage.setItem(CURRENT_USER, JSON.stringify(action.payload.user));
+            localStorage.setItem(CURRENT_USER, JSON.stringify(action.payload.user));
             return {
                 ...state,
@@ -22,24 +21,10 @@
         case UPDATE_TOKEN:
             let token = action.payload;
-            let decodedToken;
-            let currentUser = "";
-            if(token !=null) {
-                try {
-                    decodedToken = jwtDecode(token);
-                } catch (error) {
-                    console.log("Failed to decode token: " + error)
-                }
-            }
-
+            let currentUser = null
             if(!isExpired(token)) {
                 localStorage.setItem(AUTH_TOKEN, token);
-                currentUser = {
-                    name: decodedToken.name,
-                    role: decodedToken.role,
-                    access: decodedToken.access,
-                    id: decodedToken.id
-                };
+                currentUser = JSON.parse(localStorage.getItem(CURRENT_USER));
             } else {
-                //localStorage.removeItem(CURRENT_USER);
+                localStorage.removeItem(CURRENT_USER);
                 localStorage.removeItem(AUTH_TOKEN);
                 currentUser = "";
@@ -52,10 +37,11 @@
             };
         case SIGN_OUT:
-            //localStorage.removeItem(CURRENT_USER);
+            console.log("BRISAM")
+            localStorage.removeItem(CURRENT_USER);
             localStorage.removeItem(AUTH_TOKEN);
             return {
                 ...state,
-                currentUser: "",
-                token: "",
+                currentUser: null,
+                token: null
             }
 
Index: jobvista-frontend/src/redux/reducers/imagesReducer.js
===================================================================
--- jobvista-frontend/src/redux/reducers/imagesReducer.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,32 +1,0 @@
-import {SET_LOGO_URL, SET_PROFILE_PIC_URL} from "../actionTypes";
-
-const initialState = {
-    profilePictures: {},
-    logos: {}
-}
-
-const ImagesReducer = (state = initialState, action) => {
-
-    switch (action.type) {
-        case SET_PROFILE_PIC_URL:
-            return{
-                ...state,
-                profilePictures: {
-                   ...state.profilePictures, [action.payload.jobSeekerId]: action.payload.profilePicUrl
-                }
-            }
-        case SET_LOGO_URL:
-            return {
-                ...state,
-                logos: {
-                    ...state.logos, [action.payload.recruiterId]: action.payload.logoUrl
-                }
-            }
-        default:
-            return {
-                ...state,
-            };
-    }
-}
-
-export default ImagesReducer
Index: jobvista-frontend/src/redux/reducers/jobAdvertisementReducer.js
===================================================================
--- jobvista-frontend/src/redux/reducers/jobAdvertisementReducer.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,69 +1,0 @@
-import {
-    ADD_JOB_ADVERTISEMENT,
-    CURRENT_USER,
-    DELETE_JOB_ADVERTISEMENT,
-    EDIT_JOB_ADVERTISEMENT,
-    FETCH_JOB_ADVERTISEMENTS,
-    FETCH_JOB_ADVERTISEMENTS_BY_RECRUITER,
-    FILTER_JOB_ADVERTISEMENTS,
-    FILTER_JOB_ADVERTISEMENTS_BY_RECRUITER,
-    SET_LOGO_URL
-} from "../actionTypes";
-import {sortElementsBy} from "../../utils/utils";
-import {useSelector} from "react-redux";
-
-const initialState = {
-    jobAdvertisements: [],
-    jobAdvertisementsByRecruiter: []
-}
-
-let currentUser = JSON.parse(localStorage.getItem(CURRENT_USER))
-export const JobAdvertisementReducer = (state = initialState, action) => {
-    let jobAdvertisements;
-    let jobAdvertisementsByRecruiter;
-    switch (action.type) {
-        case ADD_JOB_ADVERTISEMENT:
-
-            return {
-                ...state,
-                jobAdvertisements: sortElementsBy([...state.jobAdvertisements, action.jobAdvertisement]),
-                jobAdvertisementsByRecruiter: sortElementsBy([...state.jobAdvertisementsByRecruiter, action.jobAdvertisement], "postedOn")
-            }
-        case EDIT_JOB_ADVERTISEMENT:
-            jobAdvertisements = state.jobAdvertisements.filter(jobAd => jobAd.id !== action.jobAdvertisement.id)
-            jobAdvertisementsByRecruiter = state.jobAdvertisementsByRecruiter.filter(jobAd => jobAd.id !== action.jobAdvertisement.id)
-
-            return {
-                jobAdvertisements: sortElementsBy([...jobAdvertisements, action.jobAdvertisement], "postedOn"),
-                jobAdvertisementsByRecruiter: sortElementsBy([...jobAdvertisementsByRecruiter, action.jobAdvertisement], "postedOn")
-            }
-        case DELETE_JOB_ADVERTISEMENT:
-            jobAdvertisements = state.jobAdvertisements.filter(jobAd => jobAd.id !== action.id)
-            jobAdvertisementsByRecruiter = state.jobAdvertisementsByRecruiter.filter(jobAd => jobAd.id !== action.id)
-
-            return {
-                jobAdvertisements: sortElementsBy([...jobAdvertisements], "postedOn"),
-                jobAdvertisementsByRecruiter: sortElementsBy([...jobAdvertisementsByRecruiter], "postedOn")
-            }
-
-        case FETCH_JOB_ADVERTISEMENTS:
-            return {
-                ...state,
-                jobAdvertisements: sortElementsBy(action.jobAdvertisements, "postedOn")
-            }
-
-
-        case FETCH_JOB_ADVERTISEMENTS_BY_RECRUITER:
-            return {
-                ...state,
-                jobAdvertisementsByRecruiter: sortElementsBy(action.jobAdvertisementsByRecruiter, "postedOn")
-            }
-
-        default:
-            return {
-                ...state,
-            };
-    }
-}
-
-export default JobAdvertisementReducer
Index: jobvista-frontend/src/redux/store.js
===================================================================
--- jobvista-frontend/src/redux/store.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/redux/store.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -2,9 +2,5 @@
 import { combineReducers } from 'redux';
 import authReducer from "./reducers/authReducer";
-import jobAdReducer from "./reducers/jobAdvertisementReducer";
-import applicationReducer from "./reducers/applicationReducer"
-import adminReducer from "./reducers/adminReducer"
-import {AdminActions} from "./actions/adminActions";
-import ImagesReducer from "./reducers/imagesReducer";
+import { thunk } from 'redux-thunk';
 
 // const rootReducer = combineReducers({
@@ -19,9 +15,5 @@
 export const store = configureStore({
     reducer: {
-        auth: authReducer,
-        jobAd: jobAdReducer,
-        appl: applicationReducer,
-        admin: adminReducer,
-        images: ImagesReducer
+        auth: authReducer
     },
 });
Index: jobvista-frontend/src/utils/toastUtils.js
===================================================================
--- jobvista-frontend/src/utils/toastUtils.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,190 +1,0 @@
-import { toast } from 'react-toastify';
-import 'react-toastify/dist/ReactToastify.css';
-
-
-export const notifyProfileEdit = () => {
-    toast.success(
-        <span>
-            Your details were successfully updated!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyProfilePicChange = () => {
-    toast.success(
-        <span>
-            Your profile picture was successfully changed!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyLogoChange = () => {
-    toast.success(
-        <span>
-            Your logo was successfully changed!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyJobAdEdit = () => {
-    toast.success(
-        <span>
-            Job advertisement updated successfully!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyJobAdPost = () => {
-    toast.success(
-        <span>
-            Job advertisement posted successfully!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyJobAdDelete = () => {
-    toast.success(
-        <span>
-            Job advertisement deleted successfully!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyAppStatusUpdate = () => {
-    toast.success(
-        <span>
-            Application/s updated successfully!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyJobAdApply = () => {
-    toast.success(
-        <span>
-            Your application was successfully sent!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyJobAdUpdate= () => {
-    toast.success(
-        <span>
-            Your application was successfully updated!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyAccessUpdate = (companyName) => {
-    toast.success(
-        <span>
-            {companyName}'s access was successfully changed!
-        </span>, {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        });
-}
-
-export const notifyIncorrectEmailOrPassword = () => {
-    toast.error(
-        <span>Incorrect email or password. Please try again.</span>,
-        {
-            position: "bottom-right",
-            autoClose: 5000,
-            hideProgressBar: false,
-            closeOnClick: true,
-            pauseOnHover: false,
-            draggable: true,
-            progress: undefined,
-            theme: "dark",
-            pauseOnFocusLoss: false
-        }
-    );
-}
Index: jobvista-frontend/src/utils/utils.js
===================================================================
--- jobvista-frontend/src/utils/utils.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,38 +1,0 @@
-
-
-export const sortElementsBy = (array, column) => {
-    return array.slice().sort((a, b) => {
-        return new Date(b[column]).getTime() - new Date(a[column]).getTime()
-    });
-}
-
-export const formatRelativeTime = (dateString) => {
-    const date = new Date(dateString);
-    const now = new Date();
-    const diffTime = now - date;
-
-    const minute = 60 * 1000;
-    const hour = minute * 60;
-    const day = hour * 24;
-    const week = day * 7;
-    const month = day * 30;
-
-    if (diffTime < minute) {
-        return 'just now';
-    } else if (diffTime < hour) {
-        const minutes = Math.floor(diffTime / minute);
-        return `${minutes} ${minutes === 1 ? 'min' : 'min'} ago`;
-    } else if (diffTime < day) {
-        const hours = Math.floor(diffTime / hour);
-        return `${hours} ${hours === 1 ? 'hour' : 'hours'} ago`;
-    } else if (diffTime < week) {
-        const days = Math.floor(diffTime / day);
-        return `${days} ${days === 1 ? 'day' : 'days'} ago`;
-    } else if (diffTime < month) {
-        const weeks = Math.floor(diffTime / week);
-        return `${weeks} ${weeks === 1 ? 'week' : 'weeks'} ago`;
-    } else {
-        const months = Math.floor(diffTime / month);
-        return `${months} ${months === 1 ? 'month' : 'months'} ago`;
-    }
-}
Index: jobvista-frontend/src/views/admin_panel/AdminPanel.css
===================================================================
--- jobvista-frontend/src/views/admin_panel/AdminPanel.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,61 +1,0 @@
-.table {
-
-}
-
-.table tbody tr:nth-child(even) {
-    background-color: #fff; /* Light gray */
-}
-
-.table tbody tr:nth-child(odd) {
-    background-color: #f2f2f2; /* White */
-}
-/* The switch - the box around the slider */
-.switch {
-    font-size: 12px;
-    position: relative;
-    display: inline-block;
-    width: 3.5em;
-    height: 2em;
-}
-
-/* Hide default HTML checkbox */
-.switch input {
-    opacity: 0;
-    width: 0;
-    height: 0;
-}
-.slider {
-    position: absolute;
-    cursor: pointer;
-    inset: 0;
-    background: #DB5A57;
-    border-radius: 50px;
-    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
-}
-
-.slider:before {
-    position: absolute;
-    content: "";
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    height: 2em;
-    width: 2em;
-    inset: 0;
-    background-color: white;
-    border-radius: 50px;
-    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
-    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
-}
-
-.switch input:checked + .slider {
-    background: #3DDC69;
-}
-
-.switch input:focus + .slider {
-    box-shadow: 0 0 1px #3DDC69;
-}
-
-.switch input:checked + .slider:before {
-    transform: translateX(1.6em);
-}
Index: jobvista-frontend/src/views/admin_panel/AdminPanel.js
===================================================================
--- jobvista-frontend/src/views/admin_panel/AdminPanel.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,93 +1,0 @@
-import "./AdminPanel.css"
-
-import {useDispatch, useSelector} from "react-redux";
-import {useState, useEffect} from "react";
-import {AdminActions} from "../../redux/actions/adminActions";
-import {notifyAccessUpdate} from "../../utils/toastUtils";
-
-export const AdminPanel = () => {
-
-    const dispatch = useDispatch();
-    const [recruiters, setRecruiters] = useState([]);
-    let recruitersState = useSelector(state => state.admin.recruiters)
-    const [dispatched, setDispatched] = useState(false)
-
-    useEffect(() => {
-        if(!dispatched && recruitersState.length == 0) {
-            dispatch(AdminActions.fetchRecruiters((success, response) => {
-                if(success && response.data.length > 0) {
-                    setRecruiters(response.data)
-                }
-                setDispatched(true)
-                console.log("Fetch all recruiters GET")
-            }))
-        } else {
-            setRecruiters(recruitersState)
-            console.log("Fetch all recruiters STATE")
-            console.log(recruitersState)
-
-        }
-    }, [recruitersState])
-
-    const formatDate = (dateString) => {
-        const options = { year: 'numeric', month: 'long', day: 'numeric', hour: '2-digit', minute: '2-digit' };
-        return new Date(dateString).toLocaleDateString('en-US', options);
-    };
-
-    const handleAccessChange = (recruiterId, companyName, newAccessStatus) => {
-
-        setRecruiters(prevState =>
-            prevState.map(recruiter =>
-                recruiter.id === recruiterId
-                    ? { ...recruiter, hasAccess: newAccessStatus }
-                    : recruiter
-            )
-        );
-
-        dispatch(AdminActions.changeAccess(recruiterId, newAccessStatus, (success, response) => {
-            if(success) {
-                notifyAccessUpdate(companyName)
-            }
-        }));
-    };
-
-    return (
-        <div className="custom-container mt-5">
-            <table className="table">
-                <thead>
-                <tr>
-                    <th scope="col">ID</th>
-                    <th scope="col">Registered on</th>
-                    <th scope="col">Email</th>
-                    <th scope="col">Company Name</th>
-                    <th scope="col">Phone Number</th>
-                    <th scope="col">Access</th>
-                </tr>
-                </thead>
-                <tbody>
-                {recruitersState.map((recruiter) => (
-                    <tr key={recruiter.id}>
-                        <th scope="row">{recruiter.id}</th>
-                        <td>{formatDate(recruiter.registeredOn)}</td>
-                        <td>{recruiter.email}</td>
-                        <td>{recruiter.companyName}</td>
-                        <td>{recruiter.contactPhoneNumber}</td>
-                        <td>
-                            <label className="switch">
-                                <input
-                                    type="checkbox"
-                                    checked={recruiter.hasAccess}
-                                    onChange={(e) => handleAccessChange(recruiter.id, recruiter.companyName, e.target.checked)}
-                                />
-                                <span className="slider"></span>
-                            </label>
-                        </td>
-
-
-                    </tr>
-                ))}
-                </tbody>
-            </table>
-        </div>
-    )
-}
Index: jobvista-frontend/src/views/applications/ApplicationDetailsModal.js
===================================================================
--- jobvista-frontend/src/views/applications/ApplicationDetailsModal.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,177 +1,0 @@
-import React, {useEffect, useState} from "react";
-import "../shared_css/Modal.css";
-
-import 'react-responsive-modal/styles.css';
-import {Modal} from 'react-responsive-modal';
-import Select from "react-select";
-
-//Validation
-import * as yup from "yup";
-import {yupResolver} from "@hookform/resolvers/yup";
-import {Controller, useForm} from "react-hook-form";
-
-
-import {employmentStatusOptions, industryOptions, jobTypeOptions} from "../selectOptions";
-import {useDispatch, useSelector} from "react-redux";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import Roles from "../../enumerations/Roles";
-import {ApplicationActions} from "../../redux/actions/applicationActions";
-import {notifyJobAdApply, notifyJobAdUpdate} from "../../utils/toastUtils";
-
-
-export const ApplicationDetailsModal = (props) => {
-    const {application} = props
-    const [modal, setModal] = useState(false);
-    const dispatch = useDispatch();
-    const auth = useSelector(state => state.auth.currentUser)
-    const [resumeUrl, setResumeUrl] = useState("");
-    const [additionalFileUrls, setAdditionalFileUrls] = useState([]);
-
-    const [additionalFiles, setAdditionalFiles] = useState(null);
-    const toggleModal = () => {
-        setModal(!modal);
-    };
-
-    const {register, handleSubmit, control, formState: {errors}} = useForm();
-
-    useEffect(() => {
-        if (application) {
-            ApplicationActions.downloadResume(application.id, (success, response) => {
-                if (success) {
-                    setResumeUrl(response);
-
-                    if (application.additionalFileNames.length > 0) {
-                        ApplicationActions.downloadAdditionalFiles(application.id, (success2, response) => {
-                            if (success2) {
-                                setAdditionalFileUrls(response);
-                            }
-                        })
-                    }
-                }
-            })
-        }
-    }, [])
-
-    const updateApplication = async () => {
-        try {
-            const formData = new FormData();
-            if (additionalFiles && additionalFiles.length > 0) {
-                for (let i = 0; i < additionalFiles.length; i++) {
-                    formData.append('additionalFiles', additionalFiles[i]);
-                }
-            }
-
-            dispatch(ApplicationActions.updateApplication(application.id, formData, (success) => {
-                if (success) {
-                    toggleModal()
-                    window.location.reload()
-                }
-            }))
-        } catch (err) {
-            console.error(err)
-        }
-    }
-
-    function getFileName(path) {
-        let fileName = path.split('\\').pop().split('/').pop();
-
-        fileName = fileName.trim();
-
-        return fileName;
-    }
-
-    return (<div className="modal-wrap">
-        {auth.role === Roles.RECRUITER ? <button onClick={toggleModal} className="application-button">View
-            application</button> : (application.status === "UNDER_REVIEW" && application.response.length > 0 && additionalFileUrls.length === 0) ?
-            <button onClick={toggleModal} className="application-button">Update application</button> :
-            <button onClick={toggleModal} className="application-button">View application</button>}
-
-        <Modal open={modal} onClose={toggleModal} center>
-            <div className="head-modal">
-                <h3>{application.jobSeekerName}'s application for {application.jobAdTitle}</h3>
-                <i className="fa-solid fa-x btn-close-modal" onClick={toggleModal}></i>
-            </div>
-
-            <div className="modal-content">
-                <form onSubmit={handleSubmit(updateApplication)}>
-                    <div className="row">
-                        <div className="col-md-6 d-flex flex-column gap-4">
-                            <div>
-                                <label className="label">Why are you interested in joining our company?</label>
-                                <textarea disabled type="text" defaultValue={application.questionAnswers[0]} disabled
-                                          placeholder="Write your answer here..." className="application-textarea"/>
-                            </div>
-
-                            <div>
-                                <label className="label">What makes you a good fit for this position?</label>
-                                <textarea disabled type="text" defaultValue={application.questionAnswers[1]}
-                                          placeholder="Write your answer here..." className="application-textarea"/>
-                            </div>
-
-                            <div>
-                                <label className="label">What do you hope to achieve in your first 6 months in this
-                                    role?</label>
-                                <textarea disabled type="text" defaultValue={application.questionAnswers[2]}
-                                          placeholder="Write your answer here..." className="application-textarea"/>
-                            </div>
-
-
-                        </div>
-                        <div className="col-md-6 d-flex flex-column gap-4">
-                            <div>
-                                <label className="label" htmlFor="start">Curriculum vitae (CV)</label>
-
-                                <a className="resume-link" href={resumeUrl} target="_blank"
-                                   rel="noopener noreferrer">{getFileName(application.fileName)}</a>
-                            </div>
-
-                            <div>
-                                <label className="label">Message to the recruiter</label>
-                                <textarea disabled type="text" defaultValue={application.message}
-                                          placeholder="Optional..."
-                                          className="application-textarea"/>
-                            </div>
-
-
-                            {additionalFileUrls.length > 0 ? (<div>
-                                    <label className="label" htmlFor="start">Additional documents</label>
-                                    <ul style={{listStyleType: "none", padding: 0, margin: 0}}>
-                                        {additionalFileUrls.map((url, index) => (
-                                            <li style={{marginBottom: 10}} key={index}>
-                                                <a href={url} className="resume-link" download target="_blank">
-                                                    {getFileName(url)}
-                                                </a>
-                                            </li>))}
-                                    </ul>
-                                </div>) : (<div>
-                                    {(application.status === "UNDER_REVIEW" && application.response.length > 0 && auth.role == Roles.JOBSEEKER) &&
-                                        <div>
-                                            <label className="label" htmlFor="start">Additional documents</label>
-                                            <input
-                                                className="resume-link"
-                                                onChange={(e) => setAdditionalFiles(e.target.files)}
-                                                required type="file"
-                                                id="fileUpload"
-                                                accept=".pdf"
-                                                multiple
-                                            />
-                                        </div>}
-                                </div>
-                            )}
-
-
-                        </div>
-                    </div>
-                    {(additionalFileUrls.length  === 0 && application.status === "UNDER_REVIEW" && application.response.length > 0 && auth.role == Roles.JOBSEEKER) &&
-                        <div className="modal-buttons">
-                            <div className="cancel-btn" onClick={toggleModal}> Cancel</div>
-                            <button className="submit-btn"> Submit</button>
-                        </div>}
-
-                </form>
-
-
-            </div>
-        </Modal>
-    </div>)
-}
Index: jobvista-frontend/src/views/applications/Applications.css
===================================================================
--- jobvista-frontend/src/views/applications/Applications.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,255 +1,0 @@
-.custom-container {
-    width: 65% !important;
-    max-width: 1500px !important;
-    margin: auto;
-}
-
-.application-title {
-    font-family: "Segoe UI";
-    margin-top: 40px;
-    margin-bottom: 20px;
-    display: flex;
-    justify-content: start;
-    border-bottom: 1px solid #CFCFCF;
-}
-.application-title h3 {
-    font-weight: 500;
-}
-
-.response-message {
-    background-color: floralwhite;
-    border-radius: 8px;
-    padding: 15px;
-    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-}
-
-
-
-
-.application-card-wrapper {
-    margin: 15px 0;
-    display: flex;
-    flex-direction: column;
-    transition: all 0.4s ease-in-out;
-    gap: 3px;
-}
-
-.application-card.changed {
-    background-color: aliceblue;
-}
-
-.application-card-wrapper .expand-section {
-    max-height: 0;
-    opacity: 0;
-    transition: 0.5s ease;
-    display: flex;
-    flex-direction: column;
-    align-items: flex-end;
-    margin: 0 !important;
-}
-
-.application-card-wrapper.expanded .expand-section {
-    max-height: 200px;
-    opacity: 1;
-    transform: translateY(0);
-    margin-top: 10px;
-  /*  transition: max-height 0.3s ease, opacity 0.3s ease, transform 0.3s ease;*/
-}
-
-.expand-section textarea {
-    width: 100%;
-    padding: 10px;
-    border-radius: 8px;
-    border: 1px solid #ccc;
-}
-
-
-.application-card {
-    font-family: Poppins;
-     border: 1px solid lightgray;
-    border-radius: 8px;
-    background-color: white;
-    transition: all 0.3s ease;
-    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-    /*height: auto;*/
-    padding: 20px 20px;
-    display: flex;
-}
-.application-card .app-job-seeker-pic {
-    border: 1px solid gray;
-    border-radius: 50%;
-    margin-right: 20px;
-}
-.application-card .app-job-seeker-pic img {
-    border-radius: 50%;
-}
-
-.application-card .app-company-logo {
-    width: 8%;
-}
-
-.application-card .app-info {
-    width: 60%;
-    display: inline-flex;
-    flex-direction: column;
-    align-items: flex-start;
-    justify-content: center;
-    gap: 10px;
-}
-
-.application-card .app-info .jobAd-title {
-    font-weight: 600;
-    font-size: 1.2rem;
-    /*text-transform: uppercase;*/
-    font-family: 'Segoe UI', sans-serif;
-    text-decoration: none;
-    color: black
-}
-
-.
-
-.application-card .app-info .contact-info {
-    display: inline-flex;
-    gap: 30px;
-}
-.application-card .app-info .contact-info .contact-item {
-    display: inline-flex;
-    align-items: center;
-    gap: 5px;
-    margin-right: 10px
-}
-
-.application-card .app-info .contact-info .contact-item span {
-   color: darkgray;
-}
-
-.application-card .app-status {
-    width: 38%;
-    display: inline-flex;
-    justify-content: end;
-    align-items: center;
-    gap: 10px;
-}
-
-.application-card .app-status .select {
-    width: 45%;
-    display: inline-block;
-}
-
-.app-status .status {
-    color: white;
-    padding: 5px 10px;
-    border-radius: 5px;
-    width: 150px;
-    text-align: center;
-}
-
-
-
-
-
-
-
-
-.application-button {
-    border: 0;
-    border-radius: 8px;
-    width: auto;
-    background-image: linear-gradient(to bottom, #dddddd, #f0f0f0);
-    background-color: #dddddd;
-    color: #333333;
-
-    font-weight: 700;
-    padding: 8px 13px;
-}
-
-.application-button:hover {
-    background: linear-gradient(to bottom, #bbbbbb, #dddddd);
-    color: #333333;
-}
-
-/*.application-card:hover {*/
-/*    transform: translate(0, 8px);*/
-/*    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);*/
-/*}*/
-
-.multi-button button{
-    /*font-size: 5vmin;*/
-    padding: .5em 1em;
-    background: #fff;
-    color: #4A5568;
-    border: 0px solid #A0AEC0;
-    //margin: .1em;
-    transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
-    box-shadow: 0 0 0 #BEE3F8;
-    transform: translateY(0);
-}
-.multi-button button:first-of-type{
-    border-radius: .5em 0 0 .5em;
-}
-.multi-button button:last-of-type{
-    border-radius: 0 .5em .5em 0;
-}
-.multi-button button i{
-    color: #A0AEC0;
-    margin-right: .3em;
-    transition: all .2s ease-out;
-}
-.multi-button:hover button{
-    color: #A0AEC0;
-}
-
-.multi-button:hover button:hover{
-    background: #D53F8C;
-    color: #fff;
-    box-shadow: 0 0 0.8em 0 rgba(213, 63, 140, .8);
-    transform: translateY(-.2em);
-}
-.multi-button:hover button i{
-    color: #CBD5E0;
-}
-.multi-button:hover button:hover i{
-    color: #FED7E2;
-    transform: rotate(-10deg);
-}
-
-.application-filters {
-    gap: 15px;
-    border-radius: 8px;
-    background-color: white;
-}
-
-/* Default Span Styles */
-.application-filters span {
-    padding: 8px 12px;
-    border-radius: 5px;
-    color: rgba(1,38,90,0.9);
-    cursor: pointer;
-    display: inline-flex;
-    align-items: center;
-}
-
-/* Icon Styles */
-.application-filters span i {
-    margin-right: 5px;
-}
-
-/* Hover Effect */
-.application-filters span:hover {
-    background-color: rgba(1,38,90,0.9);
-    color: white;
-}
-
-.application-filters span:hover i {
-    color: inherit; /* Makes the icon inherit the color from the parent span */
-}
-
-/* Selected State */
-.application-filters span.selected {
-    background-color: rgba(1,38,90,0.9);
-    color: white;
-}
-
-.application-filters span.selected i {
-    color: inherit; /* Ensures icon color matches the selected state */
-}
Index: jobvista-frontend/src/views/applications/ApplicationsByJobAd.js
===================================================================
--- jobvista-frontend/src/views/applications/ApplicationsByJobAd.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,269 +1,0 @@
-import {useDispatch, useSelector} from "react-redux";
-import {useEffect, useState} from "react";
-import {useParams} from "react-router";
-import {ApplicationActions} from "../../redux/actions/applicationActions";
-import {ApplicationDetailsModal} from "./ApplicationDetailsModal";
-import "./Applications.css"
-import Select from "react-select";
-import {sortElementsBy} from "../../utils/utils";
-import {JobSeekerActions} from "../../redux/actions/JobSeekerActions";
-import {notifyAppStatusUpdate} from "../../utils/toastUtils";
-
-export const ApplicationsByJobAd = () => {
-
-    const dispatch = useDispatch();
-    let {advertisement_id} = useParams();
-
-    const [applicationsByJobAd, setApplicationsByJobAd] = useState([]);
-    let applicationsByJobAdState = useSelector(state => state.appl.applicationsByJobAdId)
-    const [dispatched, setDispatched] = useState(false);
-
-    const [profilePics, setProfilePics] = useState({});
-    let profilePicsState = useSelector(state => state.images.profilePictures)
-    const [profilePicsDispatched, setProfilePicsDispatched] = useState(false);
-
-    const [jobAdTitle, setJobAdTitle] = useState("");
-
-    const [changedApplications, setChangedApplications] = useState({});
-
-    useEffect(() => {
-        if(!dispatched) {
-            dispatch(ApplicationActions.fetchApplicationsByJobAdId(advertisement_id, (success, reponse) => {
-                if (success && reponse.data.length > 0) {
-                    setApplicationsByJobAd(sortElementsBy(reponse.data, "submittedOn"))
-                    setJobAdTitle(reponse.data[0].jobAdTitle)
-                }
-                setDispatched(true)
-                console.log("Fetch applications by job ad GET")
-            }))
-        } else {
-            setApplicationsByJobAd(sortElementsBy(applicationsByJobAdState, "submittedOn"));
-            if(applicationsByJobAdState.length > 0) {
-                setJobAdTitle(applicationsByJobAdState[0].jobAdTitle)
-            }
-
-        }
-
-    }, [applicationsByJobAdState])
-
-    useEffect(() => {
-        if(dispatched && !profilePicsDispatched) {
-            applicationsByJobAd.forEach(app => {
-                if(app.jobSeekerId && !profilePics[app.jobSeekerId]) {
-                    fetchProfilePic(app.jobSeekerId)
-                }
-            })
-            setProfilePicsDispatched(true);
-            console.log("Fetch all profile pics GET")
-        } else if(profilePicsDispatched) {
-            setProfilePics(profilePicsState)
-            console.log("Fetch all profile pics STATE")
-        }
-    }, [dispatched])
-
-
-    const fetchProfilePic = (jobSeekerId) => {
-        dispatch(JobSeekerActions.downloadProfilePic(jobSeekerId, (success, response) => {
-            if(success) {
-                setProfilePics(prevState => ({...prevState, [jobSeekerId]: response}))
-            }
-        }))
-    }
-
-    const options = [
-        {value: 'PROPOSED', label: <span><i className="fa-solid fa-paper-plane"></i> Proposed</span>},
-        {value: 'UNDER_REVIEW', label: <span><i className="fa-solid fa-file-pen"></i> Under Review</span>},
-        {value: 'ACCEPTED', label: <span><i className="fa-solid fa-user-check"></i> Accepted</span>},
-        {value: 'DENIED', label: <span><i className="fa-solid fa-user-slash"></i> Denied</span>}
-    ];
-
-    const [selectedFilter, setSelectedFilter] = useState('All');
-
-    const filters = [
-        { value: 'ALL', label: 'All', icon: 'fa-folder-open' },
-        { value: 'PROPOSED', label: 'Proposed', icon: 'fa-paper-plane' },
-        { value: 'UNDER_REVIEW', label: 'Under Review', icon: 'fa-file-pen' },
-        { value: 'ACCEPTED', label: 'Accepted', icon: 'fa-user-check' },
-        { value: 'DENIED', label: 'Denied', icon: 'fa-user-slash' },
-    ];
-
-    const filterApplicationsByJobAdvertisement = (filter) => {
-        dispatch(ApplicationActions.filterApplicationsByJobAdId(advertisement_id, filter, (success, response) => {
-            if(success) {
-                //notify
-            }
-        }))
-    }
-
-    let handleDefaultStatus = (status) => {
-        return options.find(option => option.value === status);
-    }
-
-    let handleStatusChange = (selectedOption, id) => {
-
-        const currentApplication = applicationsByJobAd.find(app => app.id === id);
-
-        setChangedApplications(prevState => ({
-            ...prevState,
-            [id]: {
-                ...prevState[id],
-                response: (selectedOption.value === "ACCEPTED" || selectedOption.value === "DENIED") ? (prevState[id]?.response || currentApplication.response || "") : "",
-                status: selectedOption.value
-            }
-        }))
-
-       setApplicationsByJobAd(prevState => (
-           prevState.map(application =>
-           application.id === id ? {...application, status: selectedOption.value} : application)
-       ))
-
-        const responseTextarea = document.getElementById(`response-${id}`);
-        if (responseTextarea) {
-            responseTextarea.value = "";
-        }
-
-       /* dispatch(ApplicationActions.updateApplicationStatus(id, selectedOption.value, (success, response) => {
-            if(success) {
-                notifyAppStatusUpdate()
-            }
-        }))*/
-    }
-
-    let handleResponseChange = (e, id) => {
-
-        const currentApplication = applicationsByJobAd.find(app => app.id === id);
-
-        setChangedApplications(prevState => ({
-                ...prevState,
-                [id]: {
-                    ...prevState[id],
-                    response: e.target.value,
-                    status: prevState[id]?.status || currentApplication.status,
-                }
-            }
-        ))
-    }
-
-    const handleSaveChanges = () => {
-        console.log(changedApplications)
-       const changes = Object.entries(changedApplications).map(
-           ([applicationId, change]) => ({
-               id: applicationId,
-               status: change.status,
-               response: change.response,
-           })
-       );
-        console.log(changes)
-
-       if(changes.length === 0) {
-           return;
-       }
-
-       dispatch(ApplicationActions.updateApplications(changes, (success, response) => {
-           if(success) {
-               setChangedApplications({});
-               notifyAppStatusUpdate()
-               //notify change success
-           }
-       }))
-
-
-    }
-
-    const isChangedApplication = (id) => {
-        return changedApplications && Object.keys(changedApplications).includes(id.toString());
-    };
-
-
-    return (<div className="custom-container">
-        <div className="application-title">
-            {jobAdTitle ?
-                <h3>Applications for <b>{jobAdTitle}</b></h3> :
-                <h1></h1>
-            }
-        </div>
-
-        <div className="row">
-            <div className="col-md-6 application-filters-wrap">
-                <div className="application-filters d-inline-flex flex-row justify-content-start">
-                    {
-                        filters.map(filter => (
-                            <span
-                                key={filter.label}
-                                className={selectedFilter === filter.label ? "selected" : ""}
-                                onClick={() => {
-                                    setSelectedFilter(filter.label)
-                                    filterApplicationsByJobAdvertisement(filter.value)
-                                    setChangedApplications({});
-                                }}
-                            ><i className={`fa-solid ${filter.icon}`}></i> {filter.label}</span>
-                        ))
-                    }
-                </div>
-
-            </div>
-            <div className="col-md-6 d-inline-flex flex-row justify-content-end">
-                <button onClick={handleSaveChanges}
-                        className={`blue-submit-button ${Object.keys(changedApplications).length === 0 ? 'disabled' : ''}`}
-                        disabled={Object.keys(changedApplications).length === 0}
-                >Submit Changes</button>
-            </div>
-        </div>
-
-
-
-        {applicationsByJobAd && applicationsByJobAd.map((application, index) => (
-            <div
-                key={application.id}
-                className={`application-card-wrapper ${(application.status !== "PROPOSED" ) ? 'expanded' : ''}`}
-            >
-
-                <div className={`application-card ${changedApplications[application.id] ? 'changed' : ''}`}>
-                    <div className="app-job-seeker-pic">
-                        <img
-                            src={profilePicsState[application.jobSeekerId]}
-                            alt=""
-                            width={75} height={75}
-                        />
-                    </div>
-                    <div className="app-info">
-                <span>Submitted on <b>{new Date(application.submittedOn).toLocaleString('default', {
-                    day: 'numeric',
-                    month: 'long',
-                    year: 'numeric'
-                })}</b></span>
-                        <div className="contact-info">
-                            <div className="contact-item">
-                                <i className="fa-solid fa-user"></i> <span>{application.jobSeekerName}</span>
-                            </div>
-                            <div className="contact-item">
-                                <i className="fa-solid fa-envelope"></i> <span>{application.jobSeekerEmail}</span>
-                            </div>
-                            <div className="contact-item">
-                                <i className="fa-solid fa-phone"></i> <span>{application.jobSeekerPhoneNumber}</span>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div className="app-status">
-                        <ApplicationDetailsModal application={application} />
-                        <div className="select">
-                            <Select options={options} onChange={(selectedOption) => handleStatusChange(selectedOption, application.id)} defaultValue={handleDefaultStatus(application.status)} />
-                        </div>
-                    </div>
-                </div>
-
-                <div className="expand-section">
-                <textarea
-                    id={`response-${application.id}`}
-                    placeholder={application.status === "UNDER_REVIEW" ? "Request additional documents..." :"Write your response..."}
-                    defaultValue={application.response}
-                    onChange={(e) => handleResponseChange(e, application.id)}
-                />
-                </div>
-            </div>
-        ))}
-
-
-    </div>)
-}
Index: jobvista-frontend/src/views/applications/ApplicationsByJobSeeker.js
===================================================================
--- jobvista-frontend/src/views/applications/ApplicationsByJobSeeker.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,178 +1,0 @@
-import {useDispatch, useSelector} from "react-redux";
-import {useEffect, useState} from "react";
-import {ApplicationActions} from "../../redux/actions/applicationActions";
-import {ApplicationDetailsModal} from "./ApplicationDetailsModal";
-import Select from "react-select";
-
-import {RecruiterActions} from "../../redux/actions/recruiterActions";
-import {sortElementsBy} from "../../utils/utils";
-import {Link} from "react-router-dom";
-
-export const ApplicationsByJobSeeker = () => {
-    const dispatch = useDispatch();
-    const auth = useSelector(state => state.auth.currentUser);
-
-    const [applicationsByJobSeeker, setApplicationsByJobSeeker] = useState([]);
-    let applicationsByJobSeekerState = useSelector(state => state.appl.applicationsByJobSeeker);
-    const [dispatched, setDispatched] = useState(false);
-
-    const [logos, setLogos] = useState({});
-    let logosState = useSelector(state => state.images.logos)
-    const [logoDispatched, setLogoDispatched] = useState(false);
-
-
-    useEffect(() => {
-        if (!dispatched && (applicationsByJobSeekerState.length === 0 || applicationsByJobSeekerState.length === 1)) {
-            dispatch(ApplicationActions.fetchApplicationsByJobSeeker(auth.id, (success, response) => {
-                if (success && response.data.length > 0) {
-                    setApplicationsByJobSeeker(sortElementsBy(response.data, "submittedOn"));
-                }
-                setDispatched(true)
-                console.log("Fetch applications by job seeker GET")
-            }))
-
-        } else {
-            setApplicationsByJobSeeker(sortElementsBy(applicationsByJobSeekerState, "submittedOn"));
-            console.log("Fetch applications by job seeker STATE")
-        }
-    }, [applicationsByJobSeekerState])
-
-    useEffect(() => {
-
-        if (dispatched && !logoDispatched) {
-            applicationsByJobSeeker.forEach(jobAd => {
-                if (jobAd.recruiterId && !logos[jobAd.recruiterId]) {
-                    fetchLogo(jobAd.recruiterId);
-                }
-            })
-            setLogoDispatched(true)
-            console.log("Fetch all logos GET")
-        } else if (logoDispatched) {
-            setLogos(logosState)
-            console.log("Fetch all logos STATE")
-
-        }
-
-    }, [dispatched, logosState])
-
-
-    const fetchLogo = (recruiterId) => {
-        dispatch(RecruiterActions.downloadLogo(recruiterId, (success, response) => {
-            if (success) {
-                setLogos(prevLogos => ({...prevLogos, [recruiterId]: response}))
-            }
-        }));
-    };
-
-    const options = [{
-        value: 'PROPOSED', label: <span className="status" style={{backgroundColor: '#4A90E2'}}><i
-            className="fa-solid fa-paper-plane"></i> Proposed</span>
-    }, {
-        value: 'UNDER_REVIEW', label: <span className="status" style={{backgroundColor: '#F5A623'}}><i
-            className="fa-solid fa-file-pen"></i> Under Review</span>
-    }, {
-        value: 'ACCEPTED', label: <span className="status" style={{backgroundColor: '#7ED321'}}><i
-            className="fa-solid fa-user-check"></i> Accepted</span>
-    }, {
-        value: 'DENIED', label: <span className="status" style={{backgroundColor: '#D0021B'}}><i
-            className="fa-solid fa-user-slash"></i> Denied</span>
-    }];
-
-    const [selectedFilter, setSelectedFilter] = useState('All');
-
-    const filters = [
-        { value: 'ALL', label: 'All', icon: 'fa-folder-open' },
-        { value: 'PROPOSED', label: 'Proposed', icon: 'fa-paper-plane' },
-        { value: 'UNDER_REVIEW', label: 'Under Review', icon: 'fa-file-pen' },
-        { value: 'ACCEPTED', label: 'Accepted', icon: 'fa-user-check' },
-        { value: 'DENIED', label: 'Denied', icon: 'fa-user-slash' },
-    ];
-
-    const filterApplicationsByJobSeeker= (filter) => {
-        dispatch(ApplicationActions.filterApplicationsByJobSeeker(auth.id, filter, (success, response) => {
-            if(success) {
-                //notify
-            }
-        }))
-    }
-
-    let handleDefaultValue = (status) => {
-        return options.find(option => option.value === status);
-    }
-
-
-    return (<div className="custom-container">
-
-            <div className="application-title">
-                <h3>Application history</h3>
-            </div>
-
-        <div className="application-filters d-inline-flex flex-row justify-content-start">
-            {
-                filters.map(filter => (
-                    <span
-                        key={filter.label}
-                        className={selectedFilter === filter.label ? "selected" : ""}
-                        onClick={() => {
-                            setSelectedFilter(filter.label)
-                            filterApplicationsByJobSeeker(filter.value)
-                        }}
-                    ><i className={`fa-solid ${filter.icon}`}></i> {filter.label}</span>
-                ))
-            }
-        </div>
-
-            {applicationsByJobSeeker && applicationsByJobSeeker.map((application, index) => (
-                <div className="application-card-wrapper">
-                    <div key={index} className="application-card">
-                        <div className="app-company-logo">
-                            <img
-                                // loading gif
-                                src={logosState[application.recruiterId]}
-                                alt=""
-                                width={75} height={75}
-                            />
-                        </div>
-
-                        <div className="app-info">
-                            <Link to={`/job-advertisements/${application.jobAdId}`}
-                                  className="jobAd-title">{application.jobAdTitle}</Link>
-                            {/*<h5 className="jobAd-title"></h5>*/}
-                            <div className="contact-info">
-                                <div className="contact-item">
-                                    <i className="fa-solid fa-building"></i> <span>{application.recruiterName}</span>
-                                </div>
-                                <div className="contact-item">
-                                    <i className="fa-solid fa-envelope"></i> <span>{application.recruiterEmail}</span>
-                                </div>
-                                <div className="contact-item">
-                                    <i className="fa-solid fa-phone"></i>
-                                    <span>{application.recruiterPhoneNumber}</span>
-                                </div>
-                                <span> • Submitted on <b>{new Date(application.submittedOn).toLocaleString('default', {
-                                    day: 'numeric', month: 'long', year: 'numeric'
-                                })}</b></span>
-                            </div>
-                        </div>
-
-                        <div className="app-status">
-                            <ApplicationDetailsModal application={application}/>
-                            <> {handleDefaultValue(application.status).label}</>
-                            {/*<div className="select">*/}
-                            {/*    <Select isDisabled={true} options={options} />*/}
-                            {/*</div>*/}
-
-                        </div>
-                    </div>
-                    {application.response &&
-                        <div className="response-message">
-                            {application.response}
-                        </div>
-                    }
-
-                </div>
-
-            ))}
-
-        </div>)
-}
Index: jobvista-frontend/src/views/applications/ApplyToJobAdModal.js
===================================================================
--- jobvista-frontend/src/views/applications/ApplyToJobAdModal.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,127 +1,0 @@
-import React, {useState} from "react";
-import "../shared_css/Modal.css";
-
-import 'react-responsive-modal/styles.css';
-import {Modal} from 'react-responsive-modal';
-
-//Validation
-import * as yup from "yup";
-import {yupResolver} from "@hookform/resolvers/yup";
-import {Controller, useForm} from "react-hook-form";
-
-
-import {useDispatch, useSelector} from "react-redux";
-import Roles from "../../enumerations/Roles";
-import {ApplicationActions} from "../../redux/actions/applicationActions";
-import {notifyJobAdApply} from "../../utils/toastUtils";
-
-
-export const ApplyToJobAdModal = (props) => {
-    const {jobAd, role} = props
-    const [modal, setModal] = useState(false);
-    const dispatch = useDispatch();
-    const auth = useSelector(state => state.auth.currentUser)
-
-    const [resumeFile, setResumeFile] = useState(null);
-    const toggleModal = () => {
-        setModal(!modal);
-    };
-
-    const schema = yup.object().shape({
-        answerOne: yup.string().required("Please answer the question"),
-        answerTwo: yup.string().required("Please answer the question"),
-        answerThree: yup.string().required("Please answer the question"),
-        messageToRecruiter: yup.string(),
-    })
-
-    const {register, handleSubmit, control, formState: {errors}} = useForm({
-        resolver: yupResolver(schema),
-    });
-
-    const submitApplication = async (values) => {
-        try {
-            const formData = new FormData();
-            formData.append('jobSeekerId', auth.id);
-            formData.append('jobAdId', jobAd.id);
-            formData.append('resumeFile', resumeFile);
-            formData.append('answerOne', values.answerOne);
-            formData.append('answerTwo', values.answerTwo);
-            formData.append('answerThree', values.answerThree);
-            formData.append('messageToRecruiter', values.messageToRecruiter);
-
-            dispatch(ApplicationActions.submitApplication(
-                formData, (success) => {
-                    if (success) {
-                        toggleModal()
-                        notifyJobAdApply()
-                    }
-                }
-            ))
-        } catch (err) {
-            console.error(err)
-        }
-    }
-    let minimumDate = new Date();
-    minimumDate.setDate(minimumDate.getDate() + 1);
-
-    return (<div className="modal-wrap">
-        {role === Roles.JOBSEEKER &&
-            <>
-                {jobAd.active && <button onClick={toggleModal} className="apply-button apply">Apply now</button>}
-                {!jobAd.active && <button className="card-button apply disabled">Apply now</button>}
-            </>
-        }
-        <Modal open={modal} onClose={toggleModal} center>
-            <div className="head-modal">
-                <h3>Applying to {jobAd.title} at {jobAd.recruiterName}</h3>
-                <i className="fa-solid fa-x btn-close-modal" onClick={toggleModal}></i>
-            </div>
-
-            <div className="modal-content">
-                <form onSubmit={handleSubmit(submitApplication)}>
-                    <div className="row">
-                        <div className="col-md-6">
-                            <label className="label">Why are you interested in joining our company?</label>
-                            <textarea type="text" placeholder="Write your answer here..."
-                                      {...register("answerOne")} className="application-textarea"/>
-                            <p style={{color: "red"}}>{errors.answerOne?.message}</p>
-
-                            <label className="label">What makes you a good fit for this position?</label>
-                            <textarea type="text" placeholder="Write your answer here..."
-                                      {...register("answerTwo")} className="application-textarea"/>
-                            <p style={{color: "red"}}>{errors.answerTwo?.message}</p>
-
-                            <label className="label">What do you hope to achieve in your first 6 months in this
-                                role?</label>
-                            <textarea type="text" placeholder="Write your answer here..."
-                                      {...register("answerThree")} className="application-textarea"/>
-                            <p style={{color: "red"}}>{errors.answerThree?.message}</p>
-
-                        </div>
-                        <div className="col-md-6">
-                            <label htmlFor="start">Curriculum vitae (CV)</label>
-                            <br/>
-                            <input {...register("file")} className="resume-link"
-                                   onChange={(e) => setResumeFile(e.target.files[0])} required type="file"
-                                   id="fileUpload" accept=".pdf"/>
-                            <br/>
-                            <label className="label">Message to the recruiter</label>
-                            <textarea type="text" placeholder="Optional..."
-                                      {...register("messageToRecruiter")} className="application-textarea"/>
-
-                            <br/><br/>
-                            <p style={{color: "red"}}>Please note that your personal data from your account will be used
-                                to identify and process your application.</p>
-                        </div>
-                    </div>
-
-                    <div className="modal-buttons">
-                        <div className="cancel-btn" onClick={toggleModal}> Cancel</div>
-                        <button className="submit-btn"> Submit</button>
-                    </div>
-
-                </form>
-            </div>
-        </Modal>
-    </div>)
-}
Index: jobvista-frontend/src/views/auth/SignInForm.js
===================================================================
--- jobvista-frontend/src/views/auth/SignInForm.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/views/auth/SignInForm.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,2 +1,3 @@
+import {Button, TextField} from "@mui/material";
 import {Link} from "react-router-dom";
 import "./auth.css"
@@ -7,7 +8,4 @@
 import {yupResolver} from "@hookform/resolvers/yup";
 import {AuthActions} from "../../redux/actions/authActions";
-import {notifyIncorrectEmailOrPassword} from "../../utils/toastUtils";
-
-import {GoogleOAuthProvider, GoogleLogin} from "@react-oauth/google";
 
 export const SignInForm = () => {
@@ -29,41 +27,24 @@
     const signIn = async (values) => {
         try {
-            dispatch(AuthActions.signIn(values.emailLog, values.passwordLog, success => {
-                    if(success) {
-                        navigate("/")
-                    } else {
-                        notifyIncorrectEmailOrPassword()
-                    }
+            dispatch(AuthActions.signIn(values.emailLog, values.passwordLog,
+                    success => {
+                    // createSnackbar({
+                    //     message: success ? 'Successfully signed up.' : 'Error while signing up. Try again!',
+                    //     timeout: 2500,
+                    //     theme: success ? 'success' : 'error'
+                    // });
+                    success && navigate("/");
                 }));
         } catch (err) {
-            // console.error(err);
+            console.error(err);
         }
     }
 
-    const handleGoogleSuccess = (response) => {
-        const tokenId = response.credential;
-
-        dispatch(AuthActions.signInGoogle(tokenId, (success, error) => {
-            if (success) {
-                console.log("User signed in successfully");
-                if(success) {
-                    navigate("/")
-                }
-            } else {
-                console.error("Google sign-in failed", error);
-            }
-        }));
-    };
-
-    const handleGoogleFailure = (error) => {
-        console.error(error);
-    };
-
     return (
 
-        <div className="">
+        <div className="d-flex align-items-center">
             <div className="container">
-                <div className="row d-flex flex-column justify-content-center align-items-center">
-                    <div className="col-md-8 form-container">
+                <div className="row">
+                    <div className="col-md-8 mx-auto form-container">
                         <h3 className="login-heading mb-4">Sign in</h3>
                         <form onSubmit={handleSubmit(signIn)}>
@@ -89,5 +70,5 @@
                             <div className="d-grid mb-3">
                                 <button
-                                    className="btn btn-lg auth-primary-btn text-uppercase fw-bold mb-2"
+                                    className="btn btn-lg btn-primary text-uppercase fw-bold mb-2"
                                     type="submit">Sign in
                                 </button>
@@ -103,33 +84,12 @@
 
                         <div className="row">
-                            <GoogleOAuthProvider clientId={process.env.REACT_APP_GOOGLE_CLIENT_ID}>
-                                <GoogleLogin
-                                    onSuccess={handleGoogleSuccess}
-                                    onError={handleGoogleFailure}
-                                    type={"standard"}
-                                    text={"signin_with"}
-                                    locale={"en"}
-                                    redirectUri="http://localhost:3000/login/oauth2/code/google"
-                                />
-                            </GoogleOAuthProvider>
-                        </div>
-                        <br/>
-                    </div>
-
-                    <div className="col-md-8 mt-5 form-container">
-                        <div>
-                            <h5 className="mb-3">Don't have an account?</h5>
-                        </div>
-
-                        <div className="row">
                             <div className="col-md-6">
-                                <Link to="/signup/recruiter" className="btn auth-secondary-btn text-uppercase fw-bold mb-2 w-100">SIGN UP AS RECRUITER</Link>
+                                <Link to="/signup/recruiter" className="btn btn-outline-primary text-uppercase fw-bold mb-2 w-100">SIGN UP AS RECRUITER</Link>
                             </div>
                             <div className="col-md-6">
-                                <Link to="/signup/job-seeker" className="btn auth-secondary-btn text-uppercase fw-bold mb-2 w-100">SIGN UP AS JOB SEEKER</Link>
+                                <Link to="/signup/job-seeker" className="btn btn-outline-primary text-uppercase fw-bold mb-2 w-100">SIGN UP AS JOB SEEKER</Link>
                             </div>
                         </div>
                     </div>
-
                 </div>
             </div>
Index: jobvista-frontend/src/views/auth/SignUpJobSeekerForm.js
===================================================================
--- jobvista-frontend/src/views/auth/SignUpJobSeekerForm.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/views/auth/SignUpJobSeekerForm.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -83,5 +83,5 @@
                             <div className="d-grid mb-3">
                                 <button
-                                    className="btn btn-lg auth-primary-btn text-uppercase fw-bold mb-2"
+                                    className="btn btn-lg btn-primary text-uppercase fw-bold mb-2"
                                     type="submit">Submit
                                 </button>
Index: jobvista-frontend/src/views/auth/SignUpRecruiterForm.js
===================================================================
--- jobvista-frontend/src/views/auth/SignUpRecruiterForm.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/views/auth/SignUpRecruiterForm.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -13,5 +13,5 @@
     const schema = yup.object().shape({
         companyNameReg: yup.string().required("Company name is required."),
-        phoneNumberReg: yup.string().required("Phone number is required"),
+        phoneNumberReg: yup.number().required("Phone number is required"),
         companyEmailReg: yup.string().required("Email is required.").email("Email is not valid."),
         passwordReg: yup.string().min(6, "Password must be at least 6 characters.").required("Password is required."),
@@ -32,5 +32,5 @@
                     //     theme: success ? 'success' : 'error'
                     // });
-                    success && navigate("/no-access");
+                    success && navigate("/");
                 }));
         } catch (err) {
@@ -80,5 +80,5 @@
                             <div className="d-grid mb-3">
                                 <button
-                                    className="btn btn-lg auth-primary-btn text-uppercase fw-bold mb-2"
+                                    className="btn btn-lg btn-primary text-uppercase fw-bold mb-2"
                                     type="submit">Submit
                                 </button>
Index: jobvista-frontend/src/views/auth/auth.css
===================================================================
--- jobvista-frontend/src/views/auth/auth.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/views/auth/auth.css	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -3,27 +3,2 @@
     padding: 5px 5px;
 }
-
-
-.auth-primary-btn{
-    background-color: rgba(1,38,90,0.80);
-    //background-color: #a1c4fd ;
-    color: white;
-}
-.auth-primary-btn:hover {
-    background-color: rgba(1,38,90,1);
-    color: white;
-}
-
-.auth-secondary-btn {
-    border: 2px solid rgba(1,38,90,0.7);
-    color: midnightblue;
-}
-
-.auth-secondary-btn:hover {
-    background-color: rgba(1,38,90,0.8);
-    color: white;
-}
-
-iframe{
-    margin: auto !important;
-}
Index: jobvista-frontend/src/views/dashboard/Dashboard.js
===================================================================
--- jobvista-frontend/src/views/dashboard/Dashboard.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/views/dashboard/Dashboard.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,173 +1,28 @@
-import "../shared_css/Random.css"
-
-import {useDispatch, useSelector} from "react-redux";
-import {useEffect, useState} from "react";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import {formatRelativeTime, sortElementsBy} from "../../utils/utils";
-import {dataRangeOptions, industryOptions, industryOptionsFilter, sortOptions} from "../selectOptions";
-import Select from "react-select";
-import Roles from "../../enumerations/Roles";
-import {Link} from "react-router-dom";
-import JobType from "../../enumerations/JobType";
-import {AUTH_TOKEN} from "../../axios/axiosInstance";
-import {jwtDecode} from "jwt-decode";
-import {RecruiterActions} from "../../redux/actions/recruiterActions";
-
 export const Dashboard = () => {
 
-    const dispatch = useDispatch();
-
-    const [jobAdvertisements, setJobAdvertisements] = useState([]);
-    let jobAdvertisementsState = useSelector(state => state.jobAd.jobAdvertisements)
-    const [jobDispatched, setJobDispatched] = useState(false);
-
-    const [logos, setLogos] = useState({});
-    let logosState = useSelector(state => state.images.logos)
-    const [logoDispatched, setLogoDispatched] = useState(false);
-
-    const auth = useSelector(state => state.auth);
-
-    // const [role, setRole] = useState("");
-    const [selectedSortOrder, setSelectedSortOrder] = useState("date_newest");
-    const [selectedIndustry, setSelectedIndustry] = useState("all");
-    const [searchTerm, setSearchTerm] = useState("");
-
-
-    useEffect(() => {
-        if (!jobDispatched && jobAdvertisementsState.length == 0) {
-            dispatch(JobAdvertisementActions.fetchJobAdvertisements((success, response) => {
-                if (success && response.data.length > 0) {
-                    setJobAdvertisements(sortElementsBy(response.data, "postedOn"))
-                }
-                setJobDispatched(true)
-                console.log("Fetch all job advertisements GET")
-            }))
-
-        } else {
-            setJobAdvertisements(sortElementsBy(jobAdvertisementsState, "postedOn"))
-            console.log("Fetch all job advertisements STATE")
-
-
-        }
-    }, [jobAdvertisementsState])
-
-    useEffect(() => {
-
-        if(jobDispatched && !logoDispatched) {
-            jobAdvertisements.forEach(jobAd => {
-                if(jobAd.recruiterId && !logos[jobAd.recruiterId]) {
-                    fetchLogo(jobAd.recruiterId);
-                }
-            })
-            setLogoDispatched(true)
-            console.log("Fetch all logos GET")
-        } else {
-            setLogos(logosState)
-            console.log("Fetch all logos STATE")
-        }
-
-        }, [jobDispatched, logosState])
-
-    const fetchLogo = (recruiterId) => {
-        dispatch(RecruiterActions.downloadLogo(recruiterId, (success, response) => {
-            if(success) {
-                setLogos(prevLogos => ({...prevLogos, [recruiterId]: response}))
-            }
-        }));
-    };
-
-    let filterJobAdvertisements = () => {
-        JobAdvertisementActions.filterJobAdvertisements(
-            {
-                searchTerm: searchTerm,
-                industry: selectedIndustry,
-                sortOrder: selectedSortOrder
-            }, (success, response) => {
-                if (success) {
-                    setJobAdvertisements(response.data);
-                }
-            }
-        )
-    }
 
     return (
-
         <div className="container">
-            <div className="filter-container">
-                <div className="row">
-                    <div className="col-md-12 filter-box">
-                        <div className="search-container">
-                            <i className="fa-solid fa-magnifying-glass search-icon"></i>
-                            <input
-                                className="search-input"
-                                type="text"
-                                placeholder="Search job advertisement by title..."
-                                value={searchTerm}
-                                onChange={event => setSearchTerm(event.target.value)}
-                            />
-                        </div>
-                        <div className="sort-section item">
-                            <Select
-                                defaultValue={{value: "all", label: "All industries"}}
-                                value={selectedIndustry.value}
-                                onChange={option => setSelectedIndustry(option.value)}
-                                options={industryOptionsFilter}
-                                className="sort-range sort"
-                            />
-                        </div>
-                        <div className="sort-section item">
-                            <Select
-                                defaultValue={{value: "newest", label: "Date (Newest First)"}}
-                                value={selectedSortOrder.value}
-                                onChange={option => setSelectedSortOrder(option.value)}
-                                options={sortOptions}
-                                className="sort-range sort"
-                            />
-                        </div>
-                        <button onClick={filterJobAdvertisements} className="blue-submit-button">Find jobs</button>
+            <div className="row justify-content">
+                <div className="col-md-4">
+                    <div className="card">
+                        <h5 className="card-title">Job Listing Name</h5>
+                        <p>Job Listing Data</p>
+                    </div>
+                </div>
+                <div className="col-md-4">
+                    <div className="card">
+                        <h5 className="card-title">Job Listing Name</h5>
+                        <p>Job Listing Data</p>
+                    </div>
+                </div>
+                <div className="col-md-4">
+                    <div className="card">
+                        <h5 className="card-title">Job Listing Name</h5>
+                        <p>Job Listing Data</p>
                     </div>
                 </div>
             </div>
-            <div className="row row-cols-2 row-cols-md-4 g-4">
-                {jobAdvertisements &&
-                    jobAdvertisements.map((jobAd, index) => (
-                        <div key={index} className="col">
-                            <div className="custom-card dashboard-card">
-                                <div className="card-head">
-                                    <span className="hourly-salary"><b>${jobAd.startingSalary}/hr</b></span>
-                                    <span
-                                        className="job-type"> {jobAd.jobType === JobType.JOB ? "Job" : "Internship"}</span>
-                                    {!jobAd.active && <span className="expired">Expired</span>}
-                                </div>
-                                <div className="card-body">
-                                    <img className="card-company-logo"
-                                        // loading gif
-                                        src={logos[jobAd.recruiterId]}
-                                        alt=""
-                                        width={100} height={100}
-                                    />
-                                    <h5 className="card-title">{jobAd.title}</h5>
-                                    <span>{jobAd.industry} • <span style={{
-                                        color: "black",
-                                        fontWeight: "bold"
-                                    }}>{formatRelativeTime(jobAd.postedOn)}</span></span>
-                                    <div className="card-info">
-                                        <span><i className="fa-solid fa-building"
-                                                 style={{color: "#000000"}}></i> Company: <span style={{
-                                            color: "black",
-                                            fontWeight: "bold"
-                                        }}>{jobAd.recruiterName}</span></span> <br/>
-                                    </div>
 
-                                </div>
-                                <div className="card-foot">
-                                    <Link to={`/job-advertisements/${jobAd.id}`} className="card-button">Read
-                                        more</Link>
-                                </div>
-                            </div>
-                        </div>
-                    ))}
-
-            </div>
         </div>
     )
Index: jobvista-frontend/src/views/job_advertisements/AddJobAdModal.js
===================================================================
--- jobvista-frontend/src/views/job_advertisements/AddJobAdModal.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,167 +1,0 @@
-import React, {useState} from "react";
-import "../shared_css/Modal.css";
-
-import { Editor } from 'primereact/editor';
-
-import 'react-responsive-modal/styles.css';
-import {Modal} from 'react-responsive-modal';
-import Select from "react-select";
-
-//Validation
-import * as yup from "yup";
-import {yupResolver} from "@hookform/resolvers/yup";
-import {Controller, useForm} from "react-hook-form";
-
-
-import {employmentStatusOptions, industryOptions, jobTypeOptions} from "../selectOptions";
-import {useDispatch, useSelector} from "react-redux";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import {notifyJobAdPost} from "../../utils/toastUtils";
-
-
-export const AddJobAdModal = () => {
-    const [modal, setModal] = useState(false);
-    const dispatch = useDispatch();
-    const auth = useSelector(state => state.auth.currentUser)
-    const toggleModal = () => {
-        setModal(!modal);
-    };
-
-    const schema = yup.object().shape({
-        title: yup.string().required("Please enter a title"),
-        description: yup.string().required("Please enter a description"),
-        industry: yup.mixed().required("Select industry"),
-        startingSalary: yup.string().required("Please enter the starting salary"),
-        jobType: yup.mixed().required("Select job type"),
-        employmentStatus: yup.mixed().required("Select employment status"),
-    })
-
-    const {register, handleSubmit, control, formState: {errors}} = useForm({
-        resolver: yupResolver(schema),
-    });
-
-    const addJobAdvertisement = async (values) => {
-        try {
-            dispatch(JobAdvertisementActions.addJobAdvertisement(
-                {
-                    id: auth.id,
-                    title: values.title,
-                    description: values.description,
-                    industry: values.industry.value,
-                    startingSalary: values.startingSalary,
-                    activeUntil: values.date,
-                    jobType: values.jobType.value,
-                    employmentStatus: values.employmentStatus.value,
-                }, (success) => {
-                    if (success) {
-                        toggleModal()
-                        notifyJobAdPost()
-                    }
-                }
-            ))
-        } catch (err) {
-            console.error(err)
-        }
-    }
-    let minimumDate = new Date();
-    minimumDate.setDate(minimumDate.getDate() + 1);
-
-    return (<div className="modal-wrap">
-        <div className="col">
-            <button onClick={toggleModal} className="add-new-card">
-                <h3>+ Post Advertisement</h3>
-            </button>
-        </div>
-        {/*<button onClick={toggleModal} className="btn-open-modal">POST ADVERTISEMENT</button>*/}
-        <Modal open={modal} onClose={toggleModal} center>
-            <div className="head-modal">
-                <h3>Post Job Advertisement</h3>
-                <i className="fa-solid fa-x btn-close-modal" onClick={toggleModal}></i>
-            </div>
-
-            <div className="modal-content">
-                <form>
-                    <div className="row">
-                        <div className="col-md-7">
-
-                            <label className="label">Job title:</label>
-                            <input type="text" {...register("title")}/>
-                            <p style={{color: "red"}}>{errors.title?.message}</p>
-
-                            <label className="label">Job description:</label>
-                            {/*<textarea type="text" placeholder="Describe the job position and all the requirements"*/}
-                            {/*          className="description-textarea" {...register("description")}/>*/}
-
-
-                            <Controller
-                                name="description"
-                                control={control}
-                                render={({ field }) => (
-                                    <Editor
-                                        value={field.value}
-                                        onTextChange={(e) => field.onChange(e.htmlValue)}
-                                        style={{ height: '300px', fontSize: "16px", fontFamily: "Segoe UI" }}
-                                    />
-                                )}
-                            />
-                            <p style={{color: "red"}}>{errors.description?.message}</p>
-                        </div>
-
-                        <div className="col-md-5">
-                            <label className="label">Hourly rate:</label>
-                            <input type="number" {...register("startingSalary")}/>
-                            <p style={{color: "red"}}>{errors.startingSalary?.message}</p>
-
-                            <label className="label">Industry:</label>
-                            <Controller
-                                name="industry"
-                                control={control}
-                                render={({field}) => (<Select
-                                    {...field}
-                                    options={industryOptions}
-                                />)}
-                            />
-                            <p style={{color: "red"}}>{errors.industry?.message}</p>
-
-                            <label className="label">Job type:</label>
-                            <Controller
-                                name="jobType"
-                                control={control}
-                                render={({field}) => (<Select
-                                    {...field}
-                                    options={jobTypeOptions}
-                                />)}
-                            />
-                            <p style={{color: "red"}}>{errors.jobType?.message}</p>
-
-                            <label className="label">Employment status</label>
-                            <Controller
-                                name="employmentStatus"
-                                control={control}
-                                render={({field}) => (<Select
-                                    {...field}
-                                    options={employmentStatusOptions}
-                                />)}
-                            />
-                            <p style={{color: "red"}}>{errors.employmentStatus?.message}</p>
-
-                            <label htmlFor="start">Active until:</label>
-                            <input type="date" defaultValue={minimumDate.toLocaleDateString('en-CA')}
-                                   min={minimumDate.toLocaleDateString('en-CA')}
-                                   onChange={(event) => console.log(event.target.value)}
-                                   {...register("date")}/>
-
-
-                        </div>
-                    </div>
-
-                    <div className="modal-buttons">
-                        <div className="cancel-btn" onClick={toggleModal}> Cancel</div>
-                        <button className="submit-btn" onClick={handleSubmit(addJobAdvertisement)}>Submit</button>
-                    </div>
-
-                </form>
-            </div>
-        </Modal>
-    </div>)
-}
Index: jobvista-frontend/src/views/job_advertisements/DeleteJobAdModal.js
===================================================================
--- jobvista-frontend/src/views/job_advertisements/DeleteJobAdModal.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,60 +1,0 @@
-import React, {useState} from "react";
-import "../shared_css/Modal.css";
-
-import 'react-responsive-modal/styles.css';
-import {Modal} from 'react-responsive-modal';
-import Select from "react-select";
-
-//Validation
-import * as yup from "yup";
-import {yupResolver} from "@hookform/resolvers/yup";
-import {Controller, useForm} from "react-hook-form";
-
-
-import {employmentStatusOptions, industryOptions, jobTypeOptions} from "../selectOptions";
-import {useDispatch, useSelector} from "react-redux";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import {notifyJobAdDelete} from "../../utils/toastUtils";
-
-
-export const DeleteJobAdModal = (jobAd) => {
-    const [modal, setModal] = useState(false);
-    const dispatch = useDispatch();
-    const auth = useSelector(state => state.auth.currentUser)
-    const toggleModal = () => {
-        setModal(!modal);
-    };
-
-    const deleteJobAdvertisement = async () => {
-        try {
-            dispatch(JobAdvertisementActions.deleteJobAdvertisement(jobAd.props.id, (success) => {
-                if (success) {
-                    toggleModal()
-                    notifyJobAdDelete()
-                }
-            }))
-        } catch (err) {
-            console.error(err)
-        }
-    }
-
-    return (<div className="modal-wrap">
-        <i className="fa-solid fa-trash trash-delete-btn" onClick={toggleModal}></i>
-        <Modal open={modal} onClose={toggleModal} center classNames="job-advertisement-modal">
-            <i className="fa-solid fa-x btn-close-modal" style={{color: "black"}} onClick={toggleModal}></i>
-            <div className="modal-delete-content">
-                <div className="row modal-delete-content-inside">
-                    <div className="col-md-1"><i className="fa-regular fa-circle-xmark x-icon"></i></div>
-                    <div className="col-md-11 modal-delete-text">
-                        <h4>Are you sure?</h4>
-                        <p>Do you really want to delete this advertisement? This process cannot be undone.</p>
-                    </div>
-                </div>
-                <div className="modal-delete-buttons">
-                    <button className="cancel-btn" onClick={toggleModal}>Cancel</button>
-                    <button className="delete-btn" onClick={deleteJobAdvertisement}> Delete</button>
-                </div>
-            </div>
-        </Modal>
-    </div>)
-}
Index: jobvista-frontend/src/views/job_advertisements/EditJobAdModal.js
===================================================================
--- jobvista-frontend/src/views/job_advertisements/EditJobAdModal.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,181 +1,0 @@
-import React, {useEffect, useState} from "react";
-import "../shared_css/Modal.css";
-
-import 'react-responsive-modal/styles.css';
-import {Modal} from 'react-responsive-modal';
-import Select from "react-select";
-
-//Validation
-import * as yup from "yup";
-import {yupResolver} from "@hookform/resolvers/yup";
-import {Controller, useForm} from "react-hook-form";
-
-
-import {employmentStatusOptions, industryOptions, jobTypeOptions} from "../selectOptions";
-import {useDispatch, useSelector} from "react-redux";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import {Editor} from "primereact/editor";
-import {notifyJobAdDelete, notifyJobAdEdit} from "../../utils/toastUtils";
-
-
-export const EditJobAdModal = (jobAd) => {
-    const [modal, setModal] = useState(false);
-    const dispatch = useDispatch();
-    const auth = useSelector(state => state.auth.currentUser)
-    const toggleModal = () => {
-        console.log("NAD SET")
-        setModal(!modal);
-        console.log("POD SET")
-
-    };
-
-    const schema = yup.object().shape({
-        title: yup.string().required("Please enter a title"),
-        description: yup.string().required("Please enter a description"),
-        industry: yup.mixed().required("Select industry"),
-        startingSalary: yup.number().required("Please enter the starting salary"),
-        jobType: yup.mixed().required("Select job type"),
-        employmentStatus: yup.mixed().required("Select employment status"),
-    })
-
-    const {register, handleSubmit, control, formState: {errors}} = useForm({
-        resolver: yupResolver(schema),
-    });
-    const editJobAdvertisement = async (values) => {
-        try {
-            dispatch(JobAdvertisementActions.editJobAdvertisement(
-                {
-                    email: auth.email,
-                    title: values.title,
-                    description: values.description,
-                    industry: values.industry.value,
-                    startingSalary: values.startingSalary,
-                    activeUntil: values.date,
-                    jobType: values.jobType.value,
-                    employmentStatus: values.employmentStatus.value,
-                }, jobAd.props.id, (success) => {
-                    if(success) {
-                        toggleModal()
-                        notifyJobAdEdit()
-                    }
-                }
-            ))
-        } catch (err) {
-            console.error(err)
-        }
-    }
-
-    let minimumDate = new Date();
-    minimumDate.setDate(minimumDate.getDate() + 1);
-
-    return (<div className="modal-wrap">
-
-        <i className="fa-solid fa-pen-to-square pen-edit-btn" onClick={() => {
-            // setSelectedRecord(record);
-                toggleModal()
-        }}></i>
-        <Modal open={modal} onClose={toggleModal} center classNames="job-advertisement-modal">
-            <div className="head-modal">
-                <h3>Edit Job Advertisement</h3>
-                <i className="fa-solid fa-x btn-close-modal" onClick={toggleModal}></i>
-            </div>
-
-            <div className="modal-content">
-                <form>
-                    <div className="row">
-                        <div className="col-md-7">
-                            <label className="label">Job title:</label>
-                            <input type="text" defaultValue={jobAd.props.title} {...register("title")}/>
-                            <p style={{color: "red"}}>{errors.title?.message}</p>
-
-                            <label className="label">Job description:</label>
-                            {/*<textarea type="text" defaultValue={jobAd.props.description} placeholder="Describe the job position and all the requirements"*/}
-                            {/*          className="description-textarea" {...register("description")}/>*/}
-
-                            <Controller
-                                name="description"
-                                control={control}
-                                defaultValue={jobAd.props.description}
-                                render={({ field }) => (
-                                    <Editor
-                                        // defaultValue={jobAd.props.description}
-                                        value={jobAd.props.description}
-                                        onTextChange={(e) => field.onChange(e.htmlValue)}
-                                        style={{ height: '300px', fontSize: "16px", fontFamily: "Segoe UI" }}
-                                    />
-                                )}
-                            />
-
-                            <p style={{color: "red"}}>{errors.description?.message}</p>
-                        </div>
-
-                        <div className="col-md-5">
-                            <label className="label">Hourly rate:</label>
-                            <input type="number" defaultValue={jobAd.props.startingSalary} {...register("startingSalary")}/>
-                            <p style={{color: "red"}}>{errors.startingSalary?.message}</p>
-
-                            <label className="label">Industry:</label>
-                            <Controller
-                                name="industry"
-                                control={control}
-                                defaultValue={{
-                                    label: jobAd.props.industry,
-                                    value: jobAd.props.industry
-                                }}
-                                render={({ field })  => (<Select
-                                    {...field}
-                                    options={industryOptions}
-                                />)}
-                            />
-                            <p style={{color: "red"}}>{errors.industry?.message}</p>
-
-                            <label className="label">Job type:</label>
-                            <Controller
-                                name="jobType"
-                                control={control}
-                                defaultValue={{
-                                    value: jobAd.props.jobType,
-                                    label: jobAd.props.jobType==="JOB" ? "Job" : "Internship"
-                                }}
-                                render={({ field }) => (
-                                    <Select
-                                    {...field}
-                                    options={jobTypeOptions}
-                                />)}
-                            />
-                            <p style={{color: "red"}}>{errors.jobType?.message}</p>
-
-                            <label className="label">Employment status</label>
-                            <Controller
-                                name="employmentStatus"
-                                control={control}
-                                defaultValue={{
-                                    value: jobAd.props.employmentStatus,
-                                    label: jobAd.props.employmentStatus==="FULL_TIME" ? "Full time" : "Part time"
-                                }}
-                                render={({ field }) => (
-                                    <Select
-                                    {...field}
-                                    options={employmentStatusOptions}
-                                />)}
-                            />
-                            <p style={{color: "red"}}>{errors.employmentStatus?.message}</p>
-
-                            <label htmlFor="start">Active until:</label>
-                            <input type="date" defaultValue={new Date(jobAd.props.activeUntil).toLocaleDateString('en-CA')}
-                                   min={minimumDate.toLocaleDateString('en-CA')} onChange={(event) => console.log(event.target.value)}
-                                   {...register("date")}/>
-
-
-                        </div>
-                    </div>
-
-                    <div className="modal-buttons">
-                        <div className="cancel-btn" onClick={toggleModal}> Cancel</div>
-                        <button className="submit-btn" onClick={handleSubmit(editJobAdvertisement)}> Save changes</button>
-                    </div>
-                </form>
-            </div>
-        </Modal>
-    </div>)
-}
Index: jobvista-frontend/src/views/job_advertisements/JobAdDetails.css
===================================================================
--- jobvista-frontend/src/views/job_advertisements/JobAdDetails.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,116 +1,0 @@
-
-/*font-family: 'Ubuntu', sans-serif;*/
-/*font-family: 'Cairo', sans-serif;*/
-/*font-family: 'Poppins', sans-serif;*/
-
-* {
-    //font-family: Poppins, sans-serif;
-}
-
-.details-wrap {
-    width: 100%;
-    height: auto;
-    max-height: 80vh;
-    overflow-y: auto;
-    background-color: #fff;
-    border-radius: 12px;
-    padding: 15px 20px;
-    margin-bottom: 20px;
-
-    /*scrollbar-width: thin; !* "auto" hides scrollbar on some browsers, "thin" shows a thin scrollbar *!*/
-    /*scrollbar-color: #999999 #fff;*/
-}
-
-.min-wrap {
-    min-height: 80vh;
-}
-
-.details-wrap .span-about {
-    color: darkgray;
-}
-
-
-
-.details-wrap-profile {
-    width: 100%;
-    height: auto;
-
-    background-color: #fff;
-    border-radius: 12px;
-    padding: 15px 20px;
-    margin-bottom: 20px;
-    margin-top: 30px;
-}
-
-.details-wrap .details-head-info {
-    font-size: 18px;
-}
-
-.job-type, .expired {
-    font-size: 16px;
-    padding: 3px 8px;
-    border-radius: 5px;
-    font-family: Poppins;
-   position: relative;
-    bottom: 5px;
-    margin-left: 13px;
-}
-
-.expired {
-    background-color: transparent;
-    border: 1px solid indianred;
-    color: indianred;
-    font-weight: 600;
-}
-
-.job-type {
-    background-color: indianred;
-    color: white;
-}
-
-.title {
-    //display: inline-flex;
-    //justify-items: start;
-    display: block;
-}
-
-.title h2, .title span {
-    display: inline-block;
-}
-
-.apply-button {
-    border: 0;
-    border-radius: 8px;
-    width: 45%;
-    background-image: linear-gradient(to right, #a1c4fd 0%, aliceblue 61%, #a1c4fd 100%);
-    background-size: 200% auto;
-    font-weight: bold;
-    padding: 5px 10px;
-    transition: 0.4s;
-}
-
-.apply-button:not(.disabled):hover{
-    background-color: rgb(187, 215, 235);
-    color: black;
-}
-
-.disabled {
-    cursor: default !important;
-    opacity: 0.6;
-}
-
-.apply:not(.expired) {
-    width: 20% !important;
-    background-size: 200% auto;
-
-}
-.apply:not(.expired):hover {
-    width: 20% !important;
-    background-position: right center;
-}
-
-.recruiter-link {
-    color: black;
-    font-size: 30px;
-    text-decoration:none;
-}
Index: jobvista-frontend/src/views/job_advertisements/JobAdDetails.js
===================================================================
--- jobvista-frontend/src/views/job_advertisements/JobAdDetails.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,139 +1,0 @@
-import "./JobAdDetails.css"
-import {useEffect, useState} from "react";
-import {useDispatch, useSelector} from "react-redux";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import {useParams} from "react-router";
-import Roles from "../../enumerations/Roles";
-import JobType from "../../enumerations/JobType";
-import EmploymentStatus from "../../enumerations/EmploymentStatus";
-import {formatRelativeTime} from "../../utils/utils";
-import {AddJobAdModal} from "./AddJobAdModal";
-import {ApplyToJobAdModal} from "../applications/ApplyToJobAdModal";
-import {Link} from "react-router-dom";
-import {RecruiterActions} from "../../redux/actions/recruiterActions";
-
-
-export const JobAdDetails = () => {
-    const dispatch = useDispatch();
-    const [jobAd, setJobAd] = useState("")
-    const [recruiterDetails, setRecruiterDetails] = useState("");
-    const [role, setRole] = useState("")
-    const {id} = useParams();
-    const auth = useSelector(state => state.auth.currentUser);
-
-    let logosState = useSelector(state => state.images.logos)
-    const [logoDispatched, setLogoDispatched] = useState(false)
-    const [logoView, setLogoView] = useState(null);
-
-    useEffect(() => {
-        setRole(auth.role)
-    }, [auth])
-
-    useEffect(() => {
-        if (jobAd) {
-            if (!logoDispatched && !logosState[jobAd.recruiterId]) {
-                dispatch(RecruiterActions.downloadLogo(jobAd.recruiterId, (success, response) => {
-                    if (success) {
-                        setLogoView(response)
-                        setLogoDispatched(true)
-                    }
-                }))
-            } else {
-                setLogoView(logosState[jobAd.recruiterId])
-            }
-
-        }
-
-    }, [jobAd])
-
-
-    useEffect(() => {
-        JobAdvertisementActions.fetchJobAdvertisementById(id, (success, response) => {
-            if (success) {
-                setJobAd(response.data)
-                JobAdvertisementActions.fetchRecruiterDetailsById(response.data.recruiterId, (successAgain, responseAgain) => {
-                    if(successAgain) {
-                        setRecruiterDetails(responseAgain.data)
-                    }
-                })
-            }
-        });
-    }, [])
-    return (<div className="container">
-        <div className="row">
-            <div className="col-md-9">
-                <div className="details-wrap min-wrap">
-                    <div className="row">
-                        <div className="col-md-9">
-                            <div className="title">
-                                <h2>{jobAd.title} </h2>
-                                <span className="job-type"> {jobAd.jobType===JobType.JOB ? "Job" : "Internship"}</span>
-                                {!jobAd.active && <span className="expired">Expired</span>}
-                            </div>
-
-                            <p className="details-head-info">
-                                <span><b>{jobAd.recruiterName}</b></span> • <span>{jobAd.industry}</span> • <span>{formatRelativeTime(jobAd.postedOn)}</span>
-                            </p>
-
-                            <p><i className="fa-solid fa-money-check-dollar"></i> <span>Hourly rate: ${jobAd.startingSalary}</span></p>
-                            <p><i className="fa-solid fa-briefcase"></i> Employment status: {jobAd.employmentStatus==="FULL_TIME" ? "Full-time" : "Part-time"}</p>
-                            <p><i className="fa-solid fa-calendar-days"></i> Active until: {new Date(jobAd.activeUntil).toLocaleString('default', { day: 'numeric', month: 'long',  year: 'numeric' })}</p>
-
-                        </div>
-                        <div className="col-md-3">
-                            {jobAd.recruiterId &&
-                                <>
-                                    <img
-                                        className="card-company-logo"
-                                        // loading gif
-                                        src={logosState[jobAd.recruiterId]}
-                                        alt=""
-                                        width={200} height={200}
-                                    />
-                                </>
-                            }
-
-                        </div>
-                    </div>
-
-
-                    <h4>About the job</h4>
-                    {jobAd.description && (
-                        <p dangerouslySetInnerHTML={{ __html: jobAd.description.replace(/\n/g, "<br>") }}></p>
-                    )}
-                    <ApplyToJobAdModal jobAd={jobAd} role={role}/>
-
-                </div>
-            </div>
-            <div className="col-md-3">
-                <div className="details-wrap">
-                    <Link className="recruiter-link" to={`/recruiters/${jobAd.recruiterId}`}>{jobAd.recruiterName} </Link>
-
-                    <h4>About the company</h4>
-                    <p>
-                        {recruiterDetails.companyDescription
-                            ? recruiterDetails.companyDescription.length > 710
-                                ? `${recruiterDetails.companyDescription.substring(0, 710)}...`
-                                : recruiterDetails.companyDescription
-                            : "There is no info about this company yet."
-                        }
-                    </p>
-
-                    <p>
-                        <i className="fa-solid fa-envelope"></i> <span className="span-about"> {recruiterDetails.contactEmail}</span> <br/>
-                        <i className="fa-solid fa-phone"></i> <span className="span-about"> {recruiterDetails.contactPhoneNumber}</span> <br/>
-                        {recruiterDetails.receptionist && <><i className="fa-solid fa-user"></i> <span className="span-about"> {recruiterDetails.receptionist}</span> </>}
-                    </p>
-
-                    <div className="d-flex justify-content-center mt-4">
-                        <Link className="card-button" to={`/recruiters/${jobAd.recruiterId}`}>Read more </Link>
-                    </div>
-                </div>
-            </div>
-
-        </div>
-
-
-
-    </div>)
-}
Index: jobvista-frontend/src/views/job_advertisements/JobAdvertisements.css
===================================================================
--- jobvista-frontend/src/views/job_advertisements/JobAdvertisements.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,126 +1,0 @@
-.photo-box {
-    position: relative;
-    margin-bottom: 140px;
-}
-
-.photo-box div img {
-    background-color: rgb(243, 242, 241);
-}
-
-.company-banner {
-    width: 100%;
-    height: 300px;
-    object-fit: cover;
-    object-position: initial;
-    display: block;
-    border-radius: 10px;
-}
-
-.company-logo {
-    position: absolute;
-    border-radius: 25px;
-    border: 5px solid rgb(243, 242, 241);
-    bottom: -110px;
-    left: 70px
-}
-
-.info-tab {
-    margin: 20px 10px;
-    position: absolute;
-    left: 280px;
-    font-family: Poppins;
-}
-
-.photo-box .edit-buttons {
-    display: flex;
-    gap: 10px;
-    position: absolute;
-    right: 20px;
-    bottom: -100px;
-}
-
-.edit-buttons .exclamation {
-    display: inline;
-    position: relative;
-}
-
-.fa-circle-exclamation {
-    color: #d80e0e;
-
-}
-
-.edit-buttons .modal-wrap .react-responsive-modal-modal .head-modal {
-    background-color: white !important;
-    color: black !important;
-}
-
-.edit-buttons button {
-    background-color: white;
-    border: none;
-    border-radius: 5px;
-    padding: 7px 13px;
-    transition: 0.1s;
-}
-
-.edit-buttons button:hover {
-    /*background-color: #F2F2F2;*/
-    background-color: lightgray;
-}
-
-.my-workspace {
-    position: relative;
-}
-
-.custom-text-area {
-    height: 14rem !important;
-}
-
-.line-separator {
-    width: 95%;
-    border-top: 1px solid gray;
-    border-radius: 5px;
-    margin: auto;
-    margin-bottom: 30px;
-}
-
-
-.confirmation-bar {
-    position: fixed;
-    //top: 80px;
-    left: 0;
-    width: calc(100% - 17px);
-    background-color: rgba(0, 0, 0, 0.5); /* Adjust background color as needed */
-    //background-color: #7D7D7A; /* Adjust background color as needed */
-    padding: 10px;
-    z-index: 11;
-
-}
-.confirmation-bar-buttons {
-    display: flex;
-    justify-content: right;
-    gap: 10px;
-    margin-right: 60px
-}
-.confirmation-bar .confirmation-bar-buttons button {
-    padding: 5px 20px;
-    border: none;
-    border-radius: 8px;
-    color: white;
-    transition: 0.1s;
-}
-.confirmation-bar .confirmation-bar-buttons .cancel-changes {
-    background-color: #8D8D8B;
-}
-
-.confirmation-bar .confirmation-bar-buttons .cancel-changes:hover {
-    background-color: #9B9A99;
-}
-
-.confirmation-bar .confirmation-bar-buttons .save-changes {
-    background-color: #0866FF;
-
-}
-.confirmation-bar .confirmation-bar-buttons .save-changes:hover {
-    background-color: dodgerblue;
-}
-
Index: jobvista-frontend/src/views/job_advertisements/JobManagementHub.js
===================================================================
--- jobvista-frontend/src/views/job_advertisements/JobManagementHub.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,166 +1,0 @@
-import {AddJobAdModal} from "./AddJobAdModal";
-
-import "./JobAdvertisements.css"
-import "../shared_css/Random.css"
-
-import {useDispatch, useSelector} from "react-redux";
-import {useEffect, useState} from "react";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import {formatRelativeTime, sortElementsBy} from "../../utils/utils";
-import {dataRangeOptions, industryOptions, industryOptionsFilter, sortOptions} from "../selectOptions";
-import Select from "react-select";
-import {DeleteJobAdModal} from "./DeleteJobAdModal";
-import {EditJobAdModal} from "./EditJobAdModal";
-import {Link} from "react-router-dom";
-import JobType from "../../enumerations/JobType";
-import {RecruiterActions} from "../../redux/actions/recruiterActions";
-
-
-export const Workspace = (props) => {
-
-    const dispatch = useDispatch();
-    const [dispatched, setDispatched] = useState(false)
-
-    const auth = useSelector(state => (state.auth.currentUser))
-
-    const [jobAdvertisementsByRecruiter, setJobAdvertisementsByRecruiter] = useState([]);
-    let jobAdvertisementsByRecruiterState = useSelector(state => (state.jobAd.jobAdvertisementsByRecruiter))
-
-    const [recruiterDetails, setRecruiterDetails] = useState(null);
-
-    const [selectedSortOrder, setSelectedSortOrder] = useState("date_newest");
-    const [selectedIndustry, setSelectedIndustry] = useState("all");
-    const [searchTerm, setSearchTerm] = useState("");
-
-    const [activeJobListingsCount, setActiveJobListingsCount] = useState(0);
-
-    useEffect(() => {
-        if (auth) {
-            dispatch(RecruiterActions.fetchRecruiterEditDetailsById(auth.id, (success, response) => {
-                if (success) {
-                    setRecruiterDetails(response.data)
-                }
-            }))
-        }
-    }, [auth]);
-
-
-    useEffect(() => {
-        if (!dispatched && jobAdvertisementsByRecruiterState.length === 0) {
-            dispatch(JobAdvertisementActions.fetchJobAdvertisementsByRecruiter(auth.id, (success, response) => {
-                if (success && response.data.length > 0) {
-                    setJobAdvertisementsByRecruiter(sortElementsBy(response.data))
-                }
-                console.log("Fetch job advertisements by recruiter GET")
-            }))
-            setDispatched(true);
-
-        } else {
-            setJobAdvertisementsByRecruiter(jobAdvertisementsByRecruiterState)
-            console.log("Fetch job advertisements by recruiter STATE")
-
-            setActiveJobListingsCount(countActiveJobListings(jobAdvertisementsByRecruiterState));
-        }
-
-    }, [jobAdvertisementsByRecruiterState])
-
-    let filterJobAdvertisements = () => {
-        JobAdvertisementActions.filterJobAdvertisementsByRecruiter(auth.id, {
-            searchTerm: searchTerm, industry: selectedIndustry, sortOrder: selectedSortOrder
-        }, (success, response) => {
-            if (success) {
-                setJobAdvertisementsByRecruiter(response.data);
-            }
-        })
-    }
-
-    function countActiveJobListings(jobAds) {
-        if (jobAds.length > 0) {
-            const activeJobListings = jobAds.filter(job => job.active)
-            return activeJobListings.length;
-        }
-        return 0;
-    }
-
-    return (<div className="container">
-
-            {/*<div className="line-separator"></div>*/}
-
-            <div className="filter-container">
-                <div className="row">
-                    <div className="col-md-12 filter-box">
-                        <div className="search-container">
-                            <i className="fa-solid fa-magnifying-glass search-icon"></i>
-                            <input
-                                className="search-input"
-                                type="text"
-                                placeholder="Search job advertisement by title..."
-                                value={searchTerm}
-                                onChange={event => setSearchTerm(event.target.value)}
-                            />
-                        </div>
-                        <div className="sort-section item">
-                            <Select
-                                defaultValue={{value: "all", label: "All industries"}}
-                                value={selectedIndustry.value}
-                                onChange={option => setSelectedIndustry(option.value)}
-                                options={industryOptionsFilter}
-                                className="sort-range sort"
-                            />
-                        </div>
-                        <div className="sort-section item">
-                            <Select
-                                defaultValue={{value: "newest", label: "Date (Newest First)"}}
-                                value={selectedSortOrder.value}
-                                onChange={option => setSelectedSortOrder(option.value)}
-                                options={sortOptions}
-                                className="sort-range sort"
-                            />
-                        </div>
-                        <button onClick={filterJobAdvertisements} className="blue-submit-button">Find jobs</button>
-                    </div>
-                </div>
-            </div>
-            <div className="row row-cols-1 row-cols-md-5 g-3">
-                <AddJobAdModal/>
-
-                {jobAdvertisementsByRecruiter && jobAdvertisementsByRecruiter.map((jobAd, index) => (
-                    <div key={index} className="col">
-                        <div className="custom-card hub-card">
-                            <div className="card-head">
-                                <span className="hourly-salary"><b>${jobAd.startingSalary}/hr</b></span>
-                                <span
-                                    className="job-type"> {jobAd.jobType === JobType.JOB ? "Job" : "Internship"}</span>
-                                {!jobAd.active && <span className="expired">Expired</span>}
-                                <div className="card-management-btns">
-                                    <DeleteJobAdModal props={jobAd}/>
-                                    <EditJobAdModal props={jobAd}/>
-                                </div>
-                            </div>
-                            <div className="card-body">
-                                <h5 className="card-title">{jobAd.title}</h5>
-                                <span>{jobAd.industry} • <span style={{
-                                    color: "black", fontWeight: "bold"
-                                }}>{formatRelativeTime(jobAd.postedOn)}</span></span>
-                                <div className="card-info">
-                                        <span><i className="fa-solid fa-building"
-                                                 style={{color: "#000000"}}></i> Company: <span style={{
-                                            color: "black", fontWeight: "bold"
-                                        }}>{jobAd.recruiterName}</span></span> <br/>
-                                </div>
-
-                            </div>
-
-
-                            <div className="card-foot">
-                                <Link to={`/job-management-hub/applications/${jobAd.id}`}
-                                      className="card-button">View applications</Link>
-                            </div>
-                        </div>
-                    </div>))}
-            </div>
-        </div>
-
-
-    )
-}
Index: jobvista-frontend/src/views/profiles/JobSeekerEditProfile.css
===================================================================
--- jobvista-frontend/src/views/profiles/JobSeekerEditProfile.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,22 +1,0 @@
-.profile-pic {
-    position: absolute;
-    border-radius: 100px;
-    border: 5px solid rgb(243, 242, 241);
-    bottom: -110px;
-    left: 70px;
-    object-fit: contain;
-}
-
-/*.floating-wrap {*/
-/*    position: relative;*/
-/*}*/
-
-/*.floating-wrap h5 {*/
-/*    z-index: 100;*/
-/*    position: absolute;*/
-/*    top: -25px;*/
-/*    left: 20px;*/
-/*    padding: 5px 10px;*/
-/*    background: white;*/
-/*    border-radius: 10px;*/
-/*}*/
Index: jobvista-frontend/src/views/profiles/JobSeekerEditProfile.js
===================================================================
--- jobvista-frontend/src/views/profiles/JobSeekerEditProfile.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,252 +1,0 @@
-import React, {useEffect, useState} from "react";
-
-import "../shared_css/Modal.css"
-
-import 'react-responsive-modal/styles.css';
-import "./JobSeekerEditProfile.css"
-
-//Validation
-import * as yup from "yup";
-import {yupResolver} from "@hookform/resolvers/yup";
-import {Controller, useForm} from "react-hook-form";
-
-import {useDispatch, useSelector} from "react-redux";
-import {JobSeekerActions} from "../../redux/actions/JobSeekerActions";
-import {notifyProfileEdit, notifyProfilePicChange} from "../../utils/toastUtils";
-
-
-export const JobSeekerEditProfile = (props) => {
-
-    const dispatch = useDispatch();
-    const auth = useSelector(state => state.auth.currentUser)
-
-    const [seekerDetails, setSeekerDetails] = useState(null);
-
-    const [profilePicFile, setProfilePicFile] = useState(null);
-
-    let profilePicState = useSelector(state => state.images.profilePictures);
-
-    const [profilePicPreview, setProfilePicPreview] = useState(null);
-    const [profilePicView, setProfilePicView] = useState(null);
-
-
-    useEffect(() => {
-        if(auth) {
-            dispatch(JobSeekerActions.fetchJobSeekerEditDetailsById(auth.id, (success, response) => {
-                if(success) {
-                    setSeekerDetails(response.data);
-                    console.log(response.data)
-                }
-            }))
-        }
-    }, [auth])
-
-    useEffect(() => {
-        if (auth.id) {
-            if(!profilePicState[auth.id]) {
-                dispatch(JobSeekerActions.downloadProfilePic(auth.id, (success, response) => {
-                    if (success) {
-                        setProfilePicView(response)
-                        //setDispatched(true)
-                    }
-                }))
-                //console.log("LOGO FETCH")
-            } else {
-                setProfilePicView(profilePicState[auth.id])
-                //console.log("LOGO STATE")
-            }
-
-        }
-
-    }, [auth])
-    const schema = yup.object().shape({
-        email: yup.string().required("Please enter your email"),
-        firstName: yup.string().required("Please enter your first name"),
-        lastName: yup.string().required("Please enter your last name"),
-        phoneNumber: yup.string().required("Please enter your phone number"),
-
-    })
-
-
-
-    const {register, handleSubmit, formState: {errors}} = useForm({
-        resolver: yupResolver(schema),
-    });
-
-    const editJobSeekerDetails = async (values) => {
-        try {
-            dispatch(JobSeekerActions.editJobSeekerDetailsById(
-                {
-                    email: values.email,
-                    firstName: values.firstName,
-                    lastName: values.lastName,
-                    phoneNumber: values.phoneNumber,
-
-
-                }, auth.id, (success, response) => {
-                    if (success) {
-                        // console.log("Recruiter details edited")
-                        notifyProfileEdit()
-                        setSeekerDetails(response.data)
-                    }
-                }
-            ))
-        } catch (err) {
-            console.error(err)
-        }
-    }
-
-    const handleButtonClick = () => {
-        document.getElementById('logo-upload-input').click();
-    };
-    const handleLogoChange = (event) => {
-        const file = event.target.files[0];
-        if (file && (file.type === 'image/png' || file.type === 'image/jpeg')) {
-            setProfilePicFile(file)
-            setProfilePicPreview(URL.createObjectURL(file));
-        }
-        event.target.value = null;
-    };
-    const handleLogoUpload = async () => {
-        try {
-            const formData = new FormData();
-            formData.append("jobSeekerId", auth.id);
-            formData.append("profilePicFile", profilePicFile);
-
-            dispatch(JobSeekerActions.submitProfilePic(formData, (success, response) => {
-                if (success) {
-                    // window.location.reload(); // MAYBE REMOVE
-                    // console.log("Logo uploaded successfully")
-                    notifyProfilePicChange()
-                    setProfilePicPreview(null)
-                    setProfilePicView(URL.createObjectURL(profilePicFile))
-
-                }
-            }))
-
-        } catch (error) {
-            console.error(error)
-        }
-    }
-
-    const handleCancelUpload = () => {
-        setProfilePicFile(null)
-        setProfilePicPreview(null)
-    }
-
-
-    return (<div className="custom-container no-additional-margin">
-
-        {profilePicPreview && (
-            <div className="confirmation-bar">
-                <div className="confirmation-bar-buttons">
-                    <button className="cancel-changes" onClick={handleCancelUpload}>Cancel</button>
-                    <button className="save-changes" onClick={handleLogoUpload}>Save changes</button>
-
-                </div>
-            </div>
-        )}
-        <div className="photo-box">
-            <div>
-                <img
-                    src="/images/mountains.png"
-                    className="company-banner"
-                    alt="Company Banner"
-                />
-                {profilePicPreview ? <>
-                    <img
-                        src={profilePicPreview}
-                        className="profile-pic"
-                        alt=""
-                        width={200} height={200}
-                    />
-                </> : <>
-                    <img
-                        // loading gif
-                        src={profilePicView}
-                        className="profile-pic"
-                        alt=""
-                        width={200} height={200}
-                    />
-                </>}
-
-            </div>
-
-            <div className="info-tab">
-                {seekerDetails &&  <h3>{seekerDetails.firstName + " " + seekerDetails.lastName}</h3>}
-                {/*<p>Active job listings: <span>{activeJobListingsCount}</span></p>*/}
-            </div>
-
-            <div className="edit-buttons">
-
-                <input
-                    type="file"
-                    id="logo-upload-input"
-                    accept="image/png, image/jpeg"
-                    onChange={handleLogoChange}
-                    style={{display: 'none'}}
-                />
-                <button onClick={handleButtonClick}>
-                    <i className="fa-solid fa-camera"></i> Change profile picture
-                </button>
-                <button><i className="fa-solid fa-panorama"></i> Change cover photo</button>
-            </div>
-
-        </div>
-
-
-
-        {seekerDetails &&
-            <>
-                <div className="floating-wrap">
-                    <h5>Personal details</h5>
-                    <form onSubmit={handleSubmit(editJobSeekerDetails)}>
-                        <div className="row">
-                            <div className="col-md-12">
-
-
-                                <div className="form-floating mb-3">
-                                    <input type="text" className="form-control" defaultValue={seekerDetails.email}  {...register("email")}
-                                           placeholder="David"/>
-                                    <label htmlFor="floatingFirstName">Email address</label>
-                                    <p className="error-message">{errors.email?.message}</p>
-                                </div>
-
-                                <div className="form-floating mb-3">
-                                    <input type="text" className="form-control" defaultValue={seekerDetails.firstName}  {...register("firstName")}
-                                           placeholder="David"/>
-                                    <label htmlFor="floatingFirstName">First name</label>
-                                    <p className="error-message">{errors.firstName?.message}</p>
-                                </div>
-
-                                <div className="form-floating mb-3">
-                                    <input type="text" className="form-control" defaultValue={seekerDetails.lastName} {...register("lastName")}
-                                           placeholder="David"/>
-                                    <label htmlFor="floatingFirstName">Last name</label>
-                                    <p className="error-message">{errors.lastName?.message}</p>
-                                </div>
-
-
-                                <div className="form-floating mb-3">
-                                    <input type="text" className="form-control" defaultValue={seekerDetails.phoneNumber}  {...register("phoneNumber")}
-                                           placeholder="David"/>
-                                    <label htmlFor="floatingFirstName">Phone number</label>
-                                    <p className="error-message">{errors.phoneNumber?.message}</p>
-                                </div>
-
-
-                            </div>
-                        </div>
-
-                        <div className="d-flex justify-content-end">
-                            <button className="blue-submit-button" type="submit"> Save changes</button>
-                        </div>
-
-                    </form>
-                </div>
-            </>
-        }
-
-
-    </div>)
-}
Index: jobvista-frontend/src/views/profiles/RecruiterEditProfile.js
===================================================================
--- jobvista-frontend/src/views/profiles/RecruiterEditProfile.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,251 +1,0 @@
-import {useDispatch, useSelector} from "react-redux";
-import React, {useEffect, useState} from "react";
-import {RecruiterActions} from "../../redux/actions/recruiterActions";
-import * as yup from "yup";
-import {useForm} from "react-hook-form";
-import {yupResolver} from "@hookform/resolvers/yup";
-
-// Toast notification
-import 'react-toastify/dist/ReactToastify.css';
-import { toast, ToastContainer } from 'react-toastify';
-import {notifyLogoChange, notifyProfileEdit} from "../../utils/toastUtils";
-export const RecruiterEditProfile = () => {
-
-    const dispatch = useDispatch();
-    const auth = useSelector(state => (state.auth.currentUser))
-
-    const [recruiterDetails, setRecruiterDetails] = useState(null);
-
-    let logosState = useSelector(state => state.images.logos)
-    const [logoDispatched, setLogoDispatched] = useState(false)
-    const [logoFile, setLogoFile] = useState(null);
-    const [logoPreview, setLogoPreview] = useState(null);
-    const [logoView, setLogoView] = useState(null);
-
-
-    useEffect(() => {
-        if (auth) {
-            dispatch(RecruiterActions.fetchRecruiterEditDetailsById(auth.id, (success, response) => {
-                if (success) {
-                    setRecruiterDetails(response.data)
-                }
-            }))
-        }
-    }, [auth]);
-
-    useEffect(() => {
-        if (auth.id) {
-            if (!logoDispatched && !logosState[auth.id]) {
-                dispatch(RecruiterActions.downloadLogo(auth.id, (success, response) => {
-                    if (success) {
-                        setLogoView(response)
-                        setLogoDispatched(true)
-                    }
-                }))
-                console.log("LOGO GET")
-            } else {
-                setLogoView(logosState[auth.id])
-                console.log("LOGO STATE")
-            }
-        }
-
-    }, [auth])
-
-    const schema = yup.object().shape({
-        email: yup.string().required("Please enter your email"),
-        companyName: yup.string().required("Please enter your company name"),
-        companyDescription: yup.string(),
-        contactEmail: yup.string().required("Please enter your contact email"),
-        contactPhoneNumber: yup.string().required("Please enter your contact phone number"),
-        receptionist: yup.string(),
-    })
-
-    const {register, handleSubmit, control, formState: {errors}} = useForm({
-        resolver: yupResolver(schema),
-    });
-
-
-    const editRecruiterDetails = async (values) => {
-        try {
-            dispatch(RecruiterActions.editRecruiterDetailsById(
-                {
-                    email: values.email,
-                    companyName: values.companyName,
-                    companyDescription: values.companyDescription,
-                    contactEmail: values.contactEmail,
-                    contactPhoneNumber: values.contactPhoneNumber,
-                    receptionist: values.receptionist,
-
-                }, auth.id, (success, response) => {
-                    if (success) {
-                        console.log("Recruiter details edited")
-                        notifyProfileEdit()
-                        //window.location.reload();
-                    }
-                }
-            ))
-        } catch (err) {
-            console.error(err)
-        }
-    }
-
-    const handleButtonClick = () => {
-        document.getElementById('logo-upload-input').click();
-    };
-    const handleLogoChange = (event) => {
-        const file = event.target.files[0];
-        if (file && (file.type === 'image/png' || file.type === 'image/jpeg')) {
-            setLogoFile(file);
-            setLogoPreview(URL.createObjectURL(file));
-        }
-        event.target.value = null;
-    };
-
-    const handleLogoUpload = async () => {
-        try {
-            const formData = new FormData();
-            formData.append("recruiterId", auth.id);
-            formData.append("logoFile", logoFile);
-
-            dispatch(RecruiterActions.submitLogo(formData, (success, response) => {
-                if (success) {
-                    //console.log("Logo uploaded successfully")
-                    notifyLogoChange()
-                    setLogoPreview(null)
-                    setLogoView(URL.createObjectURL(logoFile))
-                }
-            }))
-
-        } catch (error) {
-            console.error(error)
-        }
-    }
-
-    const handleCancelUpload = () => {
-        setLogoFile(null)
-        setLogoPreview(null)
-        console.log(logoPreview)
-    }
-
-    return (<div className="my-workspace">
-            {logoPreview && (
-                <div className="confirmation-bar">
-                    <div className="confirmation-bar-buttons">
-                        <button className="cancel-changes" onClick={handleCancelUpload}>Cancel</button>
-                        <button className="save-changes" onClick={handleLogoUpload}>Save changes</button>
-
-                    </div>
-                </div>
-            )}
-
-            <div className="custom-container no-additional-margin">
-                <div className="photo-box">
-                    <div>
-                        <img
-                            src="/images/default-company-banner.jpg"
-                            className="company-banner"
-                            alt="Company Banner"
-                        />
-                        {logoPreview ? <>
-                            <img
-                                src={logoPreview}
-                                className="company-logo"
-                                alt=""
-                                width={200} height={200}
-                            />
-                        </> : <>
-                            <img
-                                // loading gif
-                                src={logoView}
-                                className="company-logo"
-                                alt=""
-                                width={200} height={200}
-                            />
-                        </>}
-                    </div>
-
-                    <div className="info-tab">
-                        <h3>{recruiterDetails && recruiterDetails.companyName}</h3>
-                    </div>
-
-                    <div className="edit-buttons">
-                        <input
-                            type="file"
-                            id="logo-upload-input"
-                            accept="image/png, image/jpeg"
-                            onChange={handleLogoChange}
-                            style={{display: 'none'}}
-                        />
-                        <button onClick={handleButtonClick}>
-                            <i className="fa-solid fa-camera"></i> Change logo
-                        </button>
-                        <button><i className="fa-solid fa-panorama"></i> Change cover photo</button>
-                    </div>
-
-                </div>
-
-
-                {/*<i className="fa-solid fa-circle-exclamation">*/}
-                {recruiterDetails && (
-                    <div className="floating-wrap">
-                        <h5>Company details</h5>
-                        <form onSubmit={handleSubmit(editRecruiterDetails)}>
-                            <div className="row">
-                                <div className="col-md-6">
-                                    <div className="form-floating mb-3">
-                                        <input type="text" className="form-control" defaultValue={recruiterDetails.email} {...register("email")}
-                                               placeholder="David"/>
-                                        <label htmlFor="floatingFirstName">Email address</label>
-                                        <p className="error-message">{errors.email?.message}</p>
-                                    </div>
-
-                                    <div className="form-floating mb-3">
-                                        <input type="text" className="form-control" defaultValue={recruiterDetails.contactEmail} {...register("contactEmail")}
-                                               placeholder="David"/>
-                                        <label htmlFor="floatingFirstName">Contact email address</label>
-                                        <p className="error-message">{errors.contactEmail?.message}</p>
-                                    </div>
-
-
-                                    <div className="form-floating mb-3">
-                                        <input type="text" className="form-control" defaultValue={recruiterDetails.contactPhoneNumber} {...register("contactPhoneNumber")}
-                                               placeholder="David"/>
-                                        <label htmlFor="floatingFirstName">Contact phone number</label>
-                                        <p className="error-message">{errors.contactPhoneNumber?.message}</p>
-                                    </div>
-
-                                    <div className="form-floating mb-3">
-                                        <input type="text" className="form-control" defaultValue={recruiterDetails.receptionist} {...register("receptionist")}
-                                               placeholder="David"/>
-                                        <label htmlFor="floatingFirstName">Receptionist</label>
-                                        <p className="error-message">{errors.receptionist?.message}</p>
-                                    </div>
-                                </div>
-                                <div className="col-md-6">
-                                    <div className="form-floating mb-3">
-                                        <input type="text" className="form-control" defaultValue={recruiterDetails.companyName} {...register("companyName")}
-                                               placeholder="David"/>
-                                        <label htmlFor="floatingCompanyName">Company name</label>
-                                        <p className="error-message">{errors.companyName?.message}</p>
-                                    </div>
-
-                                    <div className="form-floating mb-3">
-                                <textarea placeholder="Company description" defaultValue={recruiterDetails.companyDescription} className="form-control custom-text-area"
-                                          name="" id="" cols="30" rows="9" {...register("companyDescription")}></textarea>
-                                        <label htmlFor="floatingCompanyName">Company description</label>
-                                    </div>
-
-                                </div>
-                            </div>
-                            <div className="d-flex justify-content-end">
-                                <button className="blue-submit-button" type="submit">Save changes</button>
-                            </div>
-                        </form>
-                    </div>
-                )}
-                {/*<div className="line-separator"></div>*/}
-            </div>
-        </div>
-
-    )
-}
Index: jobvista-frontend/src/views/profiles/RecruiterProfile.js
===================================================================
--- jobvista-frontend/src/views/profiles/RecruiterProfile.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,193 +1,0 @@
-import "../job_advertisements/JobAdvertisements.css"
-import {useDispatch, useSelector} from "react-redux";
-import {useEffect, useState} from "react";
-import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
-import {formatRelativeTime, sortElementsBy} from "../../utils/utils";
-import {Link} from "react-router-dom";
-import JobType from "../../enumerations/JobType";
-import {RecruiterActions} from "../../redux/actions/recruiterActions";
-
-import {useParams} from "react-router";
-
-
-export const RecruiterProfile = () => {
-
-    const dispatch = useDispatch();
-    const {id} = useParams();
-    const auth = useSelector(state => (state.auth.currentUser))
-
-    const [jobAdvertisementsByRecruiter, setJobAdvertisementsByRecruiter] = useState([]);
-    const [recruiterDetails, setRecruiterDetails] = useState(null);
-
-    let logosState = useSelector(state => state.images.logos)
-    const [logoDispatched, setLogoDispatched] = useState(false)
-    const [logoView, setLogoView] = useState(null);
-
-    const [activeJobListingsCount, setActiveJobListingsCount] = useState(0);
-
-
-    useEffect(() => {
-
-        JobAdvertisementActions.fetchRecruiterDetailsById(id, (success, response) => {
-            if (success) {
-                setRecruiterDetails(response.data)
-            }
-        })
-
-    }, []);
-
-    useEffect(() => {
-        if (id) {
-            if (!logoDispatched && !logosState[id]) {
-                dispatch(RecruiterActions.downloadLogo(id, (success, response) => {
-                    if (success) {
-                        setLogoView(response)
-                        setLogoDispatched(true)
-                    }
-                }))
-            } else {
-                setLogoView(logosState[id])
-            }
-        }
-
-    }, [auth])
-
-    useEffect(() => {
-
-        dispatch(JobAdvertisementActions.fetchJobAdvertisementsByRecruiterProfile(id, (success, response) => {
-            if (success && response.data.length > 0) {
-                setJobAdvertisementsByRecruiter(sortElementsBy(response.data, "postedOn"))
-                setActiveJobListingsCount(countActiveJobListings(response.data));
-            }
-        }))
-    }, [])
-
-
-    function countActiveJobListings(jobAds) {
-        if (jobAds.length > 0) {
-            const activeJobListings = jobAds.filter(job => job.active)
-            return activeJobListings.length;
-        }
-        return 0;
-    }
-
-
-    return (<div className="my-workspace">
-            <div className="custom-container no-additional-margin">
-                <div className="photo-box">
-                    <div>
-                        <img
-                            src="/images/default-company-banner.jpg"
-                            className="company-banner"
-                            alt="Company Banner"
-                        />
-                        <img
-                            // loading gif
-                            src={logoView}
-                            className="company-logo"
-                            alt=""
-                            width={200} height={200}
-                        />
-
-                    </div>
-
-                    <div className="info-tab">
-                        <h3>{recruiterDetails && recruiterDetails.companyName}</h3>
-                        <p>Active job listings: <span>{activeJobListingsCount}</span></p>
-                    </div>
-                </div>
-
-                {recruiterDetails &&
-                    <>
-                        <div className="details-wrap-profile">
-                            <h4>About the company</h4>
-                            <p>{recruiterDetails.companyDescription ?
-                                recruiterDetails.companyDescription : "There is no info about this company yet."
-                            }</p>
-                            <p>
-                                <span> <i
-                                    className="fa-solid fa-envelope"></i> {recruiterDetails.contactEmail}</span> • <span>
-                                <i className="fa-solid fa-phone"></i> {recruiterDetails.contactPhoneNumber}</span>
-                                {recruiterDetails.receptionist && <span> • <i
-                                    className="fa-solid fa-user"></i> {recruiterDetails.receptionist}</span>}
-                            </p>
-                        </div>
-                    </>
-                }
-
-                {/*<div className="line-separator"></div>*/}
-
-                {/*<div className="head-dashboard-box">*/}
-                {/*    <div className="row">*/}
-                {/*        <div className="col-md-12 filter-container">*/}
-                {/*            <div className="search-container">*/}
-                {/*                <i className="fa-solid fa-magnifying-glass search-icon"></i>*/}
-                {/*                <input*/}
-                {/*                    className="search-input"*/}
-                {/*                    type="text"*/}
-                {/*                    placeholder="Search job advertisement by title..."*/}
-                {/*                    value={searchTerm}*/}
-                {/*                    onChange={event => setSearchTerm(event.target.value)}*/}
-                {/*                />*/}
-                {/*            </div>*/}
-                {/*            <div className="sort-section item">*/}
-                {/*                <Select*/}
-                {/*                    defaultValue={{value: "all", label: "All industries"}}*/}
-                {/*                    value={selectedIndustry.value}*/}
-                {/*                    onChange={option => setSelectedIndustry(option.value)}*/}
-                {/*                    options={industryOptionsFilter}*/}
-                {/*                    className="sort-range sort"*/}
-                {/*                />*/}
-                {/*            </div>*/}
-                {/*            <div className="sort-section item">*/}
-                {/*                <Select*/}
-                {/*                    defaultValue={{value: "newest", label: "Date (Newest First)"}}*/}
-                {/*                    value={selectedSortOrder.value}*/}
-                {/*                    onChange={option => setSelectedSortOrder(option.value)}*/}
-                {/*                    options={sortOptions}*/}
-                {/*                    className="sort-range sort"*/}
-                {/*                />*/}
-                {/*            </div>*/}
-                {/*            <button onClick={filterJobAdvertisements} className="btn-open-modal">Find jobs</button>*/}
-                {/*        </div>*/}
-                {/*    </div>*/}
-                {/*</div>*/}
-                <div className="row row-cols-1 row-cols-md-4 g-4">
-
-                    {jobAdvertisementsByRecruiter && jobAdvertisementsByRecruiter.map((jobAd, index) => (
-                        <div key={index} className="col">
-                            <div className="custom-card hub-card">
-                                <div className="card-head">
-                                    <span className="hourly-salary"><b>${jobAd.startingSalary}/hr</b></span>
-                                    <span
-                                        className="job-type"> {jobAd.jobType === JobType.JOB ? "Job" : "Internship"}</span>
-                                    {!jobAd.active && <span className="expired">Expired</span>}
-                                </div>
-                                <div className="card-body">
-                                    <h5 className="card-title">{jobAd.title}</h5>
-                                    <span>{jobAd.industry} • <span style={{
-                                        color: "black", fontWeight: "bold"
-                                    }}>{formatRelativeTime(jobAd.postedOn)}</span></span>
-                                    <div className="card-info">
-                                        <span><i className="fa-solid fa-building"
-                                                 style={{color: "#000000"}}></i> Company: <span style={{
-                                            color: "black", fontWeight: "bold"
-                                        }}>{jobAd.recruiterName}</span></span> <br/>
-                                    </div>
-
-                                </div>
-                                <div className="card-foot">
-                                    <Link to={`/job-advertisements/${jobAd.id}`} className="card-button">Read
-                                        more</Link>
-                                </div>
-                            </div>
-                        </div>))}
-
-                </div>
-
-
-            </div>
-        </div>
-
-    )
-}
Index: jobvista-frontend/src/views/selectOptions.js
===================================================================
--- jobvista-frontend/src/views/selectOptions.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,64 +1,0 @@
-export const industryOptions = [
-    { value: "Information Technology", label: "Information Technology" },
-    { value: "Finance", label: "Finance" },
-    { value: "Healthcare", label: "Healthcare" },
-    { value: "Education", label: "Education" },
-    { value: "Engineering", label: "Engineering" },
-    { value: "Retail", label: "Retail" },
-    { value: "Hospitality", label: "Hospitality" },
-    { value: "Manufacturing", label: "Manufacturing" },
-    { value: "Construction", label: "Construction" },
-    { value: "Marketing", label: "Marketing" },
-    { value: "Media", label: "Media" },
-    { value: "Telecommunications", label: "Telecommunications" },
-    { value: "Transportation", label: "Transportation" },
-    { value: "Government", label: "Government" },
-    { value: "Consulting", label: "Consulting" }
-];
-
-export const industryOptionsFilter = [
-    { value: "all", label: "All industries" },
-    { value: "Information Technology", label: "Information Technology" },
-    { value: "Finance", label: "Finance" },
-    { value: "Healthcare", label: "Healthcare" },
-    { value: "Education", label: "Education" },
-    { value: "Engineering", label: "Engineering" },
-    { value: "Retail", label: "Retail" },
-    { value: "Hospitality", label: "Hospitality" },
-    { value: "Manufacturing", label: "Manufacturing" },
-    { value: "Construction", label: "Construction" },
-    { value: "Marketing", label: "Marketing" },
-    { value: "Media", label: "Media" },
-    { value: "Telecommunications", label: "Telecommunications" },
-    { value: "Transportation", label: "Transportation" },
-    { value: "Government", label: "Government" },
-    { value: "Consulting", label: "Consulting" }
-];
-
-export const jobTypeOptions = [
-    {value: "JOB", label: "Job"},
-    {value: "INTERNSHIP", label: "Internship"},
-]
-
-export const employmentStatusOptions = [
-    {value: "FULL_TIME", label: "Full time"},
-    {value: "PART_TIME", label: "Part time"}
-]
-
-export const dataRangeOptions = [
-    {value: "all", label: "Lifetime"},
-    {value: "7days", label: "Last 7 days"},
-    {value: "30days", label: "Last 30 days"},
-    {value: "90days", label: "Last 90 days"},
-    {value: "12months", label: "Last 12 months"},
-    {value: "today", label: "Today"},
-    {value: "thisMonth", label: "This month"},
-    {value: "12months", label: "This year"},
-]
-
-export const sortOptions = [
-    { value: "date_newest", label: "Date (Newest First)" },
-    { value: "date_oldest", label: "Date (Oldest First)" },
-    { value: "salary_highest", label: "Salary (High to Low)" },
-    { value: "salary_lowest", label: "Salary (Low to High)" },
-]
Index: jobvista-frontend/src/views/shared_css/Modal.css
===================================================================
--- jobvista-frontend/src/views/shared_css/Modal.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,208 +1,0 @@
-
-.modal-wrap {
-    display: inline;
-}
-
-.btn-close-modal {
-    position: absolute;
-    top: 15px;
-    right: 15px;
-    padding: 5px 7px;
-    cursor: pointer;
-}
-
-.react-responsive-modal-modal {
-    background: #f1f1f1;
-    border-radius: 10px;
-    min-width: 1000px !important;
-    max-width: 1000px !important;
-    height: auto;
-    padding: 0 !important;
-    overflow-y: hidden;
-}
-
-.react-responsive-modal-closeButton {
-   display: none !important;
-}
-
-.react-responsive-modal-modal .head-modal {
-    border-top-left-radius: 10px;
-    border-top-right-radius: 10px;
-    background-color: rgba(1,38,90,0.9);
-    /*background-color: white;*/
-    background-size: cover;
-    padding: 14px 48px;
-    /*color: #3A3B3C;*/
-    color: white;
-    border-bottom: 1px solid #E5E4E7;
-    display: flex;
-    justify-content: left;
-}
-
-.react-responsive-modal-modal .head-modal h3 {
-    text-transform: uppercase;
-    font-weight: bold;
-    display: inline;
-    margin: 0;
-}
-
-
-.react-responsive-modal-modal .modal-content {
-    /*line-height: 1.4;*/
-    padding: 30px 48px;
-    /*height: 100%;*/
-    border: 0;
-}
-
-.react-responsive-modal-modal .modal-content form .modal-buttons{
-    display: flex;
-    justify-content: end;
-    gap: 10px;
-    margin-right: 10px;
-}
-
-
-.react-responsive-modal-modal .modal-content form .label {
-    display: block;
-    margin-bottom: 10px;
-    font-weight: 500;
-}
-
-.react-responsive-modal-modal .modal-content form input {
-    display: block;
-    padding: 5px 10px;
-    width: 100%;
-    border-radius: 3px;
-    border: 1px solid lightgrey;
-}
-
-.react-responsive-modal-modal .modal-content form textarea {
-    width: 100%;
-    resize: none;
-    border-radius: 3px;
-    border: 1px solid lightgrey;
-    padding: 5px 10px;
-}
-
-.description-textarea {
-    height: 285px;
-}
-
-.application-textarea {
-    height: 100px;
-    /*margin-bottom: 20px;*/
-}
-
-.resume-link {
-    display: block;
-    padding: 5px 10px;
-    width: 100%;
-    border-radius: 3px;
-    border: 1px solid lightgrey;
-}
-.custom {
-    margin-top: 10px;
-}
-
-input:focus, textarea:focus {
-    outline-color: cornflowerblue;
-}
-
-.modal-buttons button, .modal-buttons div  {
-    position: relative;
-    padding: 5px 20px;
-    border-radius: 5px;
-    border: none;
-    color: white;
-    /*text-transform: uppercase;*/
-    font-weight: 500;
-    margin-top: 15px;
-    cursor: pointer
-}
-
-.modal-buttons .submit-btn {
-    background: #06367a;
-    transition: background-color 0.3s ease, color 0.3s ease;
-}
-
-.modal-buttons .submit-btn:hover {
-    background-color: #2e579b;
-}
-
-.modal-buttons .cancel-btn {
-    color: #858B96;
-    background-color: #F0F0F0;
-    transition: background-color 0.3s ease, color 0.3s ease;
-}
-.modal-buttons .cancel-btn:hover {
-    background-color: #e0e0e0;
-    color: #555;
-}
-
-.category-option {
-    display: flex;
-    align-items: center;
-    gap: 10px;
-}
-
-/* DELETE MODAL */
-
-.modal-delete-buttons {
-    display: flex;
-    justify-content: flex-end;
-    gap: 10px;
-    margin-top: 25px;
-}
-
-.modal-delete-content {
-    padding: 20px 25px;
-}
-
-.modal-delete-content-inside {
-    display: flex;
-    align-items: center;
-}
-
-.modal-delete-text {
-    padding-left: 35px;
-
-}
-
-.modal-delete-text p {
-    margin: 0;
-}
-
-
-.modal-delete-buttons .cancel-btn, .modal-delete-buttons .delete-btn {
-    display: inline;
-    border: none;
-    padding: 5px 25px 5px 25px;
-    border-radius: 7px;
-}
-
-.modal-delete-buttons .delete-btn {
-    background-color: red;
-    color: white;
-}
-
-.x-icon {
-    transform: scale(3.3) !important;
-    color: #D93936 !important;
-    padding: 0 15px !important;
-    /*margin-top: 20px !important;*/
-}
-
-.ql-snow .ql-picker.ql-font {
-    display: none;
-}
-.ql-toolbar.ql-snow .ql-picker-options {
-    background-color: white;
-}
-.ql-snow .ql-tooltip {
-    transform: translateX(100px) !important;
-}
-
-
-
-
-
Index: jobvista-frontend/src/views/shared_css/Random.css
===================================================================
--- jobvista-frontend/src/views/shared_css/Random.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,65 +1,0 @@
-.blue-submit-button {
-    font-size: 1rem;
-    padding: 5px 17px;
-    border-radius: 8px;
-    background-color: #06367a;
-    border: none;
-    color: white;
-    font-weight: 500;
-    transition: background-color 0.3s ease;
-}
-
-.blue-submit-button:hover {
-    background-color: #2e579b;
-}
-
-/*FILTER CONTAINER*/
-
-.filter-container {
-    height: 10%;
-    width: 100%;
-    background-color: #fff;
-    border-radius: 12px;
-    padding: 15px 20px;
-    margin-bottom: 20px;
-    margin-top: 30px;
-    height: auto;
-}
-
-.filter-container .filter-box {
-    display: inline-flex;
-    justify-content: center;
-    gap: 10px;
-}
-
-
-.filter-container .search-container {
-    position: relative;
-    /*float: left;*/
-    display: inline-block;
-}
-.filter-container .search-container .search-input {
-    width: 400px;
-    display: inline;
-    padding: 5px 30px;
-    border-radius: 10px;
-    border: 1px solid lightgrey;
-    /*margin-right: 15px;*/
-}
-
-.filter-container .search-container .search-input:focus {
-    outline-color: #2684ff;
-}
-
-.filter-container .search-container i {
-    left: 10px;
-    position: absolute;
-    top: 10px;
-}
-
-.filter-container .item {
-    width: 20%;
-    display: inline-block;
-    /*margin-left: 10px;*/
-    /*float: left !important;*/
-}
Index: jobvista-frontend/src/views/static/AboutUs.css
===================================================================
--- jobvista-frontend/src/views/static/AboutUs.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,47 +1,0 @@
-.about-wrap {
-    margin-top: 30px;
-}
-
-.floating-wrap h3 {
-    font-family: Segoe UI;
-    text-align: center;
-}
-.floating-wrap h4 {
-    text-align: center;
-}
-
-.floating-wrap h2 {
-    font-family: Cairo;
-    font-weight: bold;
-}
-.floating-wrap p {
-    font-family: Ubuntu
-}
-.floating-wrap {
-    background-color:white;
-    padding: 15px 20px;
-    border-radius: 15px;
-    margin-bottom: 20px;
-}
-
-.floating-inside-wrap {
-    background-color: rgb(243, 242, 241);
-    padding: 15px 20px;
-    border-radius: 15px;
-    margin: 10px;
-}
-
-.about-us-img {
-    margin-bottom: 20px;
-    border-radius: 15px;
-    width: 100%;
-    padding: 0;
-}
-
-.start-title {
-    font-weight: bold;
-    font-size: 20px;
-    font-family: Segoe UI;
-    text-transform: uppercase;
-
-}
Index: jobvista-frontend/src/views/static/AboutUs.js
===================================================================
--- jobvista-frontend/src/views/static/AboutUs.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,92 +1,0 @@
-import "./AboutUs.css"
-export const AboutUs = () => {
-
-    return (
-        <div className="container">
-            <div className="about-wrap">
-                <div className="row">
-                    <div className="col-md-6">
-                        <div className="floating-wrap">
-                            <h4>Your Future, Our Mission</h4>
-                            <p>
-                                At Job Vista, we believe that finding the right job should be simple, efficient, and rewarding. Our mission is to connect talented individuals with their dream careers while helping companies discover the best candidates to join their teams.
-                            </p>
-
-
-                        </div>
-                        <div className="floating-wrap">
-                             <h4>How It Started</h4>
-                            <p>
-                                Founded in 2024, Job Vista was born out of a passion for transforming the job search experience. The idea for Job Vista originated as a university project, where a group of us noticed that the job market was becoming increasingly complex, with both job seekers and employers facing numerous challenges in finding the perfect match. Inspired by the potential to make a real difference, we decided to turn our project into a full-fledged platform. Our goal was to create an app that simplifies this process, making it easier for everyone involved.
-                            </p>
-
-                            <h4>What We Offer</h4>
-
-                            <p><span className="start-title">Job Seekers </span>
-                                can browse through thousands of job opportunities from various industries, all in one place. Enjoy an easy application process where you can apply for jobs with just a few clicks and track your applications seamlessly. Receive personalized job alerts about openings that match your skills and interests. Additionally, access a wealth of career resources, including articles, tips, and tools to help you prepare for interviews, improve your resume, and advance your career.</p>
-                            <p>
-                                <span className="start-title">Recruiters </span>
-                                can post job openings and manage applications with our user-friendly interface, ensuring efficient recruitment. Find the best talent using our advanced search and filtering tools to discover candidates that fit your requirements. Enhance your brand visibility by showcasing your company and attracting top talent with a detailed company profile.
-                            </p>
-
-                            {/*<h4>*/}
-                            {/*    Our Vision*/}
-                            {/*</h4>*/}
-                            {/*<p>*/}
-                            {/*    We envision a world where job seekers and employers can effortlessly connect, leading to fulfilling careers and successful businesses. By leveraging technology and innovation, Job Vista aims to be the go-to platform for job hunting and recruitment.*/}
-                            {/*</p>*/}
-                        </div>
-                    </div>
-                    <div className="col-md-6">
-
-
-                        <div className="row">
-                            <img className="about-us-img" src="/images/about-us.jpg" alt=""/>
-                        </div>
-                        <div className="row">
-                            <div className="floating-wrap">
-                                {/*<h4>*/}
-                                {/*    Join Us*/}
-                                {/*</h4>*/}
-
-                                {/*<p>*/}
-                                {/*    Whether you're looking for your next job opportunity or searching for the perfect candidate, Job Vista is here to support you every step of the way. Join our community today and take the next step towards a brighter future.*/}
-                                {/*</p>*/}
-                                <div className="row">
-                                    <div className="col-md-6">
-                                        <div className="floating-inside-wrap">
-                                            <h2>120</h2>
-                                            <p>Total Recruiters</p>
-                                        </div>
-                                    </div>
-                                    <div className="col-md-6">
-                                        <div className="floating-inside-wrap">
-                                            <h2>2400+</h2>
-                                            <p>Total Job Seekers</p>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div className="row">
-                                    <div className="col-md-6">
-                                        <div className="floating-inside-wrap">
-                                            <h2>240</h2>
-                                            <p>Total Job Listings</p>
-                                        </div>
-                                    </div>
-                                    <div className="col-md-6">
-                                        <div className="floating-inside-wrap">
-                                            <h2>4000+</h2>
-                                            <p>Total Applications</p>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                </div>
-            </div>
-
-        </div>
-    )
-}
Index: jobvista-frontend/src/views/static/ErrorPage.js
===================================================================
--- jobvista-frontend/src/views/static/ErrorPage.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,17 +1,0 @@
-import "./NoAccess.css"
-export const ErrorPage = () => {
-    return (
-        <div className="d-flex align-items-center justify-content-center vh-100 landing-page">
-            <div className="text-center">
-                <h1 className="display-1 fw-bold">404</h1>
-                <p className="fs-3"><span className="text-danger">Opps!</span> Page not found.</p>
-                <p className="lead">
-                    The page you’re looking for is not available or doesn’t exist.
-                </p>
-                {/*{user && <Link to="/dashboard" className="go-back-btn">Go back</Link>}*/}
-                {/*{!user && <Link to="/" className="go-back-btn">Go back</Link>}*/}
-
-            </div>
-        </div>
-    )
-}
Index: jobvista-frontend/src/views/static/Header.css
===================================================================
--- jobvista-frontend/src/views/static/Header.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/views/static/Header.css	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -6,5 +6,4 @@
     background-size: contain;
     margin-right: 0;
-
 }
 
@@ -19,14 +18,10 @@
 
 .navbar {
-    width: 100%;
     height: 80px;
-    background-color: #f8f9fa;
-    font-family: Poppins, sans-serif;
-    position: fixed;
-    z-index: 10;
-    box-sizing: border-box;
+    background-color: #535C91;
 }
 
 .navbar .nav-item {
+
     color: rgba(1,38,90,0.9);
     margin-right: 15px;
@@ -35,4 +30,5 @@
     font-size: 20px;
     font-weight: 600;
+    //font-family: 'Ubuntu', sans-serif;
     font-family: Poppins, sans-serif;
 }
@@ -40,4 +36,5 @@
     color: white;
     background-color: rgba(1,38,90,0.9);
+    /*border-bottom: 3px solid rgba(1,38,90,0.9);*/
 }
 .active {
@@ -46,157 +43,29 @@
 }
 
-/*NOVO*/
-
-:root {
-    --gray: #555;
-    --purple: #4e65ff;
-    --green-blue: #92effd;
-    --white: #fff;
-}
-
-.navigation {
-    position: fixed;
-    top: 10px;
-    right: 20px;
-    width: 120px;
-    height: 60px;
-    display: flex;
-    justify-content: space-between;
-    border-radius: 5px;
-    background: var(--white);
-    box-shadow: 0 25px 35px rgba(0, 0, 0, 0.3);
-    /*box-shadow: 0px 0px 18px 4px rgba(0,0,0,0.46);*/
-    overflow: hidden;
-    transition: height 0.5s, width 0.5s;
-    transition-delay: 0s, 0.3s;
-    z-index: 15;
-    /*border: 2px solid var(--gray);*/
-}
-
-.navigation .user-box {
-    position: relative;
-    width: 60px;
-    height: 60px;
-    display: flex;
-    align-items: center;
-    overflow: hidden;
-    transition: 0.3s;
-    transition-delay: 0.3s;
-}
-
-.navigation .user-box .username {
-    font-size: 1.2rem;
-     font-weight: bold;
-    white-space: nowrap;
-    margin: 0;
-    color: black;
-    padding-top: 10px;
+.user {
 
 }
 
-.navigation .user-box .role {
-    color: darkgray;
-    margin-bottom: 10px;
-    font-size: 1rem;
-}
-
-.navigation .user-box .image-box {
-    position: relative;
-    min-width: 60px;
-    height: 60px;
-    background: var(--white);
-    border-radius: 50%;
-    overflow: hidden;
-    border: 10px solid var(--white);
+.auth-box {
+    display: inline-block;
+    margin-right: 35px;
+    margin-left: 5px;
+    //height: 50px;
 
 }
 
-.navigation .user-box .image-box img {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    object-fit: cover;
-    /*border: 1px solid black*/
+.user {
+    color: black;
+    padding-top: 10px;
+    margin-bottom: 0;
+
 }
 
-.navigation .menu-toggle {
-    position: relative;
-    width: 60px;
-    height: 60px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    cursor: pointer;
-}
+.role {
+    color: darkgray;
+    margin-bottom: 10px;
+    font-size: 15px;
 
-.navigation .menu-toggle::before {
-    content: "";
-    position: absolute;
-    width: 32px;
-    height: 2px;
-    background: var(--gray);
-    transform: translateY(-10px);
-    box-shadow: 0 10px var(--gray);
-    transition: 0.5s;
-}
-
-.navigation .menu-toggle::after {
-    content: "";
-    position: absolute;
-    width: 32px;
-    height: 2px;
-    background: var(--gray);
-    transform: translateY(10px);
-    transition: 0.5s;
-}
-
-.menu {
-    position: absolute;
-    width: 100%;
-    /*height: calc(100% - 60px);*/
-    margin-top: 60px;
-    padding: 0;
-    border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-.menu .menu-link {
-    text-decoration: none;
-    color: black;
-    display: flex;
-    align-items: center;
-    gap: 10px;
-    font-size: 1.1rem;
-    padding: 15px 30px;
-}
-.menu .menu-link:hover {
-    background-color: #EEEEEE;
 }
 
 
-.navigation.active .menu-toggle::before {
-    transform: translateY(0px) rotate(45deg);
-    box-shadow: none;
-}
-
-.navigation.active .menu-toggle::after {
-    transform: translateY(0px) rotate(-45deg);
-}
-
-.navigation.active {
-    width: 300px;
-    height: 175px;
-    transition: width 0.3s, height 0.3s;
-    transition-delay: 0s, 0.3s;
-}
-
-.navigation.active .user-box {
-    width: calc(100% - 60px);
-    transition-delay: 0s;
-}
-
-
-
-
-
Index: jobvista-frontend/src/views/static/Header.js
===================================================================
--- jobvista-frontend/src/views/static/Header.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ jobvista-frontend/src/views/static/Header.js	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,82 +1,27 @@
 import {Link, NavLink} from "react-router-dom";
 import "./Header.css"
-import {jwtDecode} from "jwt-decode";
 import {useDispatch, useSelector} from 'react-redux';
 import {useEffect, useState} from "react";
 import {AuthActions} from "../../redux/actions/authActions";
 import Roles from "../../enumerations/Roles";
-import {useNavigate} from "react-router";
-import {AUTH_TOKEN} from "../../axios/axiosInstance";
-import {JobSeekerActions} from "../../redux/actions/JobSeekerActions";
-import {RecruiterActions} from "../../redux/actions/recruiterActions";
 
-export const Header = (props) => {
+export const Header = () => {
 
     const auth = useSelector(state => state.auth.currentUser);
     const dispatch = useDispatch();
-    const navigator = useNavigate();
 
-    const [role, setRole] = useState("");
-    const [username, setUsername] = useState("");
-    const [user, setUser] = useState("");
-
-    const [profilePics, setProfilePics] = useState({});
-    let profilePicState = useSelector(state => state.images.profilePictures);
-    const [profilePicDispatched, setProfilePicDispatched] = useState(false);
-
-    const [logos, setLogos] = useState({});
-    let logoState = useSelector(state => state.images.logos);
-    const [logoDispatched, setLogoDispatched] = useState(false);
+    const [role, setRole] = useState(null);
+    const [username, setUsername] = useState(null);
 
     const signOut = () => {
         dispatch(AuthActions.signOut());
         window.location = "/";
-        //navigator("/")
     }
-    const [isActive, setIsActive] = useState(false);
-
-    const toggleMenu = () => {
-        setIsActive(!isActive);
-    };
 
     useEffect(() => {
-        const token = localStorage.getItem(AUTH_TOKEN);
-        if (token != null) {
-            try {
-                const decodedToken = jwtDecode(token);
-                setUser({
-                    name: decodedToken.name,
-                    role: decodedToken.role,
-                    hasAccess: decodedToken.hasAccess,
-                    id: decodedToken.id
-                });
-            } catch (error) {
-                console.error('Failed to decode token', error);
-            }
-        }
-    }, [auth]);
 
-    useEffect(() => {
         if (auth) {
             setRole(auth.role);
             setUsername(auth.name);
-
-            console.log("ROLE: " + auth.role)
-
-            if (auth.role === Roles.JOBSEEKER) {
-                dispatch(JobSeekerActions.downloadProfilePic(auth.id, (success, reponse) => {
-                    if (success) {
-                        setProfilePics(prevState => ({...prevState, [auth.id]: reponse}))
-                        console.log(reponse)
-                    }
-                }))
-            } else if (auth.role === Roles.RECRUITER) {
-                dispatch(RecruiterActions.downloadLogo(auth.id, (success, reponse) => {
-                    if (success) {
-                        setLogos(prevState => ({...prevState, [auth.id]: reponse}))
-                        console.log(reponse)
-                    }
-                }))
-            }
         }
     }, [auth]);
@@ -85,73 +30,43 @@
         <nav className="navbar navbar-expand-lg bg-light">
             <div className="container-fluid">
-                <Link to="/" className="logo"/>
-                <Link to="/" className="brand-name"/>
-                <div className="navbar-collapse">
+                <Link to="/" className="logo navbar-brand" />
+                <Link to="/" className="brand-name navbar-brand" />
+                <div className="collapse navbar-collapse" id="navbarSupportedContent">
                     <ul className="navbar-nav me-auto mb-2 mb-lg-0">
-                        <NavLink to="/" className="nav-item nav-link">Home</NavLink>
-                        {role == Roles.JOBSEEKER &&
+                        <NavLink to="/" className="nav-item nav-link" activeClassName="active">Home</NavLink>
+                        {role==Roles.JOBSEEKER &&
                             <>
-                                <NavLink to="/my-applications" className="nav-item nav-link">My Applications</NavLink>
+                                <NavLink to="/applications" className="nav-item nav-link" activeClassName="active">Applications</NavLink>
+                                <NavLink to="/favoritejobs" className="nav-item nav-link" activeClassName="active">Saved</NavLink>
+                            </>
+
+                        }
+                        {role==Roles.RECRUITER &&
+                            <>
+                                <NavLink to="/jobadvertisements" className="nav-item nav-link" activeClassName="active">Job Advertisements</NavLink>
+                                <NavLink to="/favoritejobs" className="nav-item nav-link" activeClassName="active">Saved</NavLink>
                             </>
                         }
-                        {role == Roles.RECRUITER &&
-                            <>
-                                <NavLink to="/job-management-hub" className="nav-item nav-link">Job Management Hub</NavLink>
-                            </>
-                        }
-                        {role === Roles.ADMIN &&
-                            <>
-                                <NavLink to="/admin-panel" className="nav-item nav-link">Admin Panel</NavLink>
-                            </>
-                        }
-                        <NavLink to="/about" className="nav-item nav-link">About Us</NavLink>
-                        {/*<NavLink to="/contact" className="nav-item nav-link">Support</NavLink>*/}
+                        <NavLink to="/about" className="nav-item nav-link">About</NavLink>
+                        <NavLink to="/contact" className="nav-item nav-link">Contact</NavLink>
                     </ul>
+
+                    {auth ?
+                        <>
+                            <img src="/images/user.png" width="45" height="45"/>
+                            <div className="auth-box">
+                                <p className="user"><b>{username}</b></p>
+                                <p className="role">{role==Roles.RECRUITER ? "Recruiter" : "Job Seeker"}</p>
+                            </div>
+
+
+                            <Link onClick={signOut} className="btn btn-outline-secondary">Log out</Link>
+                        </> :
+                        <>
+                            <Link to="/signin" className="btn btn-outline-secondary">Sign in</Link>
+                        </>
+                    }
+
                 </div>
-                {(auth.role === Roles.RECRUITER || auth.role === Roles.ADMIN || auth.role === Roles.JOBSEEKER) ?
-                    <>
-                        <div className={`navigation ${isActive ? 'active' : ''}`}>
-                            <div className="user-box">
-                                <div className="image-box">
-                                    {user.role === Roles.JOBSEEKER && <img src={profilePicState[auth.id]} /> }
-                                    {user.role === Roles.RECRUITER && <img src={logoState[auth.id]} /> }
-                                    {user.role === Roles.ADMIN && <img src="/images/admin.jpg"/> }
-                                    {/*<img src="https://lh3.googleusercontent.com/a/ACg8ocJOmmRzyRWcuhJj_sCzIoxMeP1M1DOgQ1UeYsFoeJuFB4XgOAnS=s96-c"/>*/}
-                                </div>
-                                <div className="auth-box">
-                                    <p className="username">{user.name}</p>
-                                    {user.role === Roles.RECRUITER && <p className="role">Recruiter</p>}
-                                    {user.role === Roles.JOBSEEKER && <p className="role">Job Seeker</p>}
-                                    {user.role === Roles.ADMIN && <p className="role">Admin</p>}
-                                </div>
-
-                            </div>
-                            <div className="menu-toggle" onClick={toggleMenu}></div>
-                            <ul className="menu">
-                                {user.role == Roles.JOBSEEKER &&
-                                    <>
-                                        <Link to="/job-seeker/edit-profile" onClick={toggleMenu} className="menu-link">
-                                            <i className="fa-solid fa-pen-to-square"></i> Edit profile
-                                        </Link>
-                                    </>
-                                }
-                                {user.role == Roles.RECRUITER &&
-                                    <>
-                                        <Link to="/recruiter/edit-profile" onClick={toggleMenu} className="menu-link">
-                                            <i className="fa-solid fa-pen-to-square"></i> Edit profile
-                                        </Link>
-                                    </>
-                                }
-
-                                <Link onClick={signOut} className="menu-link">
-                                    <i className="fa-solid fa-right-from-bracket"></i> Log out
-                                </Link>
-                            </ul>
-                        </div>
-                    </> :
-                    <>
-                        <Link to="/signin" className="btn auth-secondary-btn">Sign in</Link>
-                    </>
-                }
             </div>
         </nav>
Index: jobvista-frontend/src/views/static/Loading.css
===================================================================
--- jobvista-frontend/src/views/static/Loading.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,34 +1,0 @@
-
-.loading-container {
-    display: flex;
-    height: 100vh;
-    justify-content: center;
-    align-items: center;
-    gap: 10px;
-    background-color: #f8f9fa;
-}
-
-.loading-logo {
-    width: 85px;
-    height: 85px;
-    display: inline-block;
-    background: url("../../../public/images/logo.png") no-repeat center center;
-    background-size: contain;
-
-}
-
-.loading-brand-name {
-    width: 275px;
-    height: 175px;
-    display: inline-block;
-    background: url("../../../public/images/brand-name-2.png") no-repeat center center;
-    background-size: contain;
-}
-
-.loading-signature {
-    width: 275px;
-    height: 175px;
-    display: inline-block;
-    background: url("../../../public/images/signature.png") no-repeat center center;
-    background-size: contain;
-}
Index: jobvista-frontend/src/views/static/Loading.js
===================================================================
--- jobvista-frontend/src/views/static/Loading.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,12 +1,0 @@
-import "./Loading.css"
-
-export const Loading = () => {
-    return (
-        <div className="loading-container">
-            <div className="loading-logo"></div>
-            <div className="loading-brand-name"></div>
-
-            {/*<div className="loading-signature"></div>*/}
-        </div>
-    )
-}
Index: jobvista-frontend/src/views/static/NoAccess.css
===================================================================
--- jobvista-frontend/src/views/static/NoAccess.css	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,38 +1,0 @@
-
-.landing-page {
-    background-color: #031c30;
-    background-image: url("https://www.gstatic.com/mobilesdk/190424_mobilesdk/nav_nachos@2x.png");
-    background-position: bottom 0;
-    background-size: 250vh 170vh;
-    background-repeat: no-repeat;
-    /*background-image: url("/public/wallet-images/proba3.jpg");*/
-    /*background-size: cover;*/
-    /*background-image: url("../../public/logo.png");*/
-    /*background-repeat: no-repeat;*/
-    /*background-position: center;*/
-    /*background-size: 25%;*/
-    width: 100%;
-    height: 100vh;
-    z-index: 9999;
-    position: fixed;
-}
-
-.text-center {
-    color: white;
-    transform: scale(1.5);
-}
-
-.go-back-btn {
-    text-decoration: none;
-    background-color: white;
-    border-radius: 12px;
-    padding: 5px 15px;
-    color: #C41E3A;
-    font-weight: bold;
-    border: none;
-    transition: 0.3s;
-}
-
-.go-back-btn:hover {
-    opacity: 0.6;
-}
Index: jobvista-frontend/src/views/static/NoAccess.js
===================================================================
--- jobvista-frontend/src/views/static/NoAccess.js	(revision 4d97b633e131eca76d6c290321725684fc1d5970)
+++ 	(revision )
@@ -1,28 +1,0 @@
-import "./NoAccess.css"
-import {Link, NavLink} from "react-router-dom";
-import {AuthActions} from "../../redux/actions/authActions";
-import {useDispatch} from "react-redux";
-
-
-export const NoAccess = (props) => {
-
-    const dispatch = useDispatch();
-    const signOut = () => {
-        dispatch(AuthActions.signOut());
-        window.location = "/";
-    }
-
-    return (
-        <div className="d-flex align-items-center justify-content-center vh-100 landing-page">
-            <div className="text-center">
-                <p className="fs-3 fw-bold text-uppercase">Thank you for registering!</p>
-                <p className="lead">
-                    Your application has been received and is pending review. We will contact you soon for further authentication. <br/> Please check your email for updates.
-                </p>
-                {props.user && <button onClick={signOut} className="go-back-btn">Log out</button>}
-
-
-            </div>
-        </div>
-    )
-}
