Skip to content

Commit 029ee7d

Browse files
committed
pass all vulns to children
1 parent 1a7a80a commit 029ee7d

File tree

3 files changed

+21
-44
lines changed

3 files changed

+21
-44
lines changed

apps/site/components/EOL/EOLModal/index.tsx

Lines changed: 9 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,7 @@ import UnknownSeveritySection from '#site/components/EOL/UnknownSeveritySection'
66
import VulnerabilitiesTable from '#site/components/EOL/VulnerabilitiesTable';
77
import { SEVERITY_ORDER } from '#site/next.constants.mjs';
88
import type { ModalProps } from '#site/types';
9-
import type {
10-
EOLModalData,
11-
KnownVulnerability,
12-
UnknownSeverityVulnerability,
13-
} from '#site/types/vulnerabilities';
9+
import type { EOLModalData } from '#site/types/vulnerabilities';
1410

1511
const EOLModal: FC<ModalProps<EOLModalData>> = ({
1612
open,
@@ -26,33 +22,14 @@ const EOLModal: FC<ModalProps<EOLModalData>> = ({
2622
})
2723
: t('components.eolModal.titleWithoutCodename', { version: release.major });
2824

29-
const [knownVulnerabilities, unknownVulnerabilities] = useMemo(
30-
() =>
31-
vulnerabilities.reduce(
32-
(acc, vulnerability) => {
33-
if (vulnerability.severity === 'unknown') {
34-
acc[1].push(vulnerability as UnknownSeverityVulnerability);
35-
} else {
36-
acc[0].push(vulnerability as KnownVulnerability);
37-
}
38-
return acc;
39-
},
40-
[[], []] as [
41-
Array<KnownVulnerability>,
42-
Array<UnknownSeverityVulnerability>,
43-
]
44-
),
45-
[vulnerabilities]
46-
);
47-
4825
useMemo(
4926
() =>
50-
knownVulnerabilities.sort(
27+
vulnerabilities.sort(
5128
(a, b) =>
5229
SEVERITY_ORDER.indexOf(a.severity) -
5330
SEVERITY_ORDER.indexOf(b.severity)
5431
),
55-
[knownVulnerabilities]
32+
[vulnerabilities]
5633
);
5734

5835
return (
@@ -67,13 +44,14 @@ const EOLModal: FC<ModalProps<EOLModalData>> = ({
6744
</p>
6845
)}
6946

70-
<VulnerabilitiesTable vulnerabilities={knownVulnerabilities} />
71-
72-
<UnknownSeveritySection
73-
vulnerabilities={unknownVulnerabilities}
74-
open={knownVulnerabilities.length > 0}
47+
<VulnerabilitiesTable
48+
vulnerabilities={vulnerabilities.filter(
49+
vuln => vuln.severity !== 'unknown'
50+
)}
7551
/>
7652

53+
<UnknownSeveritySection vulnerabilities={vulnerabilities} />
54+
7755
{!vulnerabilities.length && (
7856
<p className="m-1">
7957
{t('components.eolModal.noVulnerabilitiesMessage')}

apps/site/components/EOL/UnknownSeveritySection/index.tsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,35 @@
11
import { useTranslations } from 'next-intl';
2-
import type { DetailsHTMLAttributes, FC } from 'react';
2+
import type { FC } from 'react';
33

44
import VulnerabilitiesTable from '#site/components/EOL/VulnerabilitiesTable';
5-
import type { UnknownSeverityVulnerability } from '#site/types/vulnerabilities';
5+
import type { Vulnerability } from '#site/types/vulnerabilities';
66

7-
type UnknownSeveritySectionProps = DetailsHTMLAttributes<HTMLDetailsElement> & {
8-
vulnerabilities: Array<UnknownSeverityVulnerability>;
7+
type UnknownSeveritySectionProps = {
8+
vulnerabilities: Array<Vulnerability>;
99
};
1010

1111
const UnknownSeveritySection: FC<UnknownSeveritySectionProps> = ({
1212
vulnerabilities,
13-
...props
1413
}) => {
1514
const t = useTranslations();
1615

17-
if (!vulnerabilities.length) {
16+
const unknownVulnerabilities = vulnerabilities.filter(
17+
v => v.severity === 'unknown'
18+
);
19+
20+
if (!unknownVulnerabilities.length) {
1821
return null;
1922
}
2023

2124
return (
22-
<details {...props}>
25+
<details open={unknownVulnerabilities.length === vulnerabilities.length}>
2326
<summary className="cursor-pointer font-semibold">
2427
{t('components.eolModal.showUnknownSeverities')} (
25-
{vulnerabilities.length})
28+
{unknownVulnerabilities.length})
2629
</summary>
2730
<div className="mt-4">
2831
<VulnerabilitiesTable
29-
vulnerabilities={vulnerabilities}
32+
vulnerabilities={unknownVulnerabilities}
3033
maxWidth={'max-w-3xs'}
3134
/>
3235
</div>

apps/site/types/vulnerabilities.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,3 @@ export type EOLModalData = {
3434
export type KnownVulnerability = Vulnerability & {
3535
severity: (typeof SEVERITY_ORDER)[number];
3636
};
37-
38-
export type UnknownSeverityVulnerability = Vulnerability & {
39-
severity: 'unknown';
40-
};

0 commit comments

Comments
 (0)