Skip to content

Commit b091ef8

Browse files
committed
Refactor CodeExample and its tests
1 parent 1e43257 commit b091ef8

File tree

3 files changed

+19
-42
lines changed

3 files changed

+19
-42
lines changed
Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
1-
import { Story } from "@storybook/react";
2-
import { CodeExample, CodeExampleProps } from "./CodeExample";
1+
import type { Meta, StoryObj } from "@storybook/react";
2+
import { CodeExample } from "./CodeExample";
33

44
const sampleCode = `echo "Hello, world"`;
55

6-
export default {
6+
const meta: Meta<typeof CodeExample> = {
77
title: "components/CodeExample",
88
component: CodeExample,
99
argTypes: {
1010
code: { control: "string", defaultValue: sampleCode },
1111
},
1212
};
1313

14-
const Template: Story<CodeExampleProps> = (args: CodeExampleProps) => (
15-
<CodeExample {...args} />
16-
);
14+
export default meta;
15+
type Story = StoryObj<typeof CodeExample>;
1716

18-
export const Example = Template.bind({});
19-
Example.args = {
20-
code: sampleCode,
17+
export const Example: Story = {
18+
args: {
19+
code: sampleCode,
20+
},
2121
};
2222

23-
export const LongCode = Template.bind({});
24-
LongCode.args = {
25-
code: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICnKzATuWwmmt5+CKTPuRGN0R1PBemA+6/SStpLiyX+L",
23+
export const LongCode: Story = {
24+
args: {
25+
code: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICnKzATuWwmmt5+CKTPuRGN0R1PBemA+6/SStpLiyX+L",
26+
},
2627
};

site/src/components/CodeExample/CodeExample.test.tsx

Lines changed: 0 additions & 14 deletions
This file was deleted.

site/src/components/CodeExample/CodeExample.tsx

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,24 @@ import { Theme } from "@mui/material/styles";
77

88
export interface CodeExampleProps {
99
code: string;
10-
className?: string;
11-
buttonClassName?: string;
12-
tooltipTitle?: string;
13-
inline?: boolean;
1410
password?: boolean;
11+
className?: string;
1512
}
1613

1714
/**
1815
* Component to show single-line code examples, with a copy button
1916
*/
20-
export const CodeExample: FC<React.PropsWithChildren<CodeExampleProps>> = ({
17+
export const CodeExample: FC<CodeExampleProps> = ({
2118
code,
19+
password,
2220
className,
23-
buttonClassName,
24-
tooltipTitle,
25-
inline,
2621
}) => {
27-
const styles = useStyles({ inline: inline });
22+
const styles = useStyles({ password });
2823

2924
return (
3025
<div className={combineClasses([styles.root, className])}>
3126
<code className={styles.code}>{code}</code>
32-
<CopyButton
33-
text={code}
34-
tooltipTitle={tooltipTitle}
35-
buttonClassName={buttonClassName}
36-
/>
27+
<CopyButton text={code} />
3728
</div>
3829
);
3930
};
@@ -48,8 +39,7 @@ const useStyles = makeStyles<Theme, styleProps>((theme) => ({
4839
display: props.inline ? "inline-flex" : "flex",
4940
flexDirection: "row",
5041
alignItems: "center",
51-
background: props.inline ? "rgb(0 0 0 / 30%)" : "hsl(223, 27%, 3%)",
52-
border: props.inline ? undefined : `1px solid ${theme.palette.divider}`,
42+
background: "rgb(0 0 0 / 30%)",
5343
color: theme.palette.primary.contrastText,
5444
fontFamily: MONOSPACE_FONT_FAMILY,
5545
fontSize: 14,

0 commit comments

Comments
 (0)