This commit is contained in:
ditiqi 2025-01-25 23:29:46 +08:00
parent 741ff22489
commit 5a68eabbfd
3 changed files with 52 additions and 39 deletions

View File

@ -22,7 +22,11 @@ export default function PostCommentCard({
}) { }) {
return ( return (
<motion.div <motion.div
className="bg-white rounded-lg shadow-sm border border-slate-200 p-4" className={` rounded-xl shadow-sm border p-4 ${
isReceiverComment
? "border-primary border-2 bg-primary-50"
: "border-slate-200 bg-white"
}`}
layout> layout>
<div className="flex items-start space-x-2 gap-2"> <div className="flex items-start space-x-2 gap-2">
<div className="flex-shrink-0"> <div className="flex-shrink-0">
@ -45,11 +49,9 @@ export default function PostCommentCard({
)} )}
</span> </span>
{isReceiverComment && ( {isReceiverComment && (
<div className=" "> <span className=" text-sm text-primary font-bold">
<span className=" py-0.5 px-2 text-xs rounded-full bg-blue-100 text-blue-800">
</span> </span>
</div>
)} )}
</div> </div>
{/* 添加有帮助按钮 */} {/* 添加有帮助按钮 */}

View File

@ -30,6 +30,13 @@ export default function Header() {
</h1> </h1>
</div> </div>
<div className="space-y-1"> <div className="space-y-1">
<Space className="mr-4">
<SendOutlined className="text-white" />
<span className="text-white">:</span>
<Text className="text-white" strong>
{post?.author?.showname || "匿名用户"}
</Text>
</Space>
{/* 收件人信息行 */} {/* 收件人信息行 */}
<Space className="mr-4"> <Space className="mr-4">
<MailOutlined className="text-white" /> <MailOutlined className="text-white" />
@ -44,13 +51,7 @@ export default function Header() {
</Text> </Text>
))} ))}
</Space> </Space>
<Space className="mr-4">
<SendOutlined className="text-white" />
<span className="text-white">:</span>
<Text className="text-white" strong>
{post?.author?.showname || "匿名用户"}
</Text>
</Space>
{/* Date Info Badge */} {/* Date Info Badge */}
<Space className="mr-4"> <Space className="mr-4">
<CalendarOutlined className="text-white" /> <CalendarOutlined className="text-white" />

View File

@ -1,10 +1,11 @@
import { Form, Input, Button, Checkbox, Select } from "antd"; import { Form, Input, Button, Checkbox, Select, Tabs } from "antd";
import { useLetterEditor } from "../context/LetterEditorContext"; import { useLetterEditor } from "../context/LetterEditorContext";
import { SendOutlined } from "@ant-design/icons"; import { SendOutlined } from "@ant-design/icons";
import QuillEditor from "@web/src/components/common/editor/quill/QuillEditor"; import QuillEditor from "@web/src/components/common/editor/quill/QuillEditor";
import { TusUploader } from "@web/src/components/common/uploader/TusUploader"; import { TusUploader } from "@web/src/components/common/uploader/TusUploader";
import StaffSelect from "../../../staff/staff-select"; import StaffSelect from "../../../staff/staff-select";
import TermSelect from "../../../term/term-select"; import TermSelect from "../../../term/term-select";
import TabPane from "antd/es/tabs/TabPane";
export function LetterBasicForm() { export function LetterBasicForm() {
const { onSubmit, receiverId, termId, form } = useLetterEditor(); const { onSubmit, receiverId, termId, form } = useLetterEditor();
@ -66,7 +67,9 @@ export function LetterBasicForm() {
/> />
</Form.Item> </Form.Item>
<Tabs defaultActiveKey="1">
{/* Content Editor */} {/* Content Editor */}
<TabPane tab="正文" key="1">
<Form.Item <Form.Item
name="content" name="content"
rules={[{ required: true, message: "请输入内容" }]} rules={[{ required: true, message: "请输入内容" }]}
@ -82,15 +85,22 @@ export function LetterBasicForm() {
/> />
</div> </div>
</Form.Item> </Form.Item>
</TabPane>
<TabPane tab="附件" key="2">
<Form.Item name="resources" required={false}> <Form.Item name="resources" required={false}>
<div className="rounded-lg border border-gray-200 bg-white shadow-sm"> <div className="rounded-lg border border-gray-200 bg-white shadow-sm">
<TusUploader <TusUploader
onChange={(resources) => onChange={(resources) =>
form.setFieldValue("resources", resources) form.setFieldValue(
"resources",
resources
)
} }
/> />
</div> </div>
</Form.Item> </Form.Item>
</TabPane>
</Tabs>
{/* Footer Actions */} {/* Footer Actions */}
<div className="flex flex-col-reverse sm:flex-row items-center justify-between gap-4 mt-6"> <div className="flex flex-col-reverse sm:flex-row items-center justify-between gap-4 mt-6">
<Form.Item name="isPublic" valuePropName="checked"> <Form.Item name="isPublic" valuePropName="checked">