UI Misaligned on Toggling 'Show Inactive Contact' When No Inactive Contacts Exist in Directory at projects. #236

Merged
vikas.nale merged 3 commits from Kartik_bug#649 into Issues_July_2W 2025-07-10 05:18:10 +00:00
3 changed files with 81 additions and 47 deletions

View File

@ -836,7 +836,7 @@ progress {
} }
.row { .row {
--bs-gutter-x: 1.625rem; --bs-gutter-x: 3.625rem;
--bs-gutter-y: 0; --bs-gutter-y: 0;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;

View File

@ -38,7 +38,7 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
const [IsDeleting, setDeleting] = useState(false); const [IsDeleting, setDeleting] = useState(false);
const [openBucketModal, setOpenBucketModal] = useState(false); const [openBucketModal, setOpenBucketModal] = useState(false);
const [notes, setNotes] = useState([]); const [notes, setNotes] = useState([]);
const [filterAppliedNotes, setFilterAppliedNotes] = useState([]); const [filterAppliedNotes, setFilterAppliedNotes] = useState([]);
// const [selectedOrgs, setSelectedOrgs] = useState([]); // const [selectedOrgs, setSelectedOrgs] = useState([]);
// Changed to an array for multiple selections // Changed to an array for multiple selections
@ -361,25 +361,35 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
</div> </div>
</div> </div>
<div className="card-minHeight mt-0"> <div className="card-minHeight mt-0">
{(viewType === "card" || viewType === "list" || viewType === "notes") && ( {/* LIST VIEW */}
<div className="d-flex flex-column justify-content-center align-items-center text-center">
{!loading && (viewType === "card" || viewType === "list") && contacts?.length === 0 && (
<p className="mt-10">No contact found</p>
)}
{!loading &&
(viewType === "card" || viewType === "list") &&
contacts?.length > 0 &&
currentItems.length === 0 && (
<p className="mt-10">No matching contact found</p>
)}
</div>
)}
{viewType === "list" && ( {viewType === "list" && (
<div className="card cursor-pointer mt-5"> <div className="card cursor-pointer mt-3">
<div className="card-body p-2 pb-1"> <div className="card-body p-2 pb-1" style={{ minHeight: "200px" }}>
<DirectoryListTableHeader> <DirectoryListTableHeader>
{!loading && {!loading && contacts?.length === 0 ? (
<tr>
<td colSpan="6">
<div
className="d-flex justify-content-center align-items-center"
style={{ height: "150px",marginLeft: "230px" }}
>
<p className="mb-0 text-muted">No contact found</p>
</div>
</td>
</tr>
) : !loading && contacts?.length > 0 && currentItems.length === 0 ? (
<tr>
<td colSpan="6">
<div
className="d-flex justify-content-center align-items-center"
style={{ height: "150px" }}
>
<p className="mb-0 text-muted">No matching contact found</p>
</div>
</td>
</tr>
) : (
!loading &&
currentItems.map((contact) => ( currentItems.map((contact) => (
<ListViewDirectory <ListViewDirectory
key={contact.id} key={contact.id}
@ -392,35 +402,55 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
IsDeleted={setDeleteContact} IsDeleted={setDeleteContact}
restore={handleDeleteContact} restore={handleDeleteContact}
/> />
))} ))
)}
</DirectoryListTableHeader> </DirectoryListTableHeader>
</div> </div>
</div> </div>
)} )}
{/* CARD VIEW */}
{viewType === "card" && ( {viewType === "card" && (
<div className="row mt-4"> <>
{!loading && {contacts?.length === 0 && !loading ? (
currentItems.map((contact) => ( <div
<div className="d-flex justify-content-center align-items-center text-center"
key={contact.id} style={{ minHeight: "200px" }}
className="col-12 col-sm-6 col-md-4 col-lg-4 mb-4" >
> <p className="text-muted mb-0">No contact found</p>
<CardViewDirectory </div>
IsActive={IsActive} ) : currentItems.length === 0 && !loading ? (
contact={contact} <div
setSelectedContact={setSelectedContact} className="d-flex justify-content-center align-items-center text-center"
setIsOpenModal={setIsOpenModal} style={{ minHeight: "250px" }}
setOpen_contact={setOpen_contact} >
setIsOpenModalNote={setIsOpenModalNote} <p className="text-muted mb-0">No matching contact found</p>
IsDeleted={setDeleteContact} </div>
restore={handleDeleteContact} ) : (
/> <div className="row mt-4">
</div> {currentItems.map((contact) => (
))} <div
</div> key={contact.id}
className="col-12 col-sm-6 col-md-4 col-lg-4 mb-4"
>
<CardViewDirectory
IsActive={IsActive}
contact={contact}
setSelectedContact={setSelectedContact}
setIsOpenModal={setIsOpenModal}
setOpen_contact={setOpen_contact}
setIsOpenModalNote={setIsOpenModalNote}
IsDeleted={setDeleteContact}
restore={handleDeleteContact}
/>
</div>
))}
</div>
)}
</>
)} )}
{/* NOTES VIEW */}
{viewType === "notes" && ( {viewType === "notes" && (
<div className="mt-0"> <div className="mt-0">
<NotesCardViewDirectory <NotesCardViewDirectory
@ -428,12 +458,12 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
setNotesForFilter={setNotes} setNotesForFilter={setNotes}
searchText={searchText} searchText={searchText}
setIsOpenModalNote={setIsOpenModalNote} setIsOpenModalNote={setIsOpenModalNote}
filterAppliedNotes={filterAppliedNotes} filterAppliedNotes={filterAppliedNotes}
/> />
</div> </div>
)} )}
{/* Pagination */} {/* PAGINATION */}
{!loading && {!loading &&
viewType !== "notes" && viewType !== "notes" &&
contacts?.length > 0 && contacts?.length > 0 &&
@ -464,7 +494,10 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
</li> </li>
))} ))}
<li className={`page-item ${currentPage === totalPages ? "disabled" : ""}`}> <li
className={`page-item ${currentPage === totalPages ? "disabled" : ""
}`}
>
<button <button
className="page-link" className="page-link"
onClick={() => paginate(currentPage + 1)} onClick={() => paginate(currentPage + 1)}
@ -476,6 +509,7 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
</nav> </nav>
)} )}
</div> </div>
</div> </div>
); );
}; };

View File

@ -81,7 +81,7 @@ const ProjectDetails = () => {
case "profile": { case "profile": {
return ( return (
<> <>
<div className="row"> <div className="row ">
<div className="col-lg-4 col-md-5 mt-5"> <div className="col-lg-4 col-md-5 mt-5">
{/* About User */} {/* About User */}
<AboutProject data={projectDetails}></AboutProject> <AboutProject data={projectDetails}></AboutProject>
@ -139,7 +139,7 @@ const ProjectDetails = () => {
} }
case "directory": { case "directory": {
return ( return (
<div className="row"> <div className="row mt-2">
<Directory IsPage={false} prefernceContacts={projectDetails.id} /> <Directory IsPage={false} prefernceContacts={projectDetails.id} />
</div> </div>
); );
@ -193,7 +193,7 @@ const ProjectDetails = () => {
]} ]}
></Breadcrumb> ></Breadcrumb>
<div className="row"> <div className="row ">
{projectLoading && <p>Loading....</p>} {projectLoading && <p>Loading....</p>}
{/* {!projectLoading && project && ( {/* {!projectLoading && project && (
<ProjectBanner project_data={project}></ProjectBanner> <ProjectBanner project_data={project}></ProjectBanner>