Skip to content

Commit

Permalink
Merge pull request #267 from jadmsaadaot/SUBMIT-task#309
Browse files Browse the repository at this point in the history
hide created and new status if revision required
  • Loading branch information
jadmsaadaot authored Jan 29, 2025
2 parents 27b6e1f + b72fd11 commit d3cd5e3
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
import {
NON_CANONICAL_PACKAGE_STATUS,
PACKAGE_STATUS,
PackageStatus,
SubmissionPackage,
} from "@/models/Package";
import { Box, Stack } from "@mui/material";
import PackageStatusChip from ".";
import { When } from "react-if";
import { Unless, When } from "react-if";
import {
UPDATE_REQUEST_STATUS,
UPDATE_REQUEST_TYPE,
} from "@/models/UpdateRequest";
import { useMemo } from "react";
import { useCallback, useMemo } from "react";
import { filterOpenUpdateRequests } from "@/utils";

type PackageStatusChipStackProps = {
Expand Down Expand Up @@ -47,11 +49,45 @@ export const PackageStatusChipStack = ({
);
}, [submissionPackage.update_requests]);

const hideStatus = useCallback(
(status: PackageStatus) => {
const isNewOrCreated = [
PACKAGE_STATUS.CREATED.value,
PACKAGE_STATUS.NEW_SUBMISSION.value,
].includes(status);

if (isNewOrCreated && isRevisionRequired) {
return true;
}
const notFirstVersion = submissionPackage.version.version > 1;
const alreadySubmitted = Boolean(submissionPackage.submitted_on);
if (isNewOrCreated && (notFirstVersion || alreadySubmitted)) {
return true;
}
return false;
},
[
submissionPackage.submitted_on,
submissionPackage.version.version,
isRevisionRequired,
],
);

const hideStatusMap: Record<PackageStatus, boolean> = useMemo(() => {
const entries = submissionPackage.status.map((status) => [
status,
hideStatus(status),
]);
return Object.fromEntries(entries);
}, [submissionPackage.status, hideStatus]);

return (
<Box sx={{ display: "inline-block", width: "fit-content" }}>
<Stack direction="column" spacing={1} alignItems={"flex-end"}>
{status.map((value) => (
<PackageStatusChip key={value} status={value} />
<Unless condition={hideStatusMap[value]} key={value}>
<PackageStatusChip key={value} status={value} />
</Unless>
))}
<When
condition={
Expand Down
2 changes: 1 addition & 1 deletion submit-web/src/models/Package.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export type SubmissionPackageMeta = Record<string, number | string>;
export type PackageVersion = {
id: number;
package_id: number;
version: string;
version: number;
original_package_id: number;
};

Expand Down

0 comments on commit d3cd5e3

Please sign in to comment.