diff --git a/src/main.tsx b/src/main.tsx index 476669e08..ae820a0b1 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1333,6 +1333,16 @@ function getConnVal(r : RemoteType) : number { return 4; } +@mobxReact.observer +class RemoteStatusLight extends React.Component<{status : string}, {}> { + render() { + let status = this.props.status; + return ( + + ); + } +} + @mobxReact.observer class MainSideBar extends React.Component<{}, {}> { collapsed : mobx.IObservableValue = mobx.observable.box(false); @@ -1381,15 +1391,7 @@ class MainSideBar extends React.Component<{}, {}> { let remotes = model.remotes ?? []; let remote : RemoteType = null; let idx : number = 0; - remotes = remotes.filter((r) => !r.archived); - remotes.sort((a, b) => { - let connValA = getConnVal(a); - let connValB = getConnVal(b); - if (connValA != connValB) { - return connValA - connValB; - } - return a.remoteidx - b.remoteidx; - }); + remotes = sortAndFilterRemotes(remotes); return (
@@ -1457,7 +1459,7 @@ class MainSideBar extends React.Component<{}, {}> {
  • this.clickRemote(remote)}> - + {this.remoteDisplayName(remote)}
  • @@ -1469,6 +1471,19 @@ class MainSideBar extends React.Component<{}, {}> { } } +function sortAndFilterRemotes(origRemotes : RemoteType[]) : RemoteType[] { + let remotes = origRemotes.filter((r) => !r.archived); + remotes.sort((a, b) => { + let connValA = getConnVal(a); + let connValB = getConnVal(b); + if (connValA != connValB) { + return connValA - connValB; + } + return a.remoteidx - b.remoteidx; + }); + return remotes; +} + @mobxReact.observer class RemoteModal extends React.Component<{}, {}> { @@ -1486,7 +1501,7 @@ class RemoteModal extends React.Component<{}, {}> { render() { let model = GlobalModel; - let remotes = model.remotes; + let remotes = sortAndFilterRemotes(model.remotes); let remote : RemoteType = null; return (
    @@ -1509,7 +1524,7 @@ class RemoteModal extends React.Component<{}, {}> { -
    +
    {remote.remotealias} diff --git a/src/sh2.less b/src/sh2.less index 57f6c3efd..d474b37cc 100644 --- a/src/sh2.less +++ b/src/sh2.less @@ -1113,10 +1113,6 @@ body .xterm .xterm-viewport { &.status-connecting { color: #c4a000; - font-size: 12px; - position: relative; - top: 0px; - margin-left: -3px; } &.status-connected { @@ -1127,3 +1123,10 @@ body .xterm .xterm-viewport { color: #cc0000; } } + +.menu-list .remote-status .status-connecting { + position: relative; + top: 0px; + font-size: 12px; + margin-left: -3px; +} diff --git a/src/types.ts b/src/types.ts index 36b032040..4d430c438 100644 --- a/src/types.ts +++ b/src/types.ts @@ -229,6 +229,7 @@ type CmdDataType = { cmdstr : string, remotestate : RemoteStateType, termopts : TermOptsType, + origtermopts : TermOptsType, status : string, startpk : CmdStartPacketType, donepk : CmdDonePacketType,