@@ -11,26 +11,26 @@ import {
1111import { ConnectionButton } from "@/app/block/connectionbutton" ;
1212import { DurableSessionFlyover } from "@/app/block/durable-session-flyover" ;
1313import { getBlockBadgeAtom } from "@/app/store/badge" ;
14- import { ContextMenuModel } from "@/app/store/contextmenu" ;
1514import { recordTEvent , refocusNode } from "@/app/store/global" ;
1615import { globalStore } from "@/app/store/jotaiStore" ;
1716import { uxCloseBlock } from "@/app/store/keymodel" ;
1817import { TabRpcClient } from "@/app/store/wshrpcutil" ;
1918import { useWaveEnv } from "@/app/waveenv/waveenv" ;
20- import { BlockEnv } from "./blockenv" ;
2119import { IconButton } from "@/element/iconbutton" ;
2220import { NodeModel } from "@/layout/index" ;
2321import * as util from "@/util/util" ;
2422import { cn , makeIconClass } from "@/util/util" ;
2523import * as jotai from "jotai" ;
2624import * as React from "react" ;
25+ import { BlockEnv } from "./blockenv" ;
2726import { BlockFrameProps } from "./blocktypes" ;
2827
2928function handleHeaderContextMenu (
3029 e : React . MouseEvent < HTMLDivElement > ,
3130 blockId : string ,
3231 viewModel : ViewModel ,
33- nodeModel : NodeModel
32+ nodeModel : NodeModel ,
33+ blockEnv : BlockEnv
3434) {
3535 e . preventDefault ( ) ;
3636 e . stopPropagation ( ) ;
@@ -59,7 +59,7 @@ function handleHeaderContextMenu(
5959 click : ( ) => uxCloseBlock ( blockId ) ,
6060 }
6161 ) ;
62- ContextMenuModel . getInstance ( ) . showContextMenu ( menu , e ) ;
62+ blockEnv . showContextMenu ( menu , e ) ;
6363}
6464
6565type HeaderTextElemsProps = {
@@ -113,6 +113,7 @@ type HeaderEndIconsProps = {
113113} ;
114114
115115const HeaderEndIcons = React . memo ( ( { viewModel, nodeModel, blockId } : HeaderEndIconsProps ) => {
116+ const blockEnv = useWaveEnv < BlockEnv > ( ) ;
116117 const endIconButtons = util . useAtomValueSafe ( viewModel ?. endIconButtons ) ;
117118 const magnified = jotai . useAtomValue ( nodeModel . isMagnified ) ;
118119 const ephemeral = jotai . useAtomValue ( nodeModel . isEphemeral ) ;
@@ -128,7 +129,7 @@ const HeaderEndIcons = React.memo(({ viewModel, nodeModel, blockId }: HeaderEndI
128129 elemtype : "iconbutton" ,
129130 icon : "cog" ,
130131 title : "Settings" ,
131- click : ( e ) => handleHeaderContextMenu ( e , blockId , viewModel , nodeModel ) ,
132+ click : ( e ) => handleHeaderContextMenu ( e , blockId , viewModel , nodeModel , blockEnv ) ,
132133 } ;
133134 endIconsElem . push ( < IconButton key = "settings" decl = { settingsDecl } className = "block-frame-settings" /> ) ;
134135 if ( ephemeral ) {
@@ -211,7 +212,7 @@ const BlockFrame_Header = ({
211212 className = { cn ( "block-frame-default-header" , useTermHeader && "!pl-[2px]" ) }
212213 data-role = "block-header"
213214 ref = { dragHandleRef }
214- onContextMenu = { ( e ) => handleHeaderContextMenu ( e , nodeModel . blockId , viewModel , nodeModel ) }
215+ onContextMenu = { ( e ) => handleHeaderContextMenu ( e , nodeModel . blockId , viewModel , nodeModel , waveEnv ) }
215216 >
216217 { ! useTermHeader && (
217218 < >
0 commit comments