diff --git a/tldraw/apps/tldraw-logseq/src/hooks/useDrop.ts b/tldraw/apps/tldraw-logseq/src/hooks/useDrop.ts index ed4c590ce2..e526354c59 100644 --- a/tldraw/apps/tldraw-logseq/src/hooks/useDrop.ts +++ b/tldraw/apps/tldraw-logseq/src/hooks/useDrop.ts @@ -7,7 +7,7 @@ export function useDrop() { const handlePaste = usePaste() return React.useCallback['onDrop']>( async (app, { dataTransfer, point }) => { - handlePaste(app, { point, shiftKey: false, dataTransfer }) + handlePaste(app, { point, shiftKey: false, dataTransfer, fromDrop: true }) }, [] ) diff --git a/tldraw/apps/tldraw-logseq/src/hooks/usePaste.ts b/tldraw/apps/tldraw-logseq/src/hooks/usePaste.ts index d38562f9e6..d836561a83 100644 --- a/tldraw/apps/tldraw-logseq/src/hooks/usePaste.ts +++ b/tldraw/apps/tldraw-logseq/src/hooks/usePaste.ts @@ -8,7 +8,6 @@ import { TLShapeModel, uniqueId, validUUID, - createNewLineBinding, } from '@tldraw/core' import type { TLReactCallbacks } from '@tldraw/react' import Vec from '@tldraw/vec' @@ -102,7 +101,7 @@ export function usePaste() { const { handlers } = React.useContext(LogseqContext) return React.useCallback['onPaste']>( - async (app, { point, shiftKey, dataTransfer }) => { + async (app, { point, shiftKey, dataTransfer, fromDrop }) => { let imageAssetsToCreate: VideoImageAsset[] = [] let assetsToClone: TLAsset[] = [] const bindingsToCreate: TLBinding[] = [] @@ -150,8 +149,8 @@ export function usePaste() { async function tryCreateShapesFromDataTransfer(dataTransfer: DataTransfer) { return tryCreateShapeHelper( tryCreateShapeFromFiles, - tryCreateShapeFromTextPlain, tryCreateShapeFromTextHTML, + tryCreateShapeFromTextPlain, tryCreateShapeFromBlockUUID )(dataTransfer) } @@ -203,7 +202,8 @@ export function usePaste() { } async function tryCreateShapeFromTextHTML(item: DataTransfer | ClipboardItem) { - if (shiftKey) { + // skips if it's a drop event or using shift key + if (item.types.includes('text/plain') && (shiftKey || fromDrop)) { return null } const rawText = await getDataFromType(item, 'text/html') diff --git a/tldraw/apps/tldraw-logseq/src/lib/shapes/IFrameShape.tsx b/tldraw/apps/tldraw-logseq/src/lib/shapes/IFrameShape.tsx index f2fcad6db1..c299c8a3a5 100644 --- a/tldraw/apps/tldraw-logseq/src/lib/shapes/IFrameShape.tsx +++ b/tldraw/apps/tldraw-logseq/src/lib/shapes/IFrameShape.tsx @@ -30,7 +30,9 @@ export class IFrameShape extends TLBoxShape { } @action reload = () => { - this.frameRef.current.src = this.frameRef?.current?.src + if (this.frameRef.current) { + this.frameRef.current.src = this.frameRef?.current?.src + } } ReactComponent = observer(({ events, isErasing, isEditing }: TLComponentProps) => { @@ -46,7 +48,7 @@ export class IFrameShape extends TLBoxShape { {...events} >
iframe { diff --git a/tldraw/packages/core/src/types/types.ts b/tldraw/packages/core/src/types/types.ts index bea41beec0..387f2ee688 100644 --- a/tldraw/packages/core/src/types/types.ts +++ b/tldraw/packages/core/src/types/types.ts @@ -172,7 +172,7 @@ export type TLSubscriptionEvent = } | { event: 'paste' - info: { point: number[]; shiftKey: boolean; dataTransfer?: DataTransfer } + info: { point: number[]; shiftKey: boolean; dataTransfer?: DataTransfer, fromDrop?: boolean } } | { event: 'create-assets'