visuddhinanda 3 лет назад
Родитель
Сommit
27aa504584
1 измененных файлов с 23 добавлено и 5 удалено
  1. 23 5
      dashboard/src/components/group/GroupCreate.tsx

+ 23 - 5
dashboard/src/components/group/GroupCreate.tsx

@@ -1,23 +1,41 @@
 import { useIntl } from "react-intl";
 import { ProForm, ProFormText } from "@ant-design/pro-components";
 import { message } from "antd";
+import { post } from "../../request";
+import { IGroupRequest, IGroupResponse } from "../api/Group";
 
 interface IFormData {
   name: string;
 }
 
-type IWidgetGroupCreate = {
-  studio: string | undefined;
-};
-const Widget = (param: IWidgetGroupCreate) => {
+interface IWidgetGroupCreate {
+  studio?: string;
+  onCreate?: Function;
+}
+const Widget = ({ studio, onCreate }: IWidgetGroupCreate) => {
   const intl = useIntl();
 
   return (
     <ProForm<IFormData>
       onFinish={async (values: IFormData) => {
         // TODO
+        if (typeof studio === "undefined") {
+          return;
+        }
         console.log(values);
-        message.success(intl.formatMessage({ id: "flashes.success" }));
+        const res = await post<IGroupRequest, IGroupResponse>(`/v2/group`, {
+          name: values.name,
+          studio_name: studio,
+        });
+        console.log(res);
+        if (res.ok) {
+          message.success(intl.formatMessage({ id: "flashes.success" }));
+          if (typeof onCreate !== "undefined") {
+            onCreate();
+          }
+        } else {
+          message.error(res.message);
+        }
       }}
     >
       <ProForm.Group>