From 10bb6179aed47cadb7c524fd38e956a387328635 Mon Sep 17 00:00:00 2001
From: suyiiyii <suyiiyii@gmail.com>
Date: Fri, 11 Oct 2024 13:40:31 +0800
Subject: [PATCH] =?UTF-8?q?:sparkles:=20(admin)=20=E6=94=AF=E6=8C=81?=
 =?UTF-8?q?=E6=9F=A5=E7=9C=8Bcookie=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../cookieManager/CookieEditModal.tsx         | 54 +++++++++++++++++++
 .../cookieManager/CookieManagerModal.tsx      |  0
 2 files changed, 54 insertions(+)
 create mode 100644 admin-frontend/src/features/cookieManager/CookieEditModal.tsx
 delete mode 100644 admin-frontend/src/features/cookieManager/CookieManagerModal.tsx

diff --git a/admin-frontend/src/features/cookieManager/CookieEditModal.tsx b/admin-frontend/src/features/cookieManager/CookieEditModal.tsx
new file mode 100644
index 0000000..955569f
--- /dev/null
+++ b/admin-frontend/src/features/cookieManager/CookieEditModal.tsx
@@ -0,0 +1,54 @@
+import React, { useState } from 'react';
+import { Form, Input, Modal } from '@arco-design/web-react';
+import { useNewCookieMutation } from './cookieConfigSlice';
+
+interface CookieModalProps {
+  visible: boolean;
+  setVisible: (arg0: boolean) => void;
+  siteName: string;
+}
+
+function CookieEditModal({ visible, setVisible, siteName }: CookieModalProps) {
+  const FormItem = Form.Item;
+  const [content, setContent] = useState<string>('');
+  const [confirmLoading, setConfirmLoading] = useState(false);
+  const [newCoookie] = useNewCookieMutation();
+
+  const onSubmit = () => {
+    const postPromise: ReturnType<typeof newCoookie> = newCoookie({ siteName, content });
+    setConfirmLoading(true);
+    postPromise.then(() => {
+      setConfirmLoading(false);
+      setVisible(false);
+      setContent('');
+    });
+  };
+
+  return (
+    <Modal
+      title="编辑 Cookie"
+      visible={visible}
+      onCancel={() => setVisible(false)}
+      confirmLoading={confirmLoading}
+      onOk={onSubmit}
+      style={{ maxWidth: '90vw' }}
+    >
+
+      <Form autoComplete="off">
+        <FormItem label="Site Name" required>
+          <Input placeholder="Please enter site name" value={siteName} disabled />
+        </FormItem>
+        <FormItem label="Content" required>
+          <Input.TextArea
+            placeholder="Please enter content"
+            value={content}
+            onChange={setContent}
+          />
+        </FormItem>
+
+      </Form>
+    </Modal>
+  );
+}
+
+export default CookieEditModal;
diff --git a/admin-frontend/src/features/cookieManager/CookieManagerModal.tsx b/admin-frontend/src/features/cookieManager/CookieManagerModal.tsx
deleted file mode 100644
index e69de29..0000000