Skip to content

Commit 60f12e6

Browse files
committed
Fix chromatic errors
1 parent d1d2d48 commit 60f12e6

File tree

2 files changed

+79
-64
lines changed

2 files changed

+79
-64
lines changed
Lines changed: 60 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,80 @@
1-
import { ComponentMeta, Story } from "@storybook/react"
21
import {
32
MockUser,
43
MockUser2,
54
MockAssignableSiteRoles,
5+
MockAuthMethods,
66
} from "testHelpers/entities"
7-
import { UsersTable, UsersTableProps } from "./UsersTable"
7+
import { UsersTable } from "./UsersTable"
8+
import type { Meta, StoryObj } from "@storybook/react"
89

9-
export default {
10+
const meta: Meta<typeof UsersTable> = {
1011
title: "components/UsersTable",
1112
component: UsersTable,
1213
args: {
1314
isNonInitialPage: false,
15+
authMethods: MockAuthMethods,
1416
},
15-
} as ComponentMeta<typeof UsersTable>
17+
}
1618

17-
const Template: Story<UsersTableProps> = (args) => <UsersTable {...args} />
19+
export default meta
20+
type Story = StoryObj<typeof UsersTable>
1821

19-
export const Example = Template.bind({})
20-
Example.args = {
21-
users: [MockUser, MockUser2],
22-
roles: MockAssignableSiteRoles,
23-
canEditUsers: false,
22+
export const Example: Story = {
23+
args: {
24+
users: [MockUser, MockUser2],
25+
roles: MockAssignableSiteRoles,
26+
canEditUsers: false,
27+
},
2428
}
2529

26-
export const Editable = Template.bind({})
27-
Editable.args = {
28-
users: [
29-
MockUser,
30-
MockUser2,
31-
{
32-
...MockUser,
33-
username: "John Doe",
34-
email: "john.doe@coder.com",
35-
roles: [],
36-
status: "dormant",
37-
},
38-
{
39-
...MockUser,
40-
username: "Roger Moore",
41-
email: "roger.moore@coder.com",
42-
roles: [],
43-
status: "suspended",
44-
},
45-
{
46-
...MockUser,
47-
username: "OIDC User",
48-
email: "oidc.user@coder.com",
49-
roles: [],
50-
status: "active",
51-
login_type: "oidc",
52-
},
53-
],
54-
roles: MockAssignableSiteRoles,
55-
canEditUsers: true,
56-
canViewActivity: true,
30+
export const Editable: Story = {
31+
args: {
32+
users: [
33+
MockUser,
34+
MockUser2,
35+
{
36+
...MockUser,
37+
username: "John Doe",
38+
email: "john.doe@coder.com",
39+
roles: [],
40+
status: "dormant",
41+
},
42+
{
43+
...MockUser,
44+
username: "Roger Moore",
45+
email: "roger.moore@coder.com",
46+
roles: [],
47+
status: "suspended",
48+
},
49+
{
50+
...MockUser,
51+
username: "OIDC User",
52+
email: "oidc.user@coder.com",
53+
roles: [],
54+
status: "active",
55+
login_type: "oidc",
56+
},
57+
],
58+
roles: MockAssignableSiteRoles,
59+
canEditUsers: true,
60+
canViewActivity: true,
61+
},
5762
}
5863

59-
export const Empty = Template.bind({})
60-
Empty.args = {
61-
users: [],
62-
roles: MockAssignableSiteRoles,
64+
export const Empty: Story = {
65+
args: {
66+
users: [],
67+
roles: MockAssignableSiteRoles,
68+
},
6369
}
6470

65-
export const Loading = Template.bind({})
66-
Loading.args = {
67-
users: [],
68-
roles: MockAssignableSiteRoles,
69-
isLoading: true,
70-
}
71-
Loading.parameters = {
72-
chromatic: { pauseAnimationAtEnd: true },
71+
export const Loading: Story = {
72+
args: {
73+
users: [],
74+
roles: MockAssignableSiteRoles,
75+
isLoading: true,
76+
},
77+
parameters: {
78+
chromatic: { pauseAnimationAtEnd: true },
79+
},
7380
}

site/src/components/UsersTable/UsersTableBody.tsx

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ import HideSourceOutlined from "@mui/icons-material/HideSourceOutlined"
2121
import KeyOutlined from "@mui/icons-material/KeyOutlined"
2222
import GitHub from "@mui/icons-material/GitHub"
2323
import PasswordOutlined from "@mui/icons-material/PasswordOutlined"
24+
import relativeTime from "dayjs/plugin/relativeTime"
25+
import ShieldOutlined from "@mui/icons-material/ShieldOutlined"
26+
27+
dayjs.extend(relativeTime)
2428

2529
const isOwnerRole = (role: TypesGen.Role): boolean => {
2630
return role.name === "owner"
@@ -87,7 +91,7 @@ export const UsersTableBody: FC<
8791
return (
8892
<ChooseOne>
8993
<Cond condition={Boolean(isLoading)}>
90-
<TableLoaderSkeleton columns={5} useAvatarData />
94+
<TableLoaderSkeleton columns={canEditUsers ? 5 : 4} useAvatarData />
9195
</Cond>
9296
<Cond condition={!users || users.length === 0}>
9397
<ChooseOne>
@@ -267,17 +271,21 @@ const LoginType = ({
267271
icon = <GitHub sx={iconStyles} />
268272
} else if (value === "token") {
269273
displayName = "Token"
270-
icon = <KeyOutlined />
274+
icon = <KeyOutlined sx={iconStyles} />
271275
} else if (value === "oidc") {
272-
displayName = authMethods.oidc.signInText
273-
icon = (
274-
<Box
275-
component="img"
276-
alt="Open ID Connect icon"
277-
src={authMethods.oidc.iconUrl}
278-
sx={iconStyles}
279-
/>
280-
)
276+
displayName =
277+
authMethods.oidc.signInText === "" ? "OIDC" : authMethods.oidc.signInText
278+
icon =
279+
authMethods.oidc.iconUrl === "" ? (
280+
<ShieldOutlined sx={iconStyles} />
281+
) : (
282+
<Box
283+
component="img"
284+
alt="Open ID Connect icon"
285+
src={authMethods.oidc.iconUrl}
286+
sx={iconStyles}
287+
/>
288+
)
281289
}
282290

283291
return (

0 commit comments

Comments
 (0)