Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No close button once you open the discontinued prescriptions #6614

Merged
merged 7 commits into from
Nov 21, 2023
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 58 additions & 35 deletions src/Components/Medicine/MedicineAdministrationSheet/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ const MedicineAdministrationSheet = ({ readonly, is_prn }: Props) => {

const discontinuedPrescriptions = useQuery(MedicineRoutes.listPrescriptions, {
pathParams: { consultation },
query: { ...filters, discontinued: true },
query: {
...filters,
limit: showDiscontinued ? 100 : 1,
AshrafMd-1 marked this conversation as resolved.
Show resolved Hide resolved
discontinued: true,
},
prefetch: !showDiscontinued,
});

Expand Down Expand Up @@ -97,47 +101,66 @@ const MedicineAdministrationSheet = ({ readonly, is_prn }: Props) => {
)
}
/>

<ScrollOverlay
className="rounded-lg border shadow"
overlay={
<div className="flex items-center gap-2 pb-2">
<span className="text-sm">Scroll to view more prescriptions</span>
<CareIcon icon="l-arrow-down" className="animate-bounce text-2xl" />
</div>
}
disableOverlay={loading || !prescriptions?.length}
>
{loading && <Loading />}
{prescriptions?.length === 0 && <NoPrescriptions prn={is_prn} />}

{!!prescriptions?.length && (
<MedicineAdministrationTable
prescriptions={prescriptions}
pagination={pagination}
onRefetch={() => {
refetch();
discontinuedPrescriptions.refetch();
}}
/>
)}

{!showDiscontinued && !!discontinuedCount && (
<div className="rounded-lg border shadow">
<ScrollOverlay
overlay={
<div className="flex items-center gap-2 pb-2">
<span className="text-sm">Scroll to view more prescriptions</span>
<CareIcon
icon="l-arrow-down"
className="animate-bounce text-2xl"
/>
</div>
}
disableOverlay={
loading || !prescriptions?.length || !(prescriptions?.length > 1)
}
>
{loading ? (
<Loading />
) : (
<>
{prescriptions?.length === 0 && <NoPrescriptions prn={is_prn} />}
{!!prescriptions?.length && (
<MedicineAdministrationTable
prescriptions={prescriptions}
pagination={pagination}
onRefetch={() => {
refetch();
discontinuedPrescriptions.refetch();
}}
/>
)}
</>
)}
</ScrollOverlay>
{!!discontinuedCount && (
<ButtonV2
variant="secondary"
className="group sticky left-0 w-full rounded-b-lg rounded-t-none bg-gray-100"
onClick={() => setShowDiscontinued(true)}
onClick={() => !loading && setShowDiscontinued(!showDiscontinued)}
AshrafMd-1 marked this conversation as resolved.
Show resolved Hide resolved
>
<span className="flex w-full items-center justify-start gap-1 text-xs transition-all duration-200 ease-in-out group-hover:gap-3 md:text-sm">
<CareIcon icon="l-eye" className="text-lg" />
<span>
Show <strong>{discontinuedCount}</strong> discontinued
prescription(s)
{loading ? (
AshrafMd-1 marked this conversation as resolved.
Show resolved Hide resolved
<span className="flex w-full items-center justify-start gap-1 text-xs transition-all duration-200 ease-in-out group-hover:gap-3 md:text-sm">
<CareIcon icon="l-spinner-alt" className="text-lg" />
<span>Loading...</span>
</span>
) : (
<span className="flex w-full items-center justify-start gap-1 text-xs transition-all duration-200 ease-in-out group-hover:gap-3 md:text-sm">
<CareIcon
icon={showDiscontinued ? "l-eye-slash" : "l-eye"}
className="text-lg"
/>
<span>
{showDiscontinued ? "Hide" : "Show"}{" "}
<strong>{discontinuedCount}</strong> discontinued
prescription(s)
</span>
</span>
</span>
)}
</ButtonV2>
)}
</ScrollOverlay>
</div>
</div>
);
};
Expand Down
Loading