Skip to content

Commit fd74132

Browse files
committed
feat(artifacts): add attestations tab
1 parent 6101edc commit fd74132

File tree

3 files changed

+32
-18
lines changed

3 files changed

+32
-18
lines changed

client/src/app/pages/Artifacts/components/ArtifactResults.tsx

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,13 @@ import {
99
Flex,
1010
FlexItem,
1111
Panel,
12+
Tab,
13+
Tabs,
14+
TabTitleText,
1215
} from "@patternfly/react-core";
1316
import { ArtifactResultsSummary } from "./ArtifactResultsSummary";
1417
import { ArtifactResultsSignatures } from "./ArtifactResultsSignatures";
18+
import { useState } from "react";
1519

1620
export interface IArtifactResultsProps {
1721
artifact: ImageMetadataResponse;
@@ -20,6 +24,14 @@ export interface IArtifactResultsProps {
2024
export const ArtifactResults = ({ artifact }: IArtifactResultsProps) => {
2125
// temporary workaround until API merged
2226
const artifactSignatures: string[] = ["a", "b"];
27+
const [activeTabKey, setActiveTabKey] = useState<string | number>(0);
28+
29+
const handleTabClick = (
30+
event: React.MouseEvent<unknown> | React.KeyboardEvent | MouseEvent,
31+
tabIndex: string | number
32+
) => {
33+
setActiveTabKey(tabIndex);
34+
};
2335

2436
return (
2537
<div style={{ margin: "2em auto" }}>
@@ -41,8 +53,20 @@ export const ArtifactResults = ({ artifact }: IArtifactResultsProps) => {
4153
<ArtifactResultsSummary artifact={artifact} />
4254
</Panel>
4355
<Panel style={{ marginTop: "1.25em" }}>
44-
{/** SIGNATURES */}
45-
<ArtifactResultsSignatures signatures={artifactSignatures} />
56+
<Tabs
57+
activeKey={activeTabKey}
58+
onSelect={handleTabClick}
59+
aria-label="Tabs in the default example"
60+
role="region"
61+
>
62+
<Tab eventKey={0} title={<TabTitleText>Signatures</TabTitleText>} aria-label="Default content - users">
63+
{/** SIGNATURES */}
64+
<ArtifactResultsSignatures signatures={artifactSignatures} />
65+
</Tab>
66+
<Tab eventKey={1} title={<TabTitleText>Attestations</TabTitleText>}>
67+
Attestations
68+
</Tab>
69+
</Tabs>
4670
</Panel>
4771
</CardBody>
4872
</Card>
Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
1-
import { Content, ContentVariants, DataList } from "@patternfly/react-core";
1+
import { DataList } from "@patternfly/react-core";
22
import { ArtifactSignatureItem } from "./ArtifactSignatureItem";
33

44
export const ArtifactResultsSignatures = ({ signatures }: { signatures: string[] }) => {
55
console.table(signatures);
66

77
return (
8-
<>
9-
<Content component={ContentVariants.h6} style={{ margin: "2em auto 1.5em", overflowY: "hidden" }}>
10-
Signatures
11-
</Content>
12-
<DataList aria-label="Signatures list" isCompact>
13-
{signatures.map((signature, id) => (
14-
<ArtifactSignatureItem signature={signature} key={id} />
15-
))}
16-
</DataList>
17-
</>
8+
<DataList aria-label="Signatures list" isCompact>
9+
{signatures.map((signature, id) => (
10+
<ArtifactSignatureItem signature={signature} key={id} />
11+
))}
12+
</DataList>
1813
);
1914
};

client/src/app/pages/Artifacts/components/ArtifactSignatureItem.tsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,6 @@ export const ArtifactSignatureItem = ({ signature }: { signature: string }) => {
139139
onSelect={onSelectCertChain}
140140
/>
141141
</Panel>
142-
<Panel>
143-
<Content component={ContentVariants.h6} style={{ margin: "1em auto" }}>
144-
Attestations
145-
</Content>
146-
</Panel>
147142
<Panel>
148143
<Content component={ContentVariants.h6} style={{ margin: "1em auto" }}>
149144
Rekor Entry

0 commit comments

Comments
 (0)