feat(studio/robot-authors): manual edit form
Adds an "编辑" action opening a sheet form to edit a robot author's status, persona, positioning, target readers, and the article/image/publishing style objects (JSON-validated as objects). Saves via the existing admin PUT endpoint, then refetches the enriched list.
This commit is contained in:
@@ -11,6 +11,7 @@ import { useListPage } from '@/lib/list-page'
|
||||
import { CategoryPicker } from '@/features/categories/category-picker'
|
||||
import { useCategoryOptions } from '@/features/categories/use-categories'
|
||||
import { DetailSheet } from '@/features/studio/detail-sheet'
|
||||
import { RobotAuthorEditSheet } from '@/features/studio/robot-author-edit-sheet'
|
||||
import { DataTable } from '@/components/data-table/data-table'
|
||||
import { PageHeader } from '@/components/page-header'
|
||||
import { StatusPill } from '@/components/status-pill'
|
||||
@@ -37,6 +38,7 @@ function RobotAuthorsPage() {
|
||||
const [status, setStatus] = useState('all')
|
||||
const [categoryId, setCategoryId] = useState<string | null>(null)
|
||||
const [detail, setDetail] = useState<StudioRobotAuthor | null>(null)
|
||||
const [editing, setEditing] = useState<StudioRobotAuthor | null>(null)
|
||||
const { nameOf } = useCategoryOptions()
|
||||
|
||||
const filters: ListParams = {}
|
||||
@@ -112,6 +114,9 @@ function RobotAuthorsPage() {
|
||||
<Button size="sm" variant="ghost" onClick={() => setDetail(row.original)}>
|
||||
详情
|
||||
</Button>
|
||||
<Button size="sm" variant="outline" onClick={() => setEditing(row.original)}>
|
||||
编辑
|
||||
</Button>
|
||||
{row.original.status === 'paused' ? (
|
||||
<Button size="sm" variant="outline" onClick={() => setAuthorStatus(row.original, 'ready')}>
|
||||
恢复
|
||||
@@ -189,6 +194,8 @@ function RobotAuthorsPage() {
|
||||
{ label: '发布规则', value: detail?.publishing_rules },
|
||||
]}
|
||||
/>
|
||||
|
||||
<RobotAuthorEditSheet author={editing} onOpenChange={(open) => !open && setEditing(null)} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user