22import { Heading } from "@/[docs_id]/markdown" ;
33import "mocha/mocha.js" ;
44import "mocha/mocha.css" ;
5- import { useRef , useState } from "react" ;
5+ import { useEffect , useRef , useState } from "react" ;
66import { usePyodide } from "./python/runtime" ;
77import { useWandbox } from "./wandbox/runtime" ;
88import { RuntimeContext , RuntimeLang } from "./runtime" ;
99import { useEmbedContext } from "./embedContext" ;
10- import { useSearchParams } from "next/navigation" ;
1110import { defineTests } from "./tests" ;
1211
1312export default function RuntimeTestPage ( ) {
@@ -24,7 +23,10 @@ export default function RuntimeTestPage() {
2423 const [ mochaState , setMochaState ] = useState < "idle" | "running" | "finished" > (
2524 "idle"
2625 ) ;
27- const searchParams = useSearchParams ( ) ;
26+ const [ searchParams , setSearchParams ] = useState < string > ( "" ) ;
27+ useEffect ( ( ) => {
28+ setSearchParams ( window . location . search ) ;
29+ } , [ ] ) ;
2830
2931 const runTest = ( ) => {
3032 setMochaState ( "running" ) ;
@@ -79,10 +81,12 @@ export default function RuntimeTestPage() {
7981 </ div >
8082 ) }
8183 < p className = "mt-8" >
82- { searchParams . has ( "grep" ) && (
84+ { new URLSearchParams ( searchParams ) . has ( "grep" ) && (
8385 < >
8486 一部のテスト結果のみ表示しています:
85- < code className = "ml-2 font-mono" > { searchParams . get ( "grep" ) } </ code >
87+ < code className = "ml-2 font-mono" >
88+ { new URLSearchParams ( searchParams ) . get ( "grep" ) }
89+ </ code >
8690 { /* eslint-disable-next-line @next/next/no-html-link-for-pages */ }
8791 < a className = "ml-4 btn btn-primary" href = "/terminal" >
8892 { /* aタグでページをリロードしないと動作しない。 */ }
0 commit comments