import { mRequest } from "@/app/_lib/request"
import ImageUpload from "@/app/_ui/ImageUpload"
import { Link } from "@/app/api/link/route"
import {
Button,
Card,
Form,
Image,
Input,
InputNumber,
message,
Modal,
Popconfirm,
Space,
Table,
} from "antd"
import { useCallback, useEffect, useState } from "react"
export default function LinkTable(props: { id: string }) {
const [list, setList] = useState([])
const [loading, setLoading] = useState(false)
const refresh = useCallback(async () => {
setLoading(true)
const res = await mRequest<{ list: Link[] }>(
"GET",
`/api/link?typeId=${props.id}&page=1&pageSize=9999`
)
setList(res.list)
setLoading(false)
}, [props.id])
useEffect(() => {
refresh()
}, [refresh])
const [selected, setSelected] = useState(
undefined
)
return (
}
>
loading={loading}
dataSource={list}
pagination={false}
rowKey="_id"
columns={[
{
title: "名称",
dataIndex: "name",
},
{
title: "图标",
dataIndex: "logoLink",
render: (_, row) => (
)
},
{
title: "操作",
fixed: "right",
width: 200,
render: (_, row) => (
{
await mRequest("DELETE", "/app/link/" + row.id, {
returnType: "text",
})
refresh()
message.success("删除成功")
}}
>
),
},
]}
/>
setSelected(undefined)}
destroyOnClose
title={(selected ? "编辑" : "新增") + "链接"}
footer={false}
>
)
}