Skip to content

Commit 94fecc5

Browse files
committed
fmt
1 parent 07b2241 commit 94fecc5

File tree

5 files changed

+124
-116
lines changed

5 files changed

+124
-116
lines changed

site/src/pages/HealthPage/Content.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,7 @@ export const Pill = forwardRef<HTMLDivElement, PillProps>((props, ref) => {
182182
);
183183
});
184184

185-
type BooleanPillProps = Omit<
186-
ComponentProps<typeof Pill>, "icon" | "value"
187-
> & {
185+
type BooleanPillProps = Omit<ComponentProps<typeof Pill>, "icon" | "value"> & {
188186
value: boolean;
189187
};
190188

site/src/pages/HealthPage/ProvisionerDaemonsPage.tsx

+12-12
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import SwapHoriz from "@mui/icons-material/SwapHoriz";
2222
import Tooltip from "@mui/material/Tooltip";
2323
import Sell from "@mui/icons-material/Sell";
2424
import { FC } from "react";
25-
import CloseIcon from '@mui/icons-material/Close';
25+
import CloseIcon from "@mui/icons-material/Close";
2626
import IconButton from "@mui/material/IconButton";
2727

2828
export const ProvisionerDaemonsPage = () => {
@@ -62,14 +62,14 @@ export const ProvisionerDaemonsPage = () => {
6262
const iconScope =
6363
daemonScope === "organization" ? <Business /> : <Person />;
6464
const extraTags = Object.keys(daemon.tags)
65-
.filter((key) => key !== "scope" && key !== "owner")
66-
.reduce(
67-
(acc, key) => {
68-
acc[key] = daemon.tags[key];
69-
return acc;
70-
},
71-
{} as Record<string, string>,
72-
);
65+
.filter((key) => key !== "scope" && key !== "owner")
66+
.reduce(
67+
(acc, key) => {
68+
acc[key] = daemon.tags[key];
69+
return acc;
70+
},
71+
{} as Record<string, string>,
72+
);
7373
const isWarning = warnings.length > 0;
7474
return (
7575
<div
@@ -132,9 +132,9 @@ export const ProvisionerDaemonsPage = () => {
132132
</span>
133133
</Pill>
134134
</Tooltip>
135-
{Object.keys(extraTags).map((k) =>
135+
{Object.keys(extraTags).map((k) => (
136136
<ProvisionerTag key={k} k={k} v={extraTags[k]} />
137-
)}
137+
))}
138138
</div>
139139
</header>
140140

@@ -197,7 +197,7 @@ interface ProvisionerTagProps {
197197
onDelete?: (key: string) => void;
198198
}
199199

200-
export const ProvisionerTag : FC<ProvisionerTagProps> = ({ k, v, onDelete}) => {
200+
export const ProvisionerTag: FC<ProvisionerTagProps> = ({ k, v, onDelete }) => {
201201
const { valid, value: boolValue } = parseBool(v);
202202
const kv = `${k}: ${v}`;
203203
const content = onDelete ? (
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,56 @@
1-
2-
import { Stack } from 'components/Stack/Stack';
3-
import { TopbarButton } from 'components/FullPageLayout/Topbar';
1+
import { Stack } from "components/Stack/Stack";
2+
import { TopbarButton } from "components/FullPageLayout/Topbar";
43
import {
54
Popover,
65
PopoverContent,
76
PopoverTrigger,
87
} from "components/Popover/Popover";
9-
import { ProvisionerTag } from 'pages/HealthPage/ProvisionerDaemonsPage';
10-
import { type FC} from 'react';
11-
import useTheme from '@mui/system/useTheme';
12-
import { useFormik } from 'formik';
8+
import { ProvisionerTag } from "pages/HealthPage/ProvisionerDaemonsPage";
9+
import { type FC } from "react";
10+
import useTheme from "@mui/system/useTheme";
11+
import { useFormik } from "formik";
1312
import * as Yup from "yup";
14-
import { getFormHelpers, onChangeTrimmed } from 'utils/formUtils';
15-
import { FormFields, FormSection, VerticalForm } from 'components/Form/Form';
16-
import TextField from '@mui/material/TextField';
17-
import Button from '@mui/material/Button';
18-
import ExpandMoreOutlined from '@mui/icons-material/ExpandMoreOutlined';
19-
import AddIcon from '@mui/icons-material/Add';
13+
import { getFormHelpers, onChangeTrimmed } from "utils/formUtils";
14+
import { FormFields, FormSection, VerticalForm } from "components/Form/Form";
15+
import TextField from "@mui/material/TextField";
16+
import Button from "@mui/material/Button";
17+
import ExpandMoreOutlined from "@mui/icons-material/ExpandMoreOutlined";
18+
import AddIcon from "@mui/icons-material/Add";
2019

2120
const initialValues = {
2221
key: "",
2322
value: "",
2423
};
2524

2625
const validationSchema = Yup.object({
27-
key: Yup.string().required("Required").notOneOf(["owner"], "Cannot override owner tag"),
28-
value: Yup.string().required("Required").when("key", ([key], schema) => {
29-
if (key === "scope") {
30-
return schema.oneOf(["organization", "scope"], "Scope value must be 'organization' or 'user'");
31-
}
26+
key: Yup.string()
27+
.required("Required")
28+
.notOneOf(["owner"], "Cannot override owner tag"),
29+
value: Yup.string()
30+
.required("Required")
31+
.when("key", ([key], schema) => {
32+
if (key === "scope") {
33+
return schema.oneOf(
34+
["organization", "scope"],
35+
"Scope value must be 'organization' or 'user'",
36+
);
37+
}
3238

33-
return schema;
34-
})
39+
return schema;
40+
}),
3541
});
3642

3743
interface ProviderTagsPopoverProps {
38-
tags: Record <string, string>;
44+
tags: Record<string, string>;
3945
onSubmit: (values: typeof initialValues) => void;
4046
onDelete: (key: string) => void;
4147
}
4248

43-
export const ProviderTagsPopover: FC<ProviderTagsPopoverProps> = ({ tags, onSubmit, onDelete }) => {
49+
export const ProviderTagsPopover: FC<ProviderTagsPopoverProps> = ({
50+
tags,
51+
onSubmit,
52+
onDelete,
53+
}) => {
4454
const theme = useTheme();
4555

4656
const form = useFormik({
@@ -55,74 +65,83 @@ export const ProviderTagsPopover: FC<ProviderTagsPopoverProps> = ({ tags, onSubm
5565

5666
return (
5767
<Popover>
58-
<PopoverTrigger>
59-
<TopbarButton
60-
color="neutral"
61-
css={{ paddingLeft: 0, paddingRight: 0, minWidth: "28px !important" }}
62-
>
63-
<ExpandMoreOutlined css={{ fontSize: 14 }} />
64-
</TopbarButton>
65-
</PopoverTrigger>
66-
<PopoverContent
67-
horizontal="right"
68-
css={{ ".MuiPaper-root": { width: 300 } }}
69-
>
70-
<div
71-
css={{
72-
color: theme.palette.text.secondary,
73-
padding: 20,
74-
borderBottom: `1px solid ${theme.palette.divider}`,
75-
}}
68+
<PopoverTrigger>
69+
<TopbarButton
70+
color="neutral"
71+
css={{ paddingLeft: 0, paddingRight: 0, minWidth: "28px !important" }}
72+
>
73+
<ExpandMoreOutlined css={{ fontSize: 14 }} />
74+
</TopbarButton>
75+
</PopoverTrigger>
76+
<PopoverContent
77+
horizontal="right"
78+
css={{ ".MuiPaper-root": { width: 300 } }}
7679
>
77-
<VerticalForm onSubmit={form.handleSubmit}>
78-
<Stack>
79-
<FormSection title="Provisioner Tags" description="Tags are a way to control which provisoner daemons process which build jobs. To learn more read the docs. "/>
80-
{Object.keys(tags).length > 0 && (
81-
<Stack direction="row" spacing={1} wrap="wrap">
82-
{Object.keys(tags).filter((key) => {
83-
// filter out owner since you cannot override it
84-
return key !== "owner"
85-
}).map((k) =>
86-
<>
87-
{k === "scope" ? (
88-
<ProvisionerTag key={k} k={k} v={tags[k]}/>
89-
) : (
90-
<ProvisionerTag key={k} k={k} v={tags[k]} onDelete={onDelete}/>
91-
)}
92-
</>
93-
)}
94-
</Stack>
95-
)}
96-
80+
<div
81+
css={{
82+
color: theme.palette.text.secondary,
83+
padding: 20,
84+
borderBottom: `1px solid ${theme.palette.divider}`,
85+
}}
86+
>
87+
<VerticalForm onSubmit={form.handleSubmit}>
88+
<Stack>
89+
<FormSection
90+
title="Provisioner Tags"
91+
description="Tags are a way to control which provisoner daemons process which build jobs. To learn more read the docs. "
92+
/>
93+
{Object.keys(tags).length > 0 && (
94+
<Stack direction="row" spacing={1} wrap="wrap">
95+
{Object.keys(tags)
96+
.filter((key) => {
97+
// filter out owner since you cannot override it
98+
return key !== "owner";
99+
})
100+
.map((k) => (
101+
<>
102+
{k === "scope" ? (
103+
<ProvisionerTag key={k} k={k} v={tags[k]} />
104+
) : (
105+
<ProvisionerTag
106+
key={k}
107+
k={k}
108+
v={tags[k]}
109+
onDelete={onDelete}
110+
/>
111+
)}
112+
</>
113+
))}
114+
</Stack>
115+
)}
97116

98-
<FormFields>
99-
<Stack direction="row">
100-
<TextField
101-
{...getFieldHelpers("key")}
102-
size="small"
103-
onChange={onChangeTrimmed(form)}
104-
label="Key"
105-
/>
106-
<TextField
107-
{...getFieldHelpers("value")}
108-
size="small"
109-
onChange={onChangeTrimmed(form)}
110-
label="Value"
111-
/>
112-
<Button
113-
variant="contained"
114-
color="secondary"
115-
type="submit"
116-
disabled={!form.dirty || !form.isValid}
117-
>
118-
<AddIcon/>
119-
</Button>
120-
</Stack>
121-
</FormFields>
122-
</Stack>
123-
</VerticalForm>
124-
</div>
125-
</PopoverContent>
126-
</Popover>
117+
<FormFields>
118+
<Stack direction="row">
119+
<TextField
120+
{...getFieldHelpers("key")}
121+
size="small"
122+
onChange={onChangeTrimmed(form)}
123+
label="Key"
124+
/>
125+
<TextField
126+
{...getFieldHelpers("value")}
127+
size="small"
128+
onChange={onChangeTrimmed(form)}
129+
label="Value"
130+
/>
131+
<Button
132+
variant="contained"
133+
color="secondary"
134+
type="submit"
135+
disabled={!form.dirty || !form.isValid}
136+
>
137+
<AddIcon />
138+
</Button>
139+
</Stack>
140+
</FormFields>
141+
</Stack>
142+
</VerticalForm>
143+
</div>
144+
</PopoverContent>
145+
</Popover>
127146
);
128147
};

site/src/pages/TemplateVersionEditorPage/TemplateVersionEditorPage.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ export const TemplateVersionEditorPage: FC = () => {
103103
};
104104

105105
// Provisioner Tags
106-
const [provisionerTags, setProvisionerTags] = useState<Record<string, string>>({});
106+
const [provisionerTags, setProvisionerTags] = useState<
107+
Record<string, string>
108+
>({});
107109
useEffect(() => {
108110
if (templateVersionQuery.data?.job.tags) {
109111
setProvisionerTags(templateVersionQuery.data.job.tags);

site/src/utils/provisionertags.ts

-11
This file was deleted.

0 commit comments

Comments
 (0)