added icon for select project

This commit is contained in:
Pramod Mahajan 2025-06-11 17:31:28 +05:30
parent ce1bdc3df7
commit 4bb4f8fc17

View File

@ -5,24 +5,19 @@ import { useDispatch, useSelector } from "react-redux";
import { changeMaster, setProjectId } from "../../slices/localVariablesSlice"; import { changeMaster, setProjectId } from "../../slices/localVariablesSlice";
import useMaster from "../../hooks/masterHook/useMaster"; import useMaster from "../../hooks/masterHook/useMaster";
import { useProfile } from "../../hooks/useProfile"; import { useProfile } from "../../hooks/useProfile";
import { useNavigate } from "react-router-dom"; import { useLocation, 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 { projects, loading: projectLoading } = useProjects(); const location = useLocation();
// const selectedProject = useSelector( const [isGlobalSelectVisible, setIsGlobalSelectVisible] = useState(true);
// (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 getRole = (roles, joRoleId) => { const getRole = (roles, joRoleId) => {
if (!Array.isArray(roles)) return "User"; if (!Array.isArray(roles)) return "User";
@ -74,27 +69,30 @@ const Header = () => {
(store) => store.localVariables.projectId (store) => store.localVariables.projectId
); );
const selectedProjectName = projects?.find( const selectedProjectName = projects?.find(
(p) => p?.id === selectedProject (p) => p?.id === selectedProject
)?.name; )?.name;
let displayText = ""; let displayText = "";
if (selectedProjectName) { if (selectedProjectName) {
displayText = selectedProjectName; displayText = selectedProjectName;
} else if (projectLoading && selectedProject) { } else if (projectLoading && selectedProject) {
displayText = selectedProject; displayText = selectedProject;
} else if (projectLoading) { } else if (projectLoading) {
displayText = "Loading..."; displayText = "Loading...";
} }
const { openChangePassword } = useChangePassword(); const { openChangePassword } = useChangePassword();
useEffect( () => useEffect(() => {
{ if (projects && selectedProject !== " ") {
if ( projects && selectedProject !== ' ') dispatch(setProjectId(projects[0]?.id));
{
dispatch(setProjectId(projects[0]?.id))
} }
},[projects]) setIsGlobalSelectVisible(
location.pathname !== `/projects/${selectedProject}`
);
}, [projects, selectedProject]);
console.log(isGlobalSelectVisible);
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"
@ -113,40 +111,18 @@ if (selectedProjectName) {
id="navbar-collapse" id="navbar-collapse"
> >
<div className=" align-items-center"> <div className=" align-items-center">
{/* <i
<li className="nav-item "> className="rounded-circle bx bx-building-house"
<label> style={{ fontSize: "xx-large" }}
<select ></i>
name="DataTables_Table_0_length"
aria-controls="DataTables_Table_0"
className="form-select form-select-sm"
value={selectedProject}
onChange={(e) => dispatch(setProjectId(e.target.value))}
aria-label=""
>
{!projectLoading &&
projects?.map((project) => (
<option value={project.id} key={project.id}>
{project.name}
</option>
))}
{projectLoading && (
<option value="Loading..." disabled>
Loading...
</option>
)}
</select>
</label>
</li> */}
<div className="btn-group"> <div className="btn-group">
<button <button
className="btn btn-sm-sm btn-xl dropdown-toggle" className="btn btn-sm-sm btn-xl dropdown-toggle px-1"
type="button" type="button"
data-bs-toggle="dropdown" data-bs-toggle="dropdown"
aria-expanded="false" aria-expanded="false"
> >
{displayText} {displayText}
</button> </button>
<ul className="dropdown-menu"> <ul className="dropdown-menu">
@ -162,6 +138,7 @@ if (selectedProjectName) {
))} ))}
</ul> </ul>
</div> </div>
{/* <div className="nav-item navbar-search-wrapper mb-0"> {/* <div className="nav-item navbar-search-wrapper mb-0">
<a className="nav-item nav-link search-toggler px-0" href="#"> <a className="nav-item nav-link search-toggler px-0" href="#">
<span <span