Compare commits

...

3 Commits

Author SHA1 Message Date
Pramod Mahajan
195ebd4f9b handled option chain error 2025-06-11 12:54:35 +05:30
Pramod Mahajan
ad0dfdda55 handle set default project initially 2025-06-11 12:53:42 +05:30
Pramod Mahajan
def2a9b6f3 changed font size of select button 2025-06-10 23:38:16 +05:30

View File

@ -8,16 +8,21 @@ import { useProfile } from "../../hooks/useProfile";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import Avatar from "../../components/common/Avatar"; import Avatar from "../../components/common/Avatar";
import { useChangePassword } from "../Context/ChangePasswordContext"; import { useChangePassword } from "../Context/ChangePasswordContext";
import {useProjects} from "../../hooks/useProjects"; import { useProjects } from "../../hooks/useProjects";
import {useEffect, useState} from "react"; import {useEffect, useState} from "react";
const Header = () => { const Header = () => {
const {profile} = useProfile(); const {profile} = useProfile();
const [selectedProjectId, setSelectedProjectId] = useState("all"); // const { projects, loading: projectLoading } = useProjects();
// const selectedProject = useSelector(
// (store) => store.localVariables.projectId
// );
// const [selectedProjectId, setSelectedProjectId] = useState("all");
const dispatch = useDispatch(changeMaster("Job Role")); const dispatch = useDispatch(changeMaster("Job Role"));
const { data, loading } = useMaster(); const { data, loading } = useMaster();
const navigate = useNavigate(); const navigate = useNavigate();
const {projects, loading:projectLoading} = useProjects()
const selectedProject = useSelector((store)=>store. localVariables.projectId)
const getRole = (roles, joRoleId) => { const getRole = (roles, joRoleId) => {
if (!Array.isArray(roles)) return "User"; if (!Array.isArray(roles)) return "User";
@ -63,17 +68,33 @@ const Header = () => {
const handleProfilePage = () => { const handleProfilePage = () => {
navigate(`/employee/${profile?.employeeInfo?.id}?for=attendance`); navigate(`/employee/${profile?.employeeInfo?.id}?for=attendance`);
}; };
const handleProjectselection = (project) => const { projects, loading: projectLoading } = useProjects();
const selectedProject = useSelector(
(store) => store.localVariables.projectId
);
const selectedProjectName = projects?.find(
(p) => p?.id === selectedProject
)?.name;
let displayText = "";
if (selectedProjectName) {
displayText = selectedProjectName;
} else if (projectLoading && selectedProject) {
displayText = selectedProject;
} else if (projectLoading) {
displayText = "Loading...";
}
const { openChangePassword } = useChangePassword();
useEffect( () =>
{ {
useDispatch(setProjectId(project.id)) if ( projects && selectedProject !== ' ')
setProject(project) {
dispatch(setProjectId(projects[0]?.id))
} }
},[projects])
const {openChangePassword} = useChangePassword();
return ( return (
<nav <nav
className="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme" className="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme"
@ -91,9 +112,8 @@ const Header = () => {
className="navbar-nav-right d-flex align-items-center justify-content-between" className="navbar-nav-right d-flex align-items-center justify-content-between"
id="navbar-collapse" id="navbar-collapse"
> >
{/* Search */}
<div className=" align-items-center"> <div className=" align-items-center">
{/* {/*
<li className="nav-item "> <li className="nav-item ">
<label> <label>
<select <select
@ -119,21 +139,17 @@ const Header = () => {
</label> </label>
</li> */} </li> */}
<div className="btn-group"> <div className="btn-group">
<button <button
className="btn btn-outline-primary btn-sm dropdown-toggle" className="btn btn-sm-sm btn-xl dropdown-toggle"
type="button" type="button"
data-bs-toggle="dropdown" data-bs-toggle="dropdown"
aria-expanded="false" aria-expanded="false"
> >
{selectedProject === " " {displayText}
? "All Projects"
: projects?.find((p) => p?.id === selectedProject)?.name || "Select Project"}
</button> </button>
<ul className="dropdown-menu"> <ul className="dropdown-menu">
{projects?.map((project) => ( {projects?.map((project) => (
<li key={project?.id}> <li key={project?.id}>
<button <button
@ -178,10 +194,7 @@ const Header = () => {
</div> */} </div> */}
</div> </div>
{/* icon list */}
<ul className="navbar-nav flex-row align-items-center ms-md-auto"> <ul className="navbar-nav flex-row align-items-center ms-md-auto">
<li className="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0"> <li className="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">
<a <a
className="nav-link dropdown-toggle hide-arrow" className="nav-link dropdown-toggle hide-arrow"
@ -688,7 +701,9 @@ const Header = () => {
</span> </span>
</a> </a>
</li> </li>
<li onClick={openChangePassword}> {/* Use the function from the context */} <li onClick={openChangePassword}>
{" "}
{/* Use the function from the context */}
<a <a
aria-label="go to profile" aria-label="go to profile"
className="dropdown-item cusor-pointer" className="dropdown-item cusor-pointer"