File tree Expand file tree Collapse file tree 2 files changed +10
-9
lines changed
apps/web/client/src/app/project/[id]/_components/canvas/frame Expand file tree Collapse file tree 2 files changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -9,15 +9,10 @@ import { observer } from 'mobx-react-lite';
9
9
import { useCallback , useEffect , useMemo } from 'react' ;
10
10
import { RightClickMenu } from './right-click' ;
11
11
import type { WebFrameView } from './web-frame' ;
12
- export const GestureScreen = observer ( ( { frame, webFrameRef } : { frame : WebFrame , webFrameRef : React . RefObject < WebFrameView | null > } ) => {
12
+
13
+ export const GestureScreen = observer ( ( { frame, webFrame } : { frame : WebFrame , webFrame : WebFrameView } ) => {
13
14
const editorEngine = useEditorEngine ( ) ;
14
15
const isResizing = false ;
15
- const webFrame = webFrameRef . current ;
16
-
17
- if ( ! webFrame ) {
18
- console . log ( 'No web frame found in gesture screen for frame' , frame . id ) ;
19
- return null ;
20
- }
21
16
22
17
const getRelativeMousePosition = ( e : React . MouseEvent < HTMLDivElement > ) : ElementPosition => {
23
18
return getRelativeMousePositionToWebview ( e , webFrame ) ;
Original file line number Diff line number Diff line change 1
1
import { FrameType , type Frame , type WebFrame } from "@onlook/models" ;
2
2
import { observer } from "mobx-react-lite" ;
3
- import { useRef } from "react" ;
3
+ import { useEffect , useRef , useState } from "react" ;
4
4
import { GestureScreen } from './gesture' ;
5
5
import { ResizeHandles } from './resize-handles' ;
6
6
import { TopBar } from "./top-bar" ;
@@ -13,6 +13,12 @@ export const FrameView = observer(
13
13
frame : Frame ;
14
14
} ) => {
15
15
const webFrameRef = useRef < WebFrameView > ( null ) ;
16
+ const [ webFrame , setWebFrame ] = useState < WebFrameView | null > ( null ) ;
17
+
18
+ useEffect ( ( ) => {
19
+ setWebFrame ( webFrameRef . current ) ;
20
+ } , [ webFrameRef . current ] ) ;
21
+
16
22
return (
17
23
< div
18
24
className = "flex flex-col fixed"
@@ -23,7 +29,7 @@ export const FrameView = observer(
23
29
< div className = "relative" >
24
30
< ResizeHandles frame = { frame } />
25
31
{ frame . type === FrameType . WEB && < WebFrameComponent frame = { frame as WebFrame } ref = { webFrameRef } /> }
26
- < GestureScreen frame = { frame as WebFrame } webFrameRef = { webFrameRef } />
32
+ { webFrame && < GestureScreen frame = { frame as WebFrame } webFrame = { webFrame } /> }
27
33
{ /* {domFailed && shouldShowDomFailed && renderNotRunning()} */ }
28
34
</ div >
29
35
You can’t perform that action at this time.
0 commit comments