import React from "react" import { PlusOutlined, DeleteOutlined } from "@ant-design/icons" import { Popconfirm } from "antd" import type { LibraryItem } from "@/pages/assets/types" import { kindLabel } from "@/pages/assets/utils/asset" import { kindIcon } from "@/pages/assets/utils/kindIcon" /* ============================================================ * LibrarySidebar — 左侧素材库列表 * ============================================================ */ export interface LibrarySidebarProps { libraries: LibraryItem[] activeLibId: string onSelect: (id: string) => void onDelete: (id: string) => void onCreateClick: () => void } const LibrarySidebar: React.FC = ({ libraries, activeLibId, onSelect, onDelete, onCreateClick, }) => (
{libraries.map((lib) => (
onSelect(lib.id)} >

{kindIcon(lib.kind)} {lib.name}

{ e?.stopPropagation() onDelete(lib.id) }} onCancel={(e) => e?.stopPropagation()} okText="删除" cancelText="取消" >
{kindLabel(lib.kind)} · {lib.count} 个素材
))} {/* 新建视频库 */}
新建视频库
) export default LibrarySidebar