This commit is contained in:
ACoolName 2024-06-02 16:59:05 +03:00
parent 03ed3eefd5
commit b4e3a3b82d
3 changed files with 17 additions and 1 deletions

14
package-lock.json generated
View File

@ -28,6 +28,7 @@
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-jsonschema-form": "^1.8.1", "react-jsonschema-form": "^1.8.1",
"react-new-window": "^1.0.1",
"react-router-dom": "^6.19.0", "react-router-dom": "^6.19.0",
"react-routes": "^0.2.6", "react-routes": "^0.2.6",
"react-scripts": "5.0.1", "react-scripts": "5.0.1",
@ -14325,6 +14326,19 @@
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
}, },
"node_modules/react-new-window": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/react-new-window/-/react-new-window-1.0.1.tgz",
"integrity": "sha512-pLQlq5NzMxNocXKPIwkXfAxSOZmbpWSbP8QrxCbunpHcx4k249YChkk7l/7P4jjwxq3dI/xwL3nVHLp6h5zM3w==",
"license": "MIT",
"dependencies": {
"prop-types": "^15.7.2"
},
"peerDependencies": {
"react": "^16.0.0 || ^18.0.0",
"react-dom": "^16.0.0 || ^18.0.0"
}
},
"node_modules/react-refresh": { "node_modules/react-refresh": {
"version": "0.11.0", "version": "0.11.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",

View File

@ -23,6 +23,7 @@
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-jsonschema-form": "^1.8.1", "react-jsonschema-form": "^1.8.1",
"react-new-window": "^1.0.1",
"react-router-dom": "^6.19.0", "react-router-dom": "^6.19.0",
"react-routes": "^0.2.6", "react-routes": "^0.2.6",
"react-scripts": "5.0.1", "react-scripts": "5.0.1",

View File

@ -1,5 +1,6 @@
// src/components/Terminal.tsx // src/components/Terminal.tsx
import React, { useEffect, useRef } from 'react'; import React, { useEffect, useRef } from 'react';
import NewWindow from 'react-new-window';
import { Terminal } from 'xterm'; import { Terminal } from 'xterm';
import { FitAddon } from 'xterm-addon-fit'; import { FitAddon } from 'xterm-addon-fit';
import 'xterm/css/xterm.css'; import 'xterm/css/xterm.css';
@ -77,7 +78,7 @@ function TerminalComponent (p: {websocket: string|null}) {
useTerminalResize(terminalRef, fitAddon.current!) useTerminalResize(terminalRef, fitAddon.current!)
return <div ref={terminalRef} style={{ width: '100%', height: '100%' }}></div>; return <NewWindow><div ref={terminalRef} style={{ width: '100%', height: '100%' }}></div></NewWindow>
}; };
export default TerminalComponent; export default TerminalComponent;