Skip to content

Commit 8ebfee7

Browse files
committed
feat: cleanup
1 parent 928de7e commit 8ebfee7

File tree

3 files changed

+25
-25
lines changed

3 files changed

+25
-25
lines changed

site/src/pages/ManagementSettingsPage/CustomRolesPage/CreateEditRolePage.tsx

+14-7
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useNavigate, useParams } from "react-router-dom";
55
import { getErrorMessage } from "api/errors";
66
import { patchOrganizationRole, organizationRoles } from "api/queries/roles";
77
import { displayError } from "components/GlobalSnackbar/utils";
8+
import { Loader } from "components/Loader/Loader";
89
import { pageTitle } from "utils/page";
910
import CreateEditRolePageView from "./CreateEditRolePageView";
1011

@@ -18,26 +19,32 @@ export const CreateGroupPage: FC = () => {
1819
const patchOrganizationRoleMutation = useMutation(
1920
patchOrganizationRole(queryClient, organization ?? "default"),
2021
);
21-
const { data } = useQuery(organizationRoles(organization));
22-
const role = data?.find((role) => role.name === roleName);
23-
const pageTitleText =
24-
role !== undefined ? "Edit Custom Role" : "Create Custom Role";
22+
const { data: roleData, isLoading } = useQuery(
23+
organizationRoles(organization),
24+
);
25+
const role = roleData?.find((role) => role.name === roleName);
26+
27+
if (isLoading) {
28+
return <Loader />;
29+
}
2530

2631
return (
2732
<>
2833
<Helmet>
29-
<title>{pageTitle(pageTitleText)}</title>
34+
<title>
35+
{pageTitle(
36+
role !== undefined ? "Edit Custom Role" : "Create Custom Role",
37+
)}
38+
</title>
3039
</Helmet>
3140
<CreateEditRolePageView
3241
role={role}
3342
organization={organization}
3443
onSubmit={async (data) => {
3544
try {
36-
console.log({ data });
3745
await patchOrganizationRoleMutation.mutateAsync(data);
3846
navigate(`/organizations/${organization}/roles`);
3947
} catch (error) {
40-
console.log({ error });
4148
displayError(
4249
getErrorMessage(error, "Failed to update custom role"),
4350
);

site/src/pages/ManagementSettingsPage/CustomRolesPage/CreateEditRolePageView.tsx

+5-9
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import TableCell from "@mui/material/TableCell";
66
import TableContainer from "@mui/material/TableContainer";
77
import TableRow from "@mui/material/TableRow";
88
import TextField from "@mui/material/TextField";
9-
import { type FormikValues, useFormik } from "formik";
10-
import { type ChangeEvent, useState, type FC, useEffect } from "react";
9+
import { useFormik } from "formik";
10+
import { type ChangeEvent, useState, type FC } from "react";
1111
import { useNavigate } from "react-router-dom";
1212
import * as Yup from "yup";
1313
import { isApiValidationError } from "api/errors";
@@ -112,7 +112,7 @@ interface ActionCheckboxesProps {
112112
}
113113

114114
const ActionCheckboxes: FC<ActionCheckboxesProps> = ({ permissions, form }) => {
115-
const [checkedActions, setIsChecked] = useState(permissions);
115+
const [checkedActions, setCheckActions] = useState(permissions);
116116

117117
const handleCheckChange = async (
118118
e: ChangeEvent<HTMLInputElement>,
@@ -134,14 +134,10 @@ const ActionCheckboxes: FC<ActionCheckboxesProps> = ({ permissions, form }) => {
134134
(p) => p.resource_type !== resource_type || p.action !== action,
135135
);
136136

137-
setIsChecked(newPermissions);
138-
await form.setFieldValue("organization_permissions", checkedActions);
137+
setCheckActions(newPermissions);
138+
await form.setFieldValue("organization_permissions", newPermissions);
139139
};
140140

141-
// useEffect(() => {
142-
// setIsChecked(permissions);
143-
// }, [permissions]);
144-
145141
return (
146142
<TableContainer>
147143
<Table>

site/src/pages/ManagementSettingsPage/CustomRolesPage/CustomRolesPage.tsx

+6-9
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,9 @@ import Button from "@mui/material/Button";
33
import { type FC, useEffect } from "react";
44
import { Helmet } from "react-helmet-async";
55
import { useQuery } from "react-query";
6-
import {
7-
Navigate,
8-
Link as RouterLink,
9-
useLocation,
10-
useParams,
11-
} from "react-router-dom";
6+
import { Link as RouterLink, useLocation, useParams } from "react-router-dom";
127
import { getErrorMessage } from "api/errors";
138
import { organizationRoles } from "api/queries/roles";
14-
import type { Organization } from "api/typesGenerated";
159
import { displayError } from "components/GlobalSnackbar/utils";
1610
import { PageHeader, PageHeaderTitle } from "components/PageHeader/PageHeader";
1711
import { useAuthenticated } from "contexts/auth/RequireAuth";
@@ -31,6 +25,9 @@ export const CustomRolesPage: FC = () => {
3125
const location = useLocation();
3226
const { organization = "default" } = useParams() as { organization: string };
3327
const organizationRolesQuery = useQuery(organizationRoles(organization));
28+
const filteredRoleData = organizationRolesQuery.data?.filter(
29+
(role) => role.built_in === false,
30+
);
3431

3532
useEffect(() => {
3633
if (organizationRolesQuery.error) {
@@ -56,7 +53,7 @@ export const CustomRolesPage: FC = () => {
5653
return (
5754
<>
5855
<Helmet>
59-
<title>{pageTitle("Groups")}</title>
56+
<title>{pageTitle("Custom Roles")}</title>
6057
</Helmet>
6158

6259
<PageHeader
@@ -78,7 +75,7 @@ export const CustomRolesPage: FC = () => {
7875
</PageHeader>
7976

8077
<CustomRolesPageView
81-
roles={organizationRolesQuery.data}
78+
roles={filteredRoleData}
8279
canAssignOrgRole={canAssignOrgRole}
8380
isCustomRolesEnabled={isCustomRolesEnabled}
8481
/>

0 commit comments

Comments
 (0)