@@ -70,9 +70,12 @@ export let Playground: React.FC = () => {
7070 response : respIndex ,
7171 loading : loadingIndex ,
7272 } = useApi < string > ( 'GET' , 'code/index.yml' ) ;
73- let { request : reqCode , response : respCode , loading : loadingCode } = useApi <
74- string
75- > ( 'GET' , 'code/:file' ) ;
73+ let {
74+ request : reqCode ,
75+ error : errReqCode ,
76+ response : respCode ,
77+ loading : loadingCode ,
78+ } = useApi < string > ( 'GET' , 'code/:file' ) ;
7679 let preloading = loadingIndex || loadingCode ;
7780
7881 useEffect ( ( ) => {
@@ -89,19 +92,31 @@ export let Playground: React.FC = () => {
8992 let txt = respIndex . data ;
9093 let list = txt
9194 . split ( / \n / )
95+ . map ( s => s . replace ( / # .* / , '' ) . trim ( ) )
9296 . filter ( Boolean )
9397 . map ( v => v . replace ( / ^ - \s * / , '' ) ) ;
9498 let defaults = list [ 0 ] ;
9599 // reqCode({ pathParams: { file: file || defaults } });
96100 history . push ( `/playground/${ file || defaults } ` ) ;
97- } , [ file , history , reqCode , respIndex ] ) ;
101+ // eslint-disable-next-line react-hooks/exhaustive-deps
102+ } , [ file , respIndex ] ) ;
98103
99104 useEffect ( ( ) => {
100105 if ( respCode == null ) return ;
101106 codeBinding . controlled . onChange ( null , null , respCode . data ) ;
102107 // eslint-disable-next-line react-hooks/exhaustive-deps
103108 } , [ respCode ] ) ;
104109
110+ useEffect ( ( ) => {
111+ // if (errReqCode && String(errReqCode).includes('status code 404')) {
112+ // history.push('/'); // force redirect
113+ // }
114+ if ( errReqCode ) {
115+ displayError ( new Error ( `${ errReqCode . message } - ${ file } ` ) ) ;
116+ }
117+ // eslint-disable-next-line react-hooks/exhaustive-deps
118+ } , [ errReqCode ] ) ;
119+
105120 let [ preview , setPreview ] = useState ( '' ) ;
106121 let [ compiling , setCompiling ] = useState ( false ) ;
107122 let [ rendering , setRendering ] = useState ( false ) ;
0 commit comments