feat: 编辑博客支持Slug字段,添加复制链接功能

This commit is contained in:
2025-12-27 13:19:17 +08:00
parent 3ea57ba023
commit 8c43f5fa73
4 changed files with 38 additions and 1 deletions

View File

@@ -20,6 +20,7 @@ import { BlogPermissionCheckBoxs } from "./BlogPermissionCheckBoxs"
import { BlogPermission } from "@/lib/types/Blog.Permission.enum"
import { SetPasswordDialog } from "./SetPasswordDialog"
import { AdminAPI } from "@/lib/api/client"
import { copyShareURL } from "./utils"
interface BlogEditProps {
id: string;
@@ -46,6 +47,7 @@ export default function BlogEdit({ id, children, onRefresh }: BlogEditProps) {
await AdminAPI.updateBlog(id, {
title: blog.title,
description: blog.description,
slug: blog.slug,
contentUrl: blog.contentUrl,
permissions: blog.permissions,
});
@@ -106,6 +108,17 @@ export default function BlogEdit({ id, children, onRefresh }: BlogEditProps) {
onChange={(e) => mutate({ ...blog, description: e.target.value }, false)}
/>
</div>
<div className="grid grid-cols-4 items-center gap-4">
<Label htmlFor="slug" className="text-right">
Slug
</Label>
<Input
id="slug"
className="col-span-3"
value={blog.slug}
onChange={(e) => mutate({ ...blog, slug: e.target.value }, false)}
/>
</div>
<div className="grid grid-cols-4 items-center gap-4">
<Label htmlFor="contentUrl" className="text-right">
URL
@@ -151,6 +164,11 @@ export default function BlogEdit({ id, children, onRefresh }: BlogEditProps) {
<div className="w-full flex justify-between">
<div>
<Button variant='destructive' onClick={handleDelete}></Button>
<Button variant='outline' className="ml-2" onClick={() => copyShareURL({
slug: blog.slug,
permissions: blog.permissions,
password: ''
})}></Button>
</div>
<div>
<Button type="button" variant='secondary' onClick={() => setOpen(false)}></Button>