@@ -248,6 +248,8 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
248248 }
249249 }
250250
251+ const isFocused = createFocusSignal ( ( ) => editorRef )
252+
251253 createEffect ( ( ) => {
252254 params . id
253255 editorRef . focus ( )
@@ -258,7 +260,6 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
258260 onCleanup ( ( ) => clearInterval ( interval ) )
259261 } )
260262
261- const isFocused = createFocusSignal ( ( ) => editorRef )
262263 const [ composing , setComposing ] = createSignal ( false )
263264 const isImeComposing = ( event : KeyboardEvent ) => event . isComposing || composing ( ) || event . keyCode === 229
264265
@@ -292,21 +293,20 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
292293 const clipboardData = event . clipboardData
293294 if ( ! clipboardData ) return
294295
296+ event . preventDefault ( )
297+ event . stopPropagation ( )
298+
295299 const items = Array . from ( clipboardData . items )
296300 const imageItems = items . filter ( ( item ) => ACCEPTED_FILE_TYPES . includes ( item . type ) )
297301
298302 if ( imageItems . length > 0 ) {
299- event . preventDefault ( )
300- event . stopPropagation ( )
301303 for ( const item of imageItems ) {
302304 const file = item . getAsFile ( )
303305 if ( file ) await addImageAttachment ( file )
304306 }
305307 return
306308 }
307309
308- event . preventDefault ( )
309- event . stopPropagation ( )
310310 const plainText = clipboardData . getData ( "text/plain" ) ?? ""
311311 addPart ( { type : "text" , content : plainText , start : 0 , end : 0 } )
312312 }
@@ -347,13 +347,11 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
347347 }
348348
349349 onMount ( ( ) => {
350- editorRef . addEventListener ( "paste" , handlePaste )
351350 document . addEventListener ( "dragover" , handleGlobalDragOver )
352351 document . addEventListener ( "dragleave" , handleGlobalDragLeave )
353352 document . addEventListener ( "drop" , handleGlobalDrop )
354353 } )
355354 onCleanup ( ( ) => {
356- editorRef . removeEventListener ( "paste" , handlePaste )
357355 document . removeEventListener ( "dragover" , handleGlobalDragOver )
358356 document . removeEventListener ( "dragleave" , handleGlobalDragLeave )
359357 document . removeEventListener ( "drop" , handleGlobalDrop )
@@ -1508,6 +1506,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
15081506 } }
15091507 contenteditable = "true"
15101508 onInput = { handleInput }
1509+ onPaste = { handlePaste }
15111510 onCompositionStart = { ( ) => setComposing ( true ) }
15121511 onCompositionEnd = { ( ) => setComposing ( false ) }
15131512 onKeyDown = { handleKeyDown }
0 commit comments