diff --git a/src/main.tsx b/src/main.tsx
index ae820a0b..78388a96 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1384,6 +1384,13 @@ class MainSideBar extends React.Component<{}, {}> {
GlobalCommandRunner.showRemote(remote.remoteid);
}
+ @boundMethod
+ handleAddRemote() : void {
+ mobx.action(() => {
+ GlobalModel.addRemoteModalOpen.set(true);
+ })();
+ }
+
render() {
let model = GlobalModel;
let activeSessionId = model.activeSessionId.get();
@@ -1415,7 +1422,7 @@ class MainSideBar extends React.Component<{}, {}> {
{session.name.get()}
-
this.handleNewSession()}> New Session
+ this.handleNewSession()}> New Session
@@ -1425,7 +1432,7 @@ class MainSideBar extends React.Component<{}, {}> {
server-status
bug-3458 3
dev-build
- New Session
+ New Session
Direct Messages
@@ -1463,6 +1470,9 @@ class MainSideBar extends React.Component<{}, {}> {
{this.remoteDisplayName(remote)}
+
+ this.handleAddRemote()}> Add Remote
+
@@ -1485,32 +1495,62 @@ function sortAndFilterRemotes(origRemotes : RemoteType[]) : RemoteType[] {
}
@mobxReact.observer
-class RemoteModal extends React.Component<{}, {}> {
+class AddRemoteModal extends React.Component<{}, {}> {
+ @boundMethod
+ handleModalClose() : void {
+ mobx.action(() => {
+ GlobalModel.addRemoteModalOpen.set(false);
+ })();
+ }
+
+ render() {
+ return (
+
+
+
+
+
+ hello
+
+
+
+
+
+
+
+
+ );
+ }
+}
+@mobxReact.observer
+class RemoteModal extends React.Component<{}, {}> {
@boundMethod
handleModalClose() : void {
mobx.action(() => {
GlobalModel.remotesModalOpen.set(false);
})();
}
-
- @boundMethod
- handleAddRemote() : void {
- console.log("add-remote");
- }
render() {
let model = GlobalModel;
let remotes = sortAndFilterRemotes(model.remotes);
let remote : RemoteType = null;
return (
-
+
-
+
@@ -1543,7 +1583,7 @@ class RemoteModal extends React.Component<{}, {}> {
-
+
);
}
diff --git a/src/model.ts b/src/model.ts
index 84e1a980..8da7ba4b 100644
--- a/src/model.ts
+++ b/src/model.ts
@@ -1218,6 +1218,7 @@ class Model {
inputModel : InputModel;
termUsedRowsCache : Record
= {};
remotesModalOpen : OV = mobx.observable.box(false);
+ addRemoteModalOpen : OV = mobx.observable.box(false);
constructor() {
this.clientId = getApi().getId();
diff --git a/src/sh2.less b/src/sh2.less
index d474b37c..8e3e3ab8 100644
--- a/src/sh2.less
+++ b/src/sh2.less
@@ -223,14 +223,16 @@ html, body, #main {
margin-bottom: 0px;
}
- .menu-list li.new-session {
- a.new-session {
- color: #666;
- font-size: 13px;
- }
-
- .fa {
- font-size: 10px;
+ .menu-list {
+ li.new-session, li.add-remote {
+ a {
+ color: #666;
+ font-size: 13px;
+ }
+
+ .fa {
+ font-size: 10px;
+ }
}
}
@@ -1042,7 +1044,7 @@ body .xterm .xterm-viewport {
.mono-font(inherit, 600);
}
-.remote-modal {
+.sc-modal {
.modal-content {
padding: 10px;
@@ -1050,43 +1052,16 @@ body .xterm .xterm-viewport {
font-size: 20px;
margin-bottom: 10px;
}
-
- .remotes-content {
+
+ .message-content {
flex-grow: 1;
max-height: 80%;
overflow-y: auto;
display: flex;
flex-direction: column;
-
- .table {
- th.status-header {
- width: 40px;
- }
-
- tbody td {
- vertical-align: middle;
- }
-
- .status-cell {
- .remote-status {
- font-size: 16px;
- top: 0;
- margin-right: 0;
- }
-
- .status-text {
- font-size: 12px;
- }
- }
- }
}
- .remote-item {
- display: flex;
- flex-direction: row;
- }
-
- .remotes-footer {
+ .message-footer {
border-top: 1px solid #666;
padding-top: 15px;
display: flex;
@@ -1100,6 +1075,32 @@ body .xterm .xterm-viewport {
}
}
+.remote-modal {
+ .message-content {
+ .table {
+ th.status-header {
+ width: 40px;
+ }
+
+ tbody td {
+ vertical-align: middle;
+ }
+
+ .status-cell {
+ .remote-status {
+ font-size: 16px;
+ top: 0;
+ margin-right: 0;
+ }
+
+ .status-text {
+ font-size: 12px;
+ }
+ }
+ }
+ }
+}
+
.remote-status {
font-size: 8px;
margin-right: 5px;