From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001
From: wwf <yearningwang@iqtogether.com>
Date: 星期三, 04 六月 2025 15:17:49 +0800
Subject: [PATCH] 初始化

---
 app/components/base/markdown-blocks/form.tsx |  112 +++++--------------------------------------------------
 1 files changed, 11 insertions(+), 101 deletions(-)

diff --git a/app/components/base/markdown-blocks/form.tsx b/app/components/base/markdown-blocks/form.tsx
index ab7e7ce..7ce3e82 100644
--- a/app/components/base/markdown-blocks/form.tsx
+++ b/app/components/base/markdown-blocks/form.tsx
@@ -2,10 +2,6 @@
 import Button from '@/app/components/base/button'
 import Input from '@/app/components/base/input'
 import Textarea from '@/app/components/base/textarea'
-import DatePicker from '@/app/components/base/date-and-time-picker/date-picker'
-import TimePicker from '@/app/components/base/date-and-time-picker/time-picker'
-import Checkbox from '@/app/components/base/checkbox'
-import Select from '@/app/components/base/select'
 import { useChatContext } from '@/app/components/base/chat/chat/context'
 
 enum DATA_FORMAT {
@@ -23,13 +19,18 @@
   PASSWORD = 'password',
   EMAIL = 'email',
   NUMBER = 'number',
-  DATE = 'date',
-  TIME = 'time',
-  DATETIME = 'datetime',
-  CHECKBOX = 'checkbox',
-  SELECT = 'select',
 }
 const MarkdownForm = ({ node }: any) => {
+  // const supportedTypes = ['text', 'password', 'email', 'number']
+  //   <form data-format="text">
+  //      <label for="username">Username:</label>
+  //      <input type="text" name="username" />
+  //      <label for="password">Password:</label>
+  //      <input type="password" name="password" />
+  //      <label for="content">Content:</label>
+  //      <textarea name="content"></textarea>
+  //      <button data-size="small" data-variant="primary">Login</button>
+  //   </form>
   const { onSend } = useChatContext()
 
   const [formValues, setFormValues] = useState<{ [key: string]: any }>({})
@@ -82,104 +83,13 @@
             <label
               key={index}
               htmlFor={child.properties.for}
-              className="system-md-semibold my-2 text-text-secondary"
+              className="my-2 system-md-semibold text-text-secondary"
             >
               {child.children[0]?.value || ''}
             </label>
           )
         }
         if (child.tagName === SUPPORTED_TAGS.INPUT && Object.values(SUPPORTED_TYPES).includes(child.properties.type)) {
-          if (child.properties.type === SUPPORTED_TYPES.DATE || child.properties.type === SUPPORTED_TYPES.DATETIME) {
-            return (
-              <DatePicker
-                key={index}
-                value={formValues[child.properties.name]}
-                needTimePicker={child.properties.type === SUPPORTED_TYPES.DATETIME}
-                onChange={(date) => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: date,
-                  }))
-                }}
-                onClear={() => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: undefined,
-                  }))
-                }}
-              />
-            )
-          }
-          if (child.properties.type === SUPPORTED_TYPES.TIME) {
-            return (
-              <TimePicker
-                key={index}
-                value={formValues[child.properties.name]}
-                onChange={(time) => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: time,
-                  }))
-                }}
-                onClear={() => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: undefined,
-                  }))
-                }}
-              />
-            )
-          }
-          if (child.properties.type === SUPPORTED_TYPES.CHECKBOX) {
-            return (
-              <div className='mt-2 flex h-6 items-center space-x-2' key={index}>
-                <Checkbox
-                  key={index}
-                  checked={formValues[child.properties.name]}
-                  onCheck={() => {
-                    setFormValues(prevValues => ({
-                      ...prevValues,
-                      [child.properties.name]: !prevValues[child.properties.name],
-                    }))
-                  }}
-                />
-                <span>{child.properties.dataTip || child.properties['data-tip'] || ''}</span>
-              </div>
-            )
-          }
-          if (child.properties.type === SUPPORTED_TYPES.SELECT) {
-            return (
-              <Select
-                key={index}
-                allowSearch={false}
-                className="w-full"
-                items={(() => {
-                  let options = child.properties.dataOptions || child.properties['data-options'] || []
-                  if (typeof options === 'string') {
-                    try {
-                      options = JSON.parse(options)
-                    }
-                    catch (e) {
-                      console.error('Failed to parse options:', e)
-                      options = []
-                    }
-                  }
-                  return options.map((option: string) => ({
-                    name: option,
-                    value: option,
-                  }))
-                })()}
-                defaultValue={formValues[child.properties.name]}
-                onSelect={(item) => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: item.value,
-                  }))
-                }}
-              />
-            )
-          }
-
           return (
             <Input
               key={index}

--
Gitblit v1.8.0