UI Misaligned on Toggling 'Show Inactive Contact' When No Inactive Contacts Exist in Directory at projects.
This commit is contained in:
parent
63c6d74434
commit
117dae81e4
@ -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
|
||||||
@ -353,7 +353,7 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
|
|||||||
setOpenBucketModal={setOpenBucketModal}
|
setOpenBucketModal={setOpenBucketModal}
|
||||||
contactsToExport={contacts}
|
contactsToExport={contacts}
|
||||||
notesToExport={notes}
|
notesToExport={notes}
|
||||||
selectedNoteNames={selectedNoteNames}
|
selectedNoteNames={selectedNoteNames}
|
||||||
setSelectedNoteNames={setSelectedNoteNames}
|
setSelectedNoteNames={setSelectedNoteNames}
|
||||||
notesForFilter={notes}
|
notesForFilter={notes}
|
||||||
setFilterAppliedNotes={setFilterAppliedNotes}
|
setFilterAppliedNotes={setFilterAppliedNotes}
|
||||||
@ -361,52 +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") && (
|
{/* Loader when switching between Active/Pending or filtering */}
|
||||||
<div className="d-flex flex-column justify-content-center align-items-center text-center">
|
{loading && (
|
||||||
{!loading && (viewType === "card" || viewType === "list") && contacts?.length === 0 && (
|
<div className="d-flex justify-content-center align-items-center py-5">
|
||||||
<p className="mt-10">No contact found</p>
|
<div className="spinner-border text-primary" role="status">
|
||||||
)}
|
<span className="visually-hidden">Loading...</span>
|
||||||
{!loading &&
|
|
||||||
(viewType === "card" || viewType === "list") &&
|
|
||||||
contacts?.length > 0 &&
|
|
||||||
currentItems.length === 0 && (
|
|
||||||
<p className="mt-10">No matching contact found</p>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{viewType === "list" && (
|
|
||||||
<div className="card cursor-pointer mt-5">
|
|
||||||
<div className="card-body p-2 pb-1">
|
|
||||||
<DirectoryListTableHeader>
|
|
||||||
{!loading &&
|
|
||||||
currentItems.map((contact) => (
|
|
||||||
<ListViewDirectory
|
|
||||||
key={contact.id}
|
|
||||||
IsActive={IsActive}
|
|
||||||
contact={contact}
|
|
||||||
setSelectedContact={setSelectedContact}
|
|
||||||
setIsOpenModal={setIsOpenModal}
|
|
||||||
setOpen_contact={setOpen_contact}
|
|
||||||
setIsOpenModalNote={setIsOpenModalNote}
|
|
||||||
IsDeleted={setDeleteContact}
|
|
||||||
restore={handleDeleteContact}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</DirectoryListTableHeader>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{viewType === "card" && (
|
{/* Empty state messages */}
|
||||||
<div className="row mt-4">
|
{!loading && (viewType === "card" || viewType === "list") && (
|
||||||
{!loading &&
|
<div className="d-flex flex-column justify-content-center align-items-center text-center">
|
||||||
currentItems.map((contact) => (
|
{contacts?.length === 0 && (
|
||||||
<div
|
<p className="mt-10">No contact found</p>
|
||||||
key={contact.id}
|
)}
|
||||||
className="col-12 col-sm-6 col-md-4 col-lg-4 mb-4"
|
{contacts?.length > 0 && currentItems.length === 0 && (
|
||||||
>
|
<p className="mt-10">No matching contact found</p>
|
||||||
<CardViewDirectory
|
)}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{/* List View */}
|
||||||
|
{!loading && viewType === "list" && currentItems.length > 0 && (
|
||||||
|
<div className="card cursor-pointer mt-5">
|
||||||
|
<div className="card-body p-2 pb-1">
|
||||||
|
<DirectoryListTableHeader>
|
||||||
|
{currentItems.map((contact) => (
|
||||||
|
<ListViewDirectory
|
||||||
|
key={contact.id}
|
||||||
IsActive={IsActive}
|
IsActive={IsActive}
|
||||||
contact={contact}
|
contact={contact}
|
||||||
setSelectedContact={setSelectedContact}
|
setSelectedContact={setSelectedContact}
|
||||||
@ -416,19 +399,44 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
|
|||||||
IsDeleted={setDeleteContact}
|
IsDeleted={setDeleteContact}
|
||||||
restore={handleDeleteContact}
|
restore={handleDeleteContact}
|
||||||
/>
|
/>
|
||||||
</div>
|
))}
|
||||||
))}
|
</DirectoryListTableHeader>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{viewType === "notes" && (
|
{/* Card View */}
|
||||||
|
{!loading && viewType === "card" && currentItems.length > 0 && (
|
||||||
|
<div className="row mt-4">
|
||||||
|
{currentItems.map((contact) => (
|
||||||
|
<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 */}
|
||||||
|
{!loading && viewType === "notes" && (
|
||||||
<div className="mt-0">
|
<div className="mt-0">
|
||||||
<NotesCardViewDirectory
|
<NotesCardViewDirectory
|
||||||
notes={notes}
|
notes={notes}
|
||||||
setNotesForFilter={setNotes}
|
setNotesForFilter={setNotes}
|
||||||
searchText={searchText}
|
searchText={searchText}
|
||||||
setIsOpenModalNote={setIsOpenModalNote}
|
setIsOpenModalNote={setIsOpenModalNote}
|
||||||
filterAppliedNotes={filterAppliedNotes}
|
filterAppliedNotes={filterAppliedNotes}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
@ -437,7 +445,7 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
|
|||||||
{!loading &&
|
{!loading &&
|
||||||
viewType !== "notes" &&
|
viewType !== "notes" &&
|
||||||
contacts?.length > 0 &&
|
contacts?.length > 0 &&
|
||||||
currentItems.length > ITEMS_PER_PAGE && (
|
filteredContacts.length > ITEMS_PER_PAGE && (
|
||||||
<nav aria-label="Page navigation">
|
<nav aria-label="Page navigation">
|
||||||
<ul className="pagination pagination-sm justify-content-end py-1">
|
<ul className="pagination pagination-sm justify-content-end py-1">
|
||||||
<li className={`page-item ${currentPage === 1 ? "disabled" : ""}`}>
|
<li className={`page-item ${currentPage === 1 ? "disabled" : ""}`}>
|
||||||
@ -464,7 +472,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,8 +487,10 @@ const Directory = ({ IsPage = true, prefernceContacts }) => {
|
|||||||
</nav>
|
</nav>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Directory;
|
export default Directory;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user