diff --git a/app/components/news/body/PopupfloatingMangement/AddPopup.tsx b/app/components/news/body/PopupfloatingMangement/AddPopup.tsx new file mode 100644 index 0000000..d281b0e --- /dev/null +++ b/app/components/news/body/PopupfloatingMangement/AddPopup.tsx @@ -0,0 +1,101 @@ +import React, { useState } from 'react'; +import { usePopupManager } from './Popup'; + +// 单独的“添加飘窗”表单弹窗组件 +const AddPopupForm = () => { + const { addPopup } = usePopupManager(); + const [isOpen, setIsOpen] = useState(false); + const [formData, setFormData] = useState({ + title: '', + description: '', + backgroundImage: '', + }); + + + const handleChange = (e: React.ChangeEvent) => { + const { name, value } = e.target; + setFormData((prev) => ({ ...prev, [name]: value })); + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (!formData.title.trim() || !formData.description.trim()) return; + addPopup({ + title: formData.title, + description: formData.description, + backgroundImage: formData.backgroundImage || undefined, + }); + setIsOpen(false); + setFormData({ title: '', description: '', backgroundImage: '' }); + }; + + + return ( + <> + + {isOpen && ( +
+
+ +

添加飘窗

+
+ + +