diff --git a/package.json b/package.json
index 2f06bdf0ca..88fb701a22 100644
--- a/package.json
+++ b/package.json
@@ -11,13 +11,12 @@
},
"bugs": "https://github.com/kitematic/kitematic/issues",
"scripts": {
- "start": "gulp",
+ "start": "grunt",
"test": "jest -c jest-unit.json",
"integration": "jest -c jest-integration.json",
"release": "grunt release",
"release:beta": "grunt release --beta=true",
- "lint": "jsxhint src",
- "reset": "gulp reset"
+ "lint": "jsxhint src"
},
"licenses": [
{
diff --git a/src/components/ContainerDetailsSubheader.react.js b/src/components/ContainerDetailsSubheader.react.js
index 67c383e14f..e4793d6d5b 100644
--- a/src/components/ContainerDetailsSubheader.react.js
+++ b/src/components/ContainerDetailsSubheader.react.js
@@ -1,3 +1,4 @@
+var $ = require('jquery');
var _ = require('underscore');
var React = require('react');
var exec = require('exec');
@@ -6,8 +7,10 @@ var metrics = require('../utils/MetricsUtil');
var ContainerUtil = require('../utils/ContainerUtil');
var util = require('../utils/Util');
var machine = require('../utils/DockerMachineUtil');
+var RetinaImage = require('react-retina-image');
var classNames = require('classnames');
var resources = require('../utils/ResourcesUtil');
+var dockerUtil = require('../utils/DockerUtil');
var containerActions = require('../actions/ContainerActions');
var dockerMachineUtil = require('../utils/DockerMachineUtil');
diff --git a/src/components/ContainerHomePreview.react.js b/src/components/ContainerHomePreview.react.js
index 63644bbb11..29ff41c9de 100644
--- a/src/components/ContainerHomePreview.react.js
+++ b/src/components/ContainerHomePreview.react.js
@@ -62,6 +62,7 @@ var ContainerHomePreview = React.createClass({
{frame}
+
);
diff --git a/src/components/Containers.react.js b/src/components/Containers.react.js
index 449afb4835..521001629a 100644
--- a/src/components/Containers.react.js
+++ b/src/components/Containers.react.js
@@ -6,6 +6,7 @@ var containerStore = require('../stores/ContainerStore');
var ContainerList = require('./ContainerList.react');
var Header = require('./Header.react');
var metrics = require('../utils/MetricsUtil');
+var RetinaImage = require('react-retina-image');
var shell = require('shell');
var machine = require('../utils/DockerMachineUtil');
diff --git a/src/components/Header.react.js b/src/components/Header.react.js
index f1f59b861a..2452cc8a5f 100644
--- a/src/components/Header.react.js
+++ b/src/components/Header.react.js
@@ -139,7 +139,12 @@ var Header = React.createClass({
username = (
- {this.state.username} {this.state.verified ? null : '(Unverified)'}
+
+
+ {this.state.username}
+ {this.state.verified ? null : '(Unverified)'}
+
+
);
diff --git a/src/components/NewContainerSearch.react.js b/src/components/NewContainerSearch.react.js
index 954d0eafa3..d5ce1ab14a 100644
--- a/src/components/NewContainerSearch.react.js
+++ b/src/components/NewContainerSearch.react.js
@@ -126,7 +126,7 @@ module.exports = React.createClass({
Please verify your Docker Hub account email address
- {spinner}
+ {spinner}
diff --git a/src/stores/ContainerStore.js b/src/stores/ContainerStore.js
index 304fec7131..3899a878e7 100644
--- a/src/stores/ContainerStore.js
+++ b/src/stores/ContainerStore.js
@@ -3,6 +3,7 @@ import deepExtend from 'deep-extend';
import alt from '../alt';
import containerServerActions from '../actions/ContainerServerActions';
import containerActions from '../actions/ContainerActions';
+var LogStore = require('./LogStore');
class ContainerStore {
constructor () {
@@ -87,6 +88,8 @@ class ContainerStore {
if (!containers[container.Name] || containers[container.Name].State.Updating) {
return;
}
+ // Trigger log update
+ LogStore.fetch(container.Name);
containers[container.Name] = container;
diff --git a/src/stores/SetupStore.js b/src/stores/SetupStore.js
index 1cab123ad7..bc92d0463a 100644
--- a/src/stores/SetupStore.js
+++ b/src/stores/SetupStore.js
@@ -149,7 +149,7 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), {
var vboxNeedsInstall = !virtualBox.installed();
required.download = vboxNeedsInstall && (!fs.existsSync(vboxfile) || setupUtil.checksum(vboxfile) !== virtualBox.checksum());
- required.install = vboxNeedsInstall || !virtualBox.active();
+ required.install = vboxNeedsInstall || (util.isWindows() && !virtualBox.active());
required.init = required.install || !(yield machine.exists()) || (yield machine.state()) !== 'Running' || !isoversion || util.compareVersions(isoversion, packagejson['docker-version']) < 0;
var exists = yield machine.exists();
diff --git a/src/utils/RegHubUtil.js b/src/utils/RegHubUtil.js
index bb7b1f5734..cf00640249 100644
--- a/src/utils/RegHubUtil.js
+++ b/src/utils/RegHubUtil.js
@@ -5,6 +5,7 @@ var util = require('../utils/Util');
var hubUtil = require('../utils/HubUtil');
var repositoryServerActions = require('../actions/RepositoryServerActions');
var tagServerActions = require('../actions/TagServerActions');
+var Promise = require('bluebird');
let REGHUB2_ENDPOINT = process.env.REGHUB2_ENDPOINT || 'https://registry.hub.docker.com/v2';
let searchReq = null;
@@ -61,7 +62,7 @@ module.exports = {
let data = JSON.parse(body);
let repos = data.repos;
async.map(repos, (repo, cb) => {
- var name = repo.repo;
+ let name = repo.repo;
if (util.isOfficialRepo(name)) {
name = 'library/' + name;
}
diff --git a/src/utils/Util.js b/src/utils/Util.js
index b18debb743..4566025bf5 100644
--- a/src/utils/Util.js
+++ b/src/utils/Util.js
@@ -15,7 +15,7 @@ module.exports = {
fn(args, options, (stderr, stdout, code) => {
if (code) {
var cmd = Array.isArray(args) ? args.join(' ') : args;
- reject(new Error(cmd + ' returned non zero exit code.\n===== Stderr =====\n ' + stderr + '\n===== Stdout =====\n' + stdout));
+ reject(new Error(cmd + ' returned non zero exit code. Stderr: ' + stderr));
} else {
resolve(stdout);
}
diff --git a/styles/container-home.less b/styles/container-home.less
index 9b1db79789..3dde3e42be 100644
--- a/styles/container-home.less
+++ b/styles/container-home.less
@@ -82,22 +82,6 @@
height: 100%;
z-index: 100;
color: transparent;
- transition: background-color 0.25s;
- .icon {
- margin-top: 40%;
- display: block;
- font-size: 60px;
- text-align: center;
- }
- .text {
- font-size: 20px;
- text-align: center;
- }
- &:hover {
- color: white;
- background-color: @gray-darkest;
- opacity: 0.75;
- }
}
}
}
diff --git a/styles/header.less b/styles/header.less
index d679229e6f..9d01630f14 100644
--- a/styles/header.less
+++ b/styles/header.less
@@ -17,6 +17,12 @@
display: flex;
min-width: @sidebar-width + 1px;
}
+
+ .right-header {
+ display: flex;
+ justify-content: flex-end;
+ flex: 1 0;
+ }
.updates {
flex: 1 auto;
@@ -27,9 +33,7 @@
}
.logo {
- position: absolute;
- right: 1rem;
- top: 0.8rem;
+ padding: 0.9rem 1rem 0 0;
}
.login-wrapper {
@@ -46,15 +50,18 @@
border-right: 1px solid @color-divider;
padding: 0 1rem 0 1rem;
.box-button();
-
- &:active {
- img, span {
- -webkit-filter: brightness(0.9);
- }
+ .text {
+ max-width: 70px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
-
img {
- margin: 0 5px;
+ position: relative;
+ top: 0.1rem;
+ margin: 0 0rem 0 0.4rem;
+ width: 8px;
+ height: 5px;
}
}
diff --git a/styles/new-container.less b/styles/new-container.less
index 61f99f719b..0aaa7c2d11 100644
--- a/styles/new-container.less
+++ b/styles/new-container.less
@@ -55,7 +55,7 @@
}
.verify {
- margin: 15px 0;
+ margin: 0.5rem 0 3rem 0;
position: relative;
.spinner {
@@ -405,6 +405,12 @@
color: white;
border: 1px solid darken(@brand-primary, 10%);
}
+ &:active {
+ box-shadow: 0 0 15px fade(@brand-action, 25%);
+ background-color: darken(@brand-action, 5%);
+ border: 1px solid darken(@brand-primary, 10%);
+ color: white;
+ }
}
}
}
diff --git a/styles/theme.less b/styles/theme.less
index 6b70e109a6..65c37aab87 100644
--- a/styles/theme.less
+++ b/styles/theme.less
@@ -203,8 +203,8 @@ input[type="text"] {
}
&.small {
- font-size: 11px;
- padding: 3px 8px 3px 8px;
+ font-size: 10px;
+ padding: 0.3rem 0.7rem;
height: 22px;
.icon {
font-size: 10px;