hugvey/www/scss/styles.scss

459 lines
7.6 KiB
SCSS

$status_width: 430px;
$status_width_open: 860px;
body{
font-family: "Noto Sans", sans-serif;
margin: 0;
font-size: 10pt;
}
.btn, input[type="submit"]{
display:inline-block;
cursor: pointer;
background: #345;
padding: 5px;
color: white;
border-radius: 3px;
margin-right: 5px;
white-space: nowrap;
border: none;
&:hover{
background: #666;
}
}
input[type="number"] {
width: 80px;
text-align:right;
}
@keyframes dash-animation {
to {
stroke-dashoffset: -1000;
}
}
img.icon{
height: .9em;
width: .9em;
}
#interface{
display: flex;
flex-direction: row;
height: 100vh;
width: 100vw;
&.showStatus{
}
}
#status{
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 380px;
height: 100%;
overflow-y: scroll;
& > div{
width: 33.3333333%;
height: 200px;
border: solid 1px;
box-sizing: border-box;
position: relative;
&#overview{
width: 100% / 3 * 2;
}
}
.counts{
dd, dt{
display: inline-block;
width: 30px;
overflow:hidden;
text-overflow: ellipsis;
margiN: 0;
&:hover{
width: auto;
}
}
}
.hugvey{
background-image: linear-gradient(to top, #587457, #35a589);
color:white;
display: flex;
flex-direction: column;
justify-content: center;
h1{
text-align: center;
margin: 0;
font-weight: normal;
position: absolute;
left: 5px;
top: 5px;
}
.status{
font-sytle: italic;
color: gray;
position: absolute;
top: 10px;
right: 5px;
}
.stats{
.count{
display: inline-block;
margin-right: 10px;
}
}
&.hugvey--off{
background-image: linear-gradient(to top, #575d74, #3572a5);
.status{
text-align:center;
}
// &::after{
// content: 'off';
// font-style: italic;
// color: gray;
// text-align:center;
// // font-size: 30pt;
// }
}
&.hugvey--gone{
background-image: linear-gradient(to top, orange, rgb(206, 92, 0));
// &::after{
// content: 'disconnected';
// font-style: italic;
// color: gray;
// text-align:center;
// // font-size: 30pt;
// }
}
&.hugvey--paused{
background-image: linear-gradient(to top, rgb(136, 138, 133), rgb(85, 87, 83));
// &::after{
// content: 'disconnected';
// font-style: italic;
// color: gray;
// text-align:center;
// // font-size: 30pt;
// }
}
&.hugvey--finished{
background-image: linear-gradient(to top, rgb(136, 138, 133), #35a589);
.status{
color: darkgreen;
}
// &::after{
// content: 'disconnected';
// font-style: italic;
// color: gray;
// text-align:center;
// // font-size: 30pt;
// }
}
}
}
#story{
position: relative;
width: calc(100% - #{$status_width});
#controls{
position:absolute;
top: 5px;
left: 5px;
white-space: nowrap;
}
svg#graph{
width: 100%;
height: 100%;
cursor: grab;
&:active{
cursor: grabbing;
}
.beenHit{
circle {
stroke: #0f0;
stroke-width: 25px;
}
}
line.beenHit {
stroke: #0f0;
}
}
circle{
cursor: pointer;
fill: rgb(119, 97, 142);
}
.startMsg circle{
fill: lightseagreen !important;
}
.endMsg circle{
// fill: lightslategray !important;
}
.orphanedMsg{
fill: lightcoral !important;
}
text{
text-anchor: middle;
font-size: 11pt;
font-family: sans-serif;
fill: white;
&.msg_id {
transform: translateY(-20px);
opacity: .5;
}
&.msg_txt{
font-weight: bold;
}
}
line{
marker-end: url('#arrowHead');
stroke-width: 5px;
stroke: black;
&.link--noconditions{
stroke-dasharray: 5 4;
stroke: red;
}
&.dir-highlight{
stroke-dasharray: 5;
animation: dash-animation 20s infinite linear;
stroke-width: 3px;
}
}
label::after {
content: '';
clear: both;
display: block;
}
label{
width:100%;
font-weight:bold;
display: block;
margin: 0 -10px;
padding: 5px 10px;
input,select, .label-value, .label-unit{
float: right;
}
}
label:nth-child(odd){
background-color: rgba(255,255,255,0.3);
}
#msg{
position: absolute;
top:0;
right:0;
width: 385px;
max-height:100%;
overflow-y: auto;
.directions{
h3{
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
margin-right: 5em;
}
}
.msg__info, .directions > div{
padding: 10px;
margin-bottom: 10px;
background:lightgray;
&.btn{
background: darkblue;
}
}
h1{
margin:0;
}
.msg__info {
.btn--delete-mss{
position:absolute;
top: 15px;
right: 10px;
}
}
.play{
// background: #ccc;
// padding: 20px;
text-align: center;
}
.direction{
position: relative;
h3{
margin-top:0;
}
.btn--delete{
position: absolute;
top: 5px;
right: 0px;
}
}
#diversions{
.diversion{
background: pink;
}
}
}
#nodes g:hover circle,
.selectedMsg circle {
stroke: lightgreen;
stroke-width: 27;
}
.diversion{
circle{
fill: pink !important;
}
}
.controlDown #nodes g:hover circle,
.secondaryMsg circle {
stroke: lightgreen;
stroke-width: 5;
stroke-dasharray: 10 3;
}
.condition{
position: relative;
h4{
text-align: center;
}
&.condition--add{
h4{
margin: 0;
}
h4 +div {
margin-top: 10px;
}
}
}
.condition + .condition {
&::before{
content: "OR";
display: block;
border-bottom: solid 2px;
height: 10px;
margin-bottom: 15px;
text-align: center;
text-shadow: 2px 2px 2px lightgray,-2px 2px 2px lightgray,2px -2px 2px lightgray,-2px -2px 2px lightgray;
}
.btn--delete{
margin-top: 20px;
}
}
}
.flag-icon {
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
position: relative;
display: inline-block;
width: (4 / 3) * 1em;
line-height: 1em;
&:before {
content: '\00a0';
}
&.flag-icon-squared {
width: 1em;
}
&.en-GB {
background-image: url('/images/gb.svg');
}
&.de-DE {
background-image: url('/images/de.svg');
}
&.fr-FR {
background-image: url('/images/fr.svg');
}
&.nl-NL {
background-image: url('/images/nl.svg');
}
}
.divToggle{
cursor: pointer;
&:hover{
text-decoration: underline;
}
&.opened {
+ div{
display: block;
}
}
+ div{
display: none;
}
}
#toggleTimeline {
body.showTimeline & {
background-color:pink;
}
}
#timeline{
position: absolute;
left: 380px;
right: 0;
top: 0;
bottom: 0;
background: #eee;
// display:none;
pointer-events: none;
opacity: 0;
body.showTimeline &{
opacity: 1;
pointer-events: auto;
}
.vis-item.message {
background: lightgray;
&.vis-range{
background-color: darkgray;
border-color: green;
}
}
.vis-item.speech {
background-color: greenyellow;
border-color: green;
}
}