diff --git a/libs/remix-ui/xterm/src/lib/components/remix-ui-xterminals.tsx b/libs/remix-ui/xterm/src/lib/components/remix-ui-xterminals.tsx index d2fac6db86..2873e0a4dd 100644 --- a/libs/remix-ui/xterm/src/lib/components/remix-ui-xterminals.tsx +++ b/libs/remix-ui/xterm/src/lib/components/remix-ui-xterminals.tsx @@ -6,16 +6,16 @@ import { Button, ButtonGroup, Dropdown, Tab, Tabs } from 'react-bootstrap' import { CustomIconsToggle } from '@remix-ui/helper' import { RemixUiTerminal } from '@remix-ui/terminal' export interface RemixUiXterminalsProps { - plugin: ElectronPlugin - onReady: (api: any) => void + plugin: ElectronPlugin + onReady: (api: any) => void } export interface xtermState { - pid: number - queue: string - timeStamp: number - ref: any - hidden: boolean + pid: number + queue: string + timeStamp: number + ref: any + hidden: boolean } export const RemixUiXterminals = (props: RemixUiXterminalsProps) => { @@ -42,7 +42,7 @@ export const RemixUiXterminals = (props: RemixUiXterminalsProps) => { const removed = prevState.filter(xtermState => xtermState.pid !== pid) if (removed.length > 0) removed[removed.length - 1].hidden = false - if(removed.length === 0) + if (removed.length === 0) setShowOutput(true) return [...removed] }) @@ -79,10 +79,12 @@ export const RemixUiXterminals = (props: RemixUiXterminalsProps) => { const writeToTerminal = (data: string, pid: number) => { setTerminals(prevState => { const terminal = prevState.find(xtermState => xtermState.pid === pid) - if (terminal.ref && terminal.ref.terminal) { - terminal.ref.terminal.write(data) - } else { - terminal.queue += data + if (terminal) { + if (terminal.ref && terminal.ref.terminal) { + terminal.ref.terminal.write(data) + } else { + terminal.queue += data + } } return [...prevState] }) @@ -166,14 +168,14 @@ export const RemixUiXterminals = (props: RemixUiXterminalsProps) => {
- + {shells.map((shell, index) => { - return ( await createTerminal(shell)}>{shell}) + return ( await createTerminal(shell)}>{shell}) })} @@ -212,28 +214,52 @@ export const RemixUiXterminals = (props: RemixUiXterminalsProps) => { } const themeCollection = [ - { themeName: 'HackerOwl', backgroundColor: '#011628', textColor: '#babbcc', - shapeColor: '#8694a1',fillColor: '#011C32'}, - { themeName: 'Cerulean', backgroundColor: '#ffffff', textColor: '#343a40', - shapeColor: '#343a40',fillColor: '#f8f9fa'}, - { themeName: 'Cyborg', backgroundColor: '#060606', textColor: '#adafae', - shapeColor: '#adafae', fillColor: '#222222'}, - { themeName: 'Dark', backgroundColor: '#222336', textColor: '#babbcc', - shapeColor: '#babbcc',fillColor: '#2a2c3f'}, - { themeName: 'Flatly', backgroundColor: '#ffffff', textColor: '#343a40', - shapeColor: '#7b8a8b',fillColor: '#ffffff'}, - { themeName: 'Black', backgroundColor: '#1a1a1a', textColor: '#babbcc', - shapeColor: '#b5b4bc',fillColor: '#1f2020'}, - { themeName: 'Light', backgroundColor: '#eef1f6', textColor: '#3b445e', - shapeColor: '#343a40',fillColor: '#ffffff'}, - { themeName: 'Midcentury', backgroundColor: '#DBE2E0', textColor: '#11556c', - shapeColor: '#343a40',fillColor: '#eeede9'}, - { themeName: 'Spacelab', backgroundColor: '#ffffff', textColor: '#343a40', - shapeColor: '#333333', fillColor: '#eeeeee'}, - { themeName: 'Candy', backgroundColor: '#d5efff', textColor: '#11556c', - shapeColor: '#343a40',fillColor: '#fbe7f8' }, - { themeName: 'Violet', backgroundColor: '#f1eef6', textColor: '#3b445e', - shapeColor: '#343a40',fillColor: '#f8fafe' }, - { themeName: 'Pride', backgroundColor: '#f1eef6', textColor: '#343a40', - shapeColor: '#343a40',fillColor: '#f8fafe' }, + { + themeName: 'HackerOwl', backgroundColor: '#011628', textColor: '#babbcc', + shapeColor: '#8694a1', fillColor: '#011C32' + }, + { + themeName: 'Cerulean', backgroundColor: '#ffffff', textColor: '#343a40', + shapeColor: '#343a40', fillColor: '#f8f9fa' + }, + { + themeName: 'Cyborg', backgroundColor: '#060606', textColor: '#adafae', + shapeColor: '#adafae', fillColor: '#222222' + }, + { + themeName: 'Dark', backgroundColor: '#222336', textColor: '#babbcc', + shapeColor: '#babbcc', fillColor: '#2a2c3f' + }, + { + themeName: 'Flatly', backgroundColor: '#ffffff', textColor: '#343a40', + shapeColor: '#7b8a8b', fillColor: '#ffffff' + }, + { + themeName: 'Black', backgroundColor: '#1a1a1a', textColor: '#babbcc', + shapeColor: '#b5b4bc', fillColor: '#1f2020' + }, + { + themeName: 'Light', backgroundColor: '#eef1f6', textColor: '#3b445e', + shapeColor: '#343a40', fillColor: '#ffffff' + }, + { + themeName: 'Midcentury', backgroundColor: '#DBE2E0', textColor: '#11556c', + shapeColor: '#343a40', fillColor: '#eeede9' + }, + { + themeName: 'Spacelab', backgroundColor: '#ffffff', textColor: '#343a40', + shapeColor: '#333333', fillColor: '#eeeeee' + }, + { + themeName: 'Candy', backgroundColor: '#d5efff', textColor: '#11556c', + shapeColor: '#343a40', fillColor: '#fbe7f8' + }, + { + themeName: 'Violet', backgroundColor: '#f1eef6', textColor: '#3b445e', + shapeColor: '#343a40', fillColor: '#f8fafe' + }, + { + themeName: 'Pride', backgroundColor: '#f1eef6', textColor: '#343a40', + shapeColor: '#343a40', fillColor: '#f8fafe' + }, ] \ No newline at end of file