fix: 修复画布资源定位状态误报

让 focusResource 返回资源匹配结果
未找到画布图层时向右键菜单返回失败状态
补充资源定位成功与失败的回归测试
This commit is contained in:
2026-07-31 13:34:29 +08:00
parent 65fabe51ab
commit cfd129a0bf
5 changed files with 20 additions and 9 deletions
@@ -4,6 +4,7 @@ import {
useState,
} from 'react';
import type { ImageCanvasActions } from '@/src/components/image-editor/ImageCanvasActionsContext.ts';
import { readAssetBytes } from '@/src/services/assetReadUrlService.ts';
import { copyTextToClipboard } from '@/src/services/clipboard.ts';
import {
@@ -234,7 +235,7 @@ async function downloadAsset(asset: EditorAgentContextAsset) {
function focusAssetOnCanvas(
asset: EditorAgentContextAsset,
onFocusResource?: (resourceId: string) => void,
onFocusResource?: ImageCanvasActions['focusResource'],
) {
if (asset.kind !== 'generated_media' || !onFocusResource) {
return false;
@@ -243,8 +244,7 @@ function focusAssetOnCanvas(
if (!resourceId) {
return false;
}
onFocusResource(resourceId);
return true;
return onFocusResource(resourceId).found;
}
export function useRightClickMenu({
@@ -252,7 +252,7 @@ export function useRightClickMenu({
onFocusResource,
}: {
onReferenceImage?: (asset: EditorAgentContextAsset) => boolean;
onFocusResource?: (resourceId: string) => void;
onFocusResource?: ImageCanvasActions['focusResource'];
} = {}) {
const [rightClickMenu, setRightClickMenu] =
useState<RightClickMenuState | null>(null);