Correction in Attendance page.

This commit is contained in:
Kartik Sharma 2025-12-13 11:37:53 +05:30
parent a9bbd75d6c
commit fa694d8361

View File

@ -136,6 +136,15 @@ const AttendancePage = () => {
: []), : []),
]; ];
// --- END: Tab Configuration Array // --- END: Tab Configuration Array
useEffect(() => {
if (!orgLoading && organizations?.length === 1) {
setAppliedFilters((prev) => ({
...prev,
selectedOrganization: organizations[0].id,
}));
}
}, [orgLoading, organizations]);
return ( return (
<> <>
@ -173,19 +182,21 @@ const AttendancePage = () => {
{/* Tabs header with search and filter */} {/* Tabs header with search and filter */}
<div className="nav-align-top nav-tabs-shadow bg-white border-bottom pt-5"> <div className="nav-align-top nav-tabs-shadow bg-white border-bottom pt-5">
<div className="row align-items-center g-0 mb-3 mb-md-0 mx-1 mx-sm-5"> <div className="row align-items-center g-0 mb-3 mb-md-0 mx-1 mx-sm-5">
{/* Tabs Buttons */}
{/* Tabs Buttons - Now col-12 col-md-6 */} <div className="col-12 col-md mt-1">
<div className="col-12 col-md-6 mt-1">
<ul className="nav nav-tabs" role="tablist"> <ul className="nav nav-tabs" role="tablist">
{tabsData.map((tab) => ( {tabsData.map((tab) => (
<li <li
className={`nav-item ${tab.id === "regularization" && !DoRegularized ? "d-none" : "" className={`nav-item ${tab.id === "regularization" && !DoRegularized
}`} ? "d-none"
: ""
}`} // Keep the d-none logic for regularization, although it's filtered above
key={tab.id} key={tab.id}
> >
<button <button
type="button" type="button"
className={`nav-link ${activeTab === tab.id ? "active" : ""} fs-6`} className={`nav-link ${activeTab === tab.id ? "active" : ""
} fs-6`}
onClick={() => handleTabChange(tab.id)} onClick={() => handleTabChange(tab.id)}
data-bs-toggle="tab" data-bs-toggle="tab"
data-bs-target={`#navs-top-${tab.id}`} data-bs-target={`#navs-top-${tab.id}`}
@ -197,51 +208,29 @@ const AttendancePage = () => {
</ul> </ul>
</div> </div>
{/* Search + Organization Filter - Now col-12 col-md-6 */} {/* Search + Organization filter */}
<div className="col-12 col-md-6 mb-2 mt-md-0"> <div className="col-12 col-md-auto mb-2 mt-md-0 ms-md-auto nav">
<div className="row g-0"> <div className="row g-2">
{/* Organization */}
<div className="col-12 col-sm-6"> <div className="col-12 col-sm-6">
<select
{/* If only 1 organization → show name only */} className="form-select form-select-sm"
{!orgLoading && organizations?.length === 1 && ( value={appliedFilters.selectedOrganization}
<h5 className="m-0 ">{organizations[0].name}</h5> onChange={(e) =>
)} setAppliedFilters((prev) => ({
...prev,
{/* If multiple organizations → show dropdown */} selectedOrganization: e.target.value,
{!orgLoading && organizations?.length > 1 && ( }))
<select }
className="form-select form-select-sm" disabled={orgLoading}
value={appliedFilters.selectedOrganization} >
onChange={(e) => <option value="">All Organizations</option>
setAppliedFilters((prev) => ({ {organizations?.map((org, ind) => (
...prev, <option key={`${org.id}-${ind}`} value={org.id}>
selectedOrganization: e.target.value, {org.name}
})) </option>
} ))}
disabled={orgLoading} </select>
>
<option value="">All Organizations</option>
{organizations?.map((org, ind) => (
<option key={`${org.id}-${ind}`} value={org.id}>
{org.name}
</option>
))}
</select>
)}
{/* Loading case (optional) */}
{orgLoading && (
<div className="form-control form-control-sm disabled">
Loading...
</div>
)}
</div> </div>
{/* Search */}
<div className="col-12 col-sm-6"> <div className="col-12 col-sm-6">
<input <input
type="text" type="text"
@ -251,14 +240,11 @@ const AttendancePage = () => {
onChange={(e) => setSearchTerm(e.target.value)} onChange={(e) => setSearchTerm(e.target.value)}
/> />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{/* Tab Content */} {/* Tab Content */}
<div className="tab-content attedanceTabs py-0 px-1 px-sm-3 pb-10"> <div className="tab-content attedanceTabs py-0 px-1 px-sm-3 pb-10">
{selectedProject ? ( {selectedProject ? (