hedera-web/js/hedera/gui.scss

358 lines
5.6 KiB
SCSS

@import "../htk/style/classes";
$side-panel-width: 250px;
$navbar-height: 64px;
.vn-gui {
height: inherit;
/* Font */
.user-name,
.menu-title {
font-size: 1.1em;
}
/* Navigation bar */
.navbar {
position: fixed;
background-color: #1A1A1A;
left: $side-panel-width;
top: 0;
right: 0;
z-index: 1;
overflow: hidden;
height: $navbar-height;
color: white;
display: flex;
align-items: center;
transition-property: left, background-color, transform;
transition-duration: 200ms;
transition-timing-function: ease-in-out;
& > .menu-button {
flex: none;
display: none;
border: none;
&:hover {
background-color: rgba(255, 255, 255, .1);
}
& > .htk-icon {
display: block;
}
}
& > .title-wraper {
flex: auto;
display: flex;
align-items: center;
gap: 15px;
overflow: hidden;
padding-left: 15px;
& > .title {
overflow: hidden;
h1 {
font-weight: normal;
font-size: 1.4em;
margin: 0;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
}
}
& > .action-bar {
flex: none;
height: 100%;
& > div {
height: 100%;
display: flex;
align-items: center;
padding-right: $spacing-md;
padding-left: $spacing-sm;
gap: .5em;
& > * {
float: right;
}
}
button {
margin: 0;
padding: 10px 15px;
&:hover {
background-color: rgba(2550, 255, 255, .2);
}
}
}
}
/* Background */
& > .background {
z-index: 10;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
visibility: hidden;
background-color: rgba(1, 1, 1, .7);
opacity: 0;
&.show {
visibility: visible;
transition: opacity 200ms ease-out;
opacity: 1;
}
}
/* Left panel */
.left-panel {
z-index: 20;
position: fixed;
left: 0;
bottom: 0;
top: 0;
background-color: white;
z-index: 20;
width: $side-panel-width;
}
.menu-overflow {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 4em;
overflow: auto;
}
.menu-header {
background-color: #1A1A1A;
color: white;
height: $navbar-height;
display: flex;
}
.logo {
display: block;
width: 160px;
margin-left: 37px;
}
.user-info {
margin: 25px;
& > div {
display: flex;
justify-content: space-between;
align-items: center;
overflow: hidden;
font-weight: bold;
border: 1px solid #eaeaea;
& > span {
padding: 10px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.logout {
display: block;
margin: 0;
text-align: left;
border-radius: 0;
&:hover {
background-color: #1a1a1a;
color: white;
}
& > .htk-icon {
display: block;
}
}
&.supplant {
display: none;
border-top: none;
&.show {
display: flex;
}
}
}
}
/* Test link */
.test-link {
display: none;
margin: .5em;
background-color: #3f51b5;
color: white;
padding: 0 1em;
line-height: 2em;
border-radius: .1em;
text-align: center;
&:hover {
background-color: #4f61c5;
}
}
.dev-info {
display: none;
padding: .3em .5em;
color: white;
background-color: #3f51b5;
font-size: .9em;
margin: .5em;
border-radius: .1em;
& > p {
margin: .2em 0;
}
& > .mode {
color: #BBF;
}
}
/* Menu */
.main-menu,
ul.submenu {
list-style-type: none;
padding: 0;
margin: 0;
}
.main-menu > li {
display: block;
padding: 0;
margin: 0;
width: 100%;
}
.main-menu a {
width: 70%;
padding: 0 15%;
display: block;
line-height: 2.8em;
}
.main-menu a:hover,
.main-menu a.selected {
background-color: rgba(1, 1, 1, .1);
}
ul.submenu {
display: none;
}
ul.submenu.popup {
display: inline;
position: fixed;
border: none;
border-radius: 1px;
background-color: white;
box-shadow: 0 0 .3em rgba(1, 1, 1, .3);
z-index: 50;
width: 13em;
max-height: 30em;
}
/* Social */
.menu-footer {
position: absolute;
bottom: 0;
right: 0;
left: 0;
}
/* Body */
& > .body {
margin-left: $side-panel-width;
padding-top: $navbar-height;
height: inherit;
box-sizing: border-box;
height: inherit;
transition-property: margin-left, margin-right;
transition-duration: 200ms;
}
.form-holder {
position: relative;
height: inherit;
opacity: 0;
transform: translateZ(0) translateX(-2em);
-webkit-transform: translateZ(0) translateX(-2em);
transition-property: opacity, transform;
transition-duration: 200ms;
transition-timing-function: ease-out;
&.show {
opacity: 1;
transform: translateZ(0) translateX(0em);
-webkit-transform: translateZ(0) translateX(0em);
}
& > * {
padding: $spacing-md;
}
}
/* Mobile */
@media (max-width: 960px) {
& > .navbar {
padding-left: 16px;
left: 0;
& > .menu-button {
display: block;
}
& > .action-bar {
button {
padding: 10px;
}
span.label,
button > .text {
display: none;
}
}
}
& > .body {
margin-left: 0;
}
.left-panel {
top: 0;
left: -250px;
box-shadow: 0 0 .2em rgba(1, 1, 1, .3);
transition: transform 200ms ease-out;
-webkit-transition: transform 200ms ease-out;
}
.left-panel.show {
transform: translateZ(0) translateX(250px);
-webkit-transform: translateZ(0) translateX(250px);
}
.form-holder {
left: 0;
}
ul.submenu {
display: block;
background-color: #888;
color: white;
box-shadow: inset 0 0 .2em rgba(1, 1, 1, .2);
overflow: hidden;
max-height: 0;
transition: max-height 300ms ease-out;
webkit-transition: max-height 300ms ease-out;
}
.main-menu li:hover > ul.submenu {
max-height: 20em;
}
}
}