1- import React , { useState } from "react"
1+ import React , { useContext , useState } from "react"
22import clsx from "clsx"
33import { ThemeClassNames , usePrismTheme } from "@docusaurus/theme-common"
44import useIsBrowser from "@docusaurus/useIsBrowser"
@@ -9,10 +9,7 @@ import codeBlockContentStyles from "@docusaurus/theme-classic/src/theme/CodeBloc
99import styles from "./styles.module.css"
1010import Prism from "prism-react-renderer/prism"
1111
12- import runDeviceScript from "./runDeviceScript"
13- const clientConfig = {
14- ts : runDeviceScript ,
15- }
12+ import DevToolsContext from "@site/src/contexts/DevToolsContext"
1613
1714interface CodeBlockProps {
1815 lang : string
@@ -50,10 +47,7 @@ function RunButton(props: {
5047 const { onClick, runFinished } = props
5148 const text = "Run"
5249 return (
53- < button
54- className = "button button--primary"
55- onClick = { async ( ) => await onClick ( ) }
56- >
50+ < button className = "button button--primary" onClick = { onClick } >
5751 { runFinished ? text : "Running..." }
5852 </ button >
5953 )
@@ -172,9 +166,12 @@ export default function CustomCodeBlock(props: { input: CodeBlockProps }) {
172166 const [ output , setOutput ] = useState ( result )
173167 const [ lastSnippet , setLastSnippet ] = useState ( code )
174168 const codeChanged = lastSnippet !== currCode
175-
176- const onDidClickOutputToggle = ( ) => {
177- setOutputRendered ( ! outputRendered )
169+ const { setSource } = useContext ( DevToolsContext )
170+ const clientConfig = {
171+ ts : input => {
172+ setSource ( input )
173+ return JSON . stringify ( { output : "" , error : "" } )
174+ } ,
178175 }
179176
180177 // bypassing server-side rendering
@@ -185,8 +182,8 @@ export default function CustomCodeBlock(props: { input: CodeBlockProps }) {
185182
186183 const runProcess = clientConfig [ lang ]
187184
188- let input = currCode
189- let process = runProcess ( input )
185+ const input = currCode
186+ let process = runProcess ( input , setSource )
190187
191188 // `z3.interrupt` -- set the cancel status of an ongoing execution, potentially with a timeout (soft? hard? we should use hard)
192189 try {
0 commit comments