): void => {
- e.preventDefault();
- dispatch(updateStaticAdmin({ username, password })).then((result) => {
+ const handleSubmit = (values: {
+ username: string;
+ password: string;
+ }): void => {
+ dispatch(updateStaticAdmin(values)).then((result) => {
if (updateStaticAdmin.fulfilled.match(result)) {
dispatch(fetchProject());
dispatch(
@@ -79,7 +146,15 @@ export const StaticAdminForm: FC = memo(function StaticAdminForm() {
setIsEdit(false);
};
- const isInvalidValues = username === "" || password === "";
+ const handleClose = (): void => {
+ setIsEdit(false);
+ };
+
+ const handleToggleAvailability = (): void => {
+ dispatch(toggleAvailability()).then(() => {
+ dispatch(fetchProject());
+ });
+ };
return (
<>
@@ -123,6 +198,7 @@ export const StaticAdminForm: FC = memo(function StaticAdminForm() {
setIsEdit(true)}
disabled={isEnabled === false}
>
@@ -137,48 +213,12 @@ export const StaticAdminForm: FC = memo(function StaticAdminForm() {
)}
-
-
+ onSubmit={handleSubmit}
+ />
>
);
});
diff --git a/pkg/app/web/src/mocks/handlers.ts b/pkg/app/web/src/mocks/handlers.ts
index ef2ddcc5ca..1b2b1697bc 100644
--- a/pkg/app/web/src/mocks/handlers.ts
+++ b/pkg/app/web/src/mocks/handlers.ts
@@ -2,9 +2,11 @@ import { meHandlers } from "./services/me";
import { commandHandlers } from "./services/command";
import { applicationHandlers } from "./services/application";
import { deploymentHandlers } from "./services/deployment";
+import { projectHandlers } from "./services/project";
export const handlers = [
...meHandlers,
...commandHandlers,
...applicationHandlers,
...deploymentHandlers,
+ ...projectHandlers,
];
diff --git a/pkg/app/web/src/mocks/services/project.ts b/pkg/app/web/src/mocks/services/project.ts
new file mode 100644
index 0000000000..8210fcff19
--- /dev/null
+++ b/pkg/app/web/src/mocks/services/project.ts
@@ -0,0 +1,31 @@
+import { rest } from "msw";
+import { serialize } from "../serializer";
+import { createMask } from "../utils";
+import {
+ UpdateProjectStaticAdminResponse,
+ GetProjectResponse,
+} from "pipe/pkg/app/web/api_client/service_pb";
+import { Project } from "pipe/pkg/app/web/model/project_pb";
+
+export const projectHandlers = [
+ rest.post(createMask("/UpdateProjectStaticAdmin"), (req, res, ctx) => {
+ const r = new UpdateProjectStaticAdminResponse();
+ const data = serialize(r.serializeBinary());
+ return res(
+ ctx.status(200),
+ ctx.set("Content-Type", "application/grpc-web+proto"),
+ ctx.body(data)
+ );
+ }),
+ rest.post(createMask("/GetProject"), (req, res, ctx) => {
+ const r = new GetProjectResponse();
+ const p = new Project();
+ r.setProject(p);
+ const data = serialize(r.serializeBinary());
+ return res(
+ ctx.status(200),
+ ctx.set("Content-Type", "application/grpc-web+proto"),
+ ctx.body(data)
+ );
+ }),
+];