docs/app/styles/containers.less

386 lines
9.3 KiB
Plaintext

.containers {
height: 100%;
display: flex;
flex-direction: column;
.containers-body {
flex: 1;
display: flex;
flex-direction: row;
.sidebar {
display: flex;
flex-direction: column;
min-width: 280px;
margin: 0;
box-sizing: border-box;
border-right: 1px solid #eee;
.sidebar-header {
flex: 0 auto;
min-width: 240px;
min-height: 42px;
display: flex;
border-bottom: 1px solid transparent;
transition: border-bottom 0.25s;
padding: 0px 10px 0px 10px;
&.sep {
border-bottom: 1px solid #eee;
box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.03);
}
h4 {
align-self: flex-start;
padding: 0 24px;
margin: 14px 0 0;
display: inline-block;
font-size: 14px;
position: relative;
}
.create {
flex: 1 auto;
text-align: right;
/*.btn {
margin-top: 4px;
padding: 4px 7px;
font-size: 16px;
position: relative;
.icon {
position: relative;
top: 3px;
left: 1px;
}
}*/
}
}
.sidebar-containers {
position: relative;
flex: 1 auto;
overflow-y: scroll;
overflow-x: hidden;
box-sizing: border-box;
max-width: 280px;
&.sep {
border-top: 1px solid #eee;
}
ul {
margin: 0;
min-width: 240px;
padding: 0;
margin-top: 4px;
display: flex;
flex-direction: column;
a {
color: inherit;
flex-shrink: 0;
cursor: default;
margin: 0px 3px 0px 8px;
outline: none;
padding: 4px 5px;
&.active {
li {
border-bottom: none;
border-radius: 40px;
background: @brand-primary;
.name {
color: white;
}
.image {
color: white;
opacity: 0.9;
}
.state-running {
.at2x('running-white.png', 20px, 20px);
.runningwave {
.at2x('runningwave-white.png', 20px, 20px);
}
}
.state-stopped {
.at2x('stopped-white.png', 20px, 20px);
}
.state-downloading {
.at2x('downloading-white.png', 20px, 20px);
.downloading-arrow {
.at2x('downloading-arrow-white.png', 20px, 20px);
}
}
}
}
&:hover {
text-decoration: none;
cursor: default;
}
&:focus {
text-decoration: none;
}
}
li {
vertical-align: middle;
padding: 10px 16px 10px 16px;
display: flex;
flex-direction: row;
.info {
font-size: 13px;
margin-left: 16px;
.name {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-size: 14px;
font-weight: 400;
color: @gray-darkest;
}
.image {
color: @gray-lighter;
font-size: 12px;
font-weight: 400;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
.state {
margin-top: 9px;
display: inline-block;
position: relative;
min-width: 20px;
height: 20px;
}
.state-error {
.at2x('error.png', 20px, 20px);
}
.state-stopped {
.at2x('stopped.png', 20px, 20px);
}
.state-paused {
.at2x('paused.png', 20px, 20px);
}
.state-downloading {
.at2x('downloading.png', 20px, 20px);
overflow: hidden;
.downloading-arrow {
width: 20px;
height: 20px;
.at2x('downloading-arrow.png', 20px, 20px);
position: absolute;
// background-repeat: repeat;
-webkit-animation-name: translatedownload;
-webkit-animation-duration: 1.8s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
}
.state-running {
.at2x('running.png', 20px, 20px);
overflow: hidden;
// -webkit-mask-image: -webkit-radial-gradient(circle, white, black);
.runningwave {
position: absolute;
width: 40px;
height: 20px;
left: -20px;
.at2x('runningwave.png', 20px, 20px);
// background-repeat: repeat;
-webkit-animation-name: translatewave;
-webkit-animation-duration: 8.0s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
}
.state-restarting {
display: inline-block;
width: 20px;
height: 20px;
.at2x('restarting.png', 20px, 20px);
background-repeat: repeat-x;
-webkit-animation-delay: -1s;
-webkit-animation-name: rotate;
-webkit-animation-duration: 3.0s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
}
}
}
}
.no-containers {
flex: 1 auto;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
position: relative;
h3 {
position: relative;
top: -44px;
font-size: 18px;
color: #C7D7D7;
}
}
.details {
margin: 0;
padding: 0;
box-sizing: border-box;
flex: 1;
display: flex;
flex-direction: column;
.details-header {
flex: 0 auto;
display: flex;
flex-direction: column;
padding: 4px 40px 10px 40px;
position: relative;
border-bottom: 1px solid #eee;
.details-header-actions {
flex: 0 auto;
display: flex;
flex-direction: row;
margin-top: 24px;
margin-bottom: 6px;
position: relative;
border-bottom: 1px solid transparent;
transition: border-bottom 0.25s;
.action {
flex: 0 auto;
margin-right: 24px;
}
.details-header-actions-rhs {
flex: 1 auto;
display: flex;
align-items: right;
justify-content: flex-end;
a.btn {
z-index: 0;
}
}
}
.details-header-info {
display: flex;
flex-direction: row;
a {
position: absolute;
right: 30px;
top: -4px;
}
h1 {
margin: 0;
font-size: 20px;
margin: 0;
color: @gray-darkest;
}
h2 {
&.status {
margin: 8px 0px 0px 16px;
text-transform: uppercase;
font-weight: bold;
font-size: 10px;
&.running {
color: @brand-positive;
}
}
&.image-label {
margin: 8px 0px 0px 30px;
font-size: 10px;
color: @gray-lighter;
}
&.image {
margin: 5px 0px 0px 16px;
font-size: 14px;
color: @gray-normal;
}
}
}
}
.details-progress {
margin: 26% auto 0;
width: 300px;
}
.details-panel {
flex: 1;
overflow: auto;
.logs {
-webkit-user-select: text;
font-family: Menlo;
font-size: 12px;
padding: 18px 35px;
color: lighten(@gray-normal, 6%);
white-space: pre-wrap;
p {
margin: 0 6px;
}
}
.settings {
padding: 18px 35px;
}
}
.env-vars-labels {
width: 100%;
font-size: 12px;
color: @gray-lightest;
margin-left: 5px;
margin-bottom: 5px;
.label-key {
display: inline-block;
margin-right: 30px;
width: 20%;
}
.label-val {
display: inline-block;
width: 40%;
}
}
.env-vars {
margin-bottom: 20px;
.keyval-row {
margin-bottom: 5px;
}
input {
margin-right: 30px;
&.key {
width: 20%;
}
&.val {
width: 40%;
}
}
}
}
}
}