Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 95x 5x 9x 9x 9x 5x 5x 5x 5x 5x 1x 4x 3x | import { useMemo } from "react"; import { Authority, opensearch } from "shared-types"; import { useGetUser } from "@/api/useGetUser"; import { DetailsSection, LoadingSpinner } from "@/components"; import { useFeatureFlag } from "@/hooks/useFeatureFlag"; import { getApprovedAndEffectiveDetails, getDescriptionDetails, getSubmissionDetails, getSubmittedByDetails, } from "./details"; import { LabelAndValue } from "./details"; type PackageDetailsGridProps = { details: LabelAndValue[]; }; const PackageDetailsGrid = ({ details }: PackageDetailsGridProps) => ( <div className="two-cols gap-y-6 sm:gap-y-6"> {details.map(({ label, value, canView = true }) => { return canView ? ( <div key={label}> <h3 className="font-bold">{label}</h3> <div className="py-2">{value}</div> </div> ) : null; })} </div> ); type PackageDetailsProps = { submission: opensearch.main.Document; }; export const PackageDetails = ({ submission }: PackageDetailsProps) => { const { data: user, isLoading: isUserLoading } = useGetUser(); const isCHIPDetailsEnabled = useFeatureFlag("CHIP_SPA_DETAILS"); const title = useMemo(() => { const hasChipSubmissionType = Array.isArray(submission.chipSubmissionType) && submission.chipSubmissionType.length > 0; const hasChipEligibilityAttachment = Array.isArray(submission.attachments?.chipEligibility?.files) && submission.attachments.chipEligibility.files.length > 0; Iif (isCHIPDetailsEnabled && (hasChipSubmissionType || hasChipEligibilityAttachment)) { return "CHIP Eligibility SPA Package Details"; } switch (submission.authority) { //possibly add option for chip eligibility here case Authority["1915b"]: case Authority["1915c"]: case undefined: if (submission.actionType === "Amend" && submission.authority === Authority["1915c"]) return "1915(c) Appendix K Amendment Package Details"; if (submission.actionType === "Extend") return "Temporary Extension Request Details"; } return `${submission.authority} Package Details`; }, [submission, isCHIPDetailsEnabled]); if (isUserLoading) return <LoadingSpinner />; return ( <DetailsSection id="package_details" title={title} childrenClassName="grid gap-y-8"> <div> <PackageDetailsGrid details={[ ...getSubmissionDetails(submission, user, isCHIPDetailsEnabled), ...getApprovedAndEffectiveDetails(submission, user, isCHIPDetailsEnabled), ...getDescriptionDetails(submission, user, isCHIPDetailsEnabled), ]} /> <hr className="my-4" /> <PackageDetailsGrid details={getSubmittedByDetails(submission, user, isCHIPDetailsEnabled)} /> </div> </DetailsSection> ); }; |