完善图片画布素材与上下文操作

添加素材拖拽上传遮罩、素材移动和默认文件夹归一

补齐画布右键菜单、复制剪切粘贴、层级和翻转操作

补齐生成图入库、项目返回入口和项目名称标题

扩展画布测试覆盖素材、右键菜单、生成图和布局交互
This commit is contained in:
2026-06-15 15:56:30 +08:00
parent 0bc7db5bf6
commit a3fed35cbd
4 changed files with 2182 additions and 271 deletions

View File

@@ -1,6 +1,7 @@
import type {
ComponentType,
DragEventHandler,
MouseEventHandler,
PointerEventHandler,
ReactNode,
} from 'react';
@@ -68,9 +69,14 @@ export type SidebarMediaItemProps = {
primaryClassName?: string;
actions?: ReactNode;
titleNode?: ReactNode;
draggable?: boolean;
onDragStart?: DragEventHandler<HTMLDivElement>;
onDragEnd?: DragEventHandler<HTMLDivElement>;
onDragOver?: DragEventHandler<HTMLDivElement>;
onDrop?: DragEventHandler<HTMLDivElement>;
onPointerDown?: PointerEventHandler<HTMLDivElement>;
onPointerEnter?: PointerEventHandler<HTMLDivElement>;
onContextMenu?: MouseEventHandler<HTMLDivElement>;
};
export function SidebarMediaItem({
@@ -87,16 +93,26 @@ export function SidebarMediaItem({
primaryClassName,
actions,
titleNode,
draggable,
onDragStart,
onDragEnd,
onDragOver,
onDrop,
onPointerDown,
onPointerEnter,
onContextMenu,
}: SidebarMediaItemProps) {
return (
<div
className={`${rowClassName} ${selected ? `${rowClassName}--selected` : ''}`}
draggable={draggable}
onDragStart={onDragStart}
onDragEnd={onDragEnd}
onDragOver={onDragOver}
onDrop={onDrop}
onPointerDown={onPointerDown}
onPointerEnter={onPointerEnter}
onContextMenu={onContextMenu}
>
<button
type="button"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff