orchidmap-front/src/styles/dialogs.less
2018-12-13 17:28:01 +07:00

305 lines
5 KiB
Text

.dialog {
// background: #222222;
// background: linear-gradient(130deg, #320523, #020d2b);
// background: #271535;
position: fixed;
left: 0;
top: 0;
width: 360px;
height: 100%;
z-index: 5;
padding: 10px 10px 68px 10px;
box-sizing: border-box;
transform: translate3d(-100%, 0, 0);
pointer-events: none;
transition: transform 500ms;
&.active {
transform: translate3d(0, 0, 0);
pointer-events: all;
.dialog-close-button {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@media (max-width: @mobile_breakpoint) {
width: 100%;
z-index: 6;
&.active {
background: rgba(19, 45, 53, 0.8);
}
}
}
.dialog-close-button {
position: absolute;
right: -38px;
bottom: 68px;
background: @red_secondary;
width: 48px;
height: 48px;
transform: translate3d(-48px, 0, 0);
border-radius: 0 @panel_radius @panel_radius 0;
opacity: 0;
transition: all 250ms 250ms;
z-index: -1;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
svg {
fill: white;
width: 40px;
height: 40px;
}
@media (max-width: @mobile_breakpoint) {
border-radius: @panel_radius;
bottom: 10px;
right: 10px;
width: 49px;
}
}
.dialog-content {
background: #271535;
height: 100%;
overflow: hidden;
position: relative;
border-radius: @panel_radius @panel_radius 0 @panel_radius;
box-shadow: @dialog_shadow;
display: flex;
flex-direction: column;
a {
color: white;
opacity: 0.8;
}
}
.dialog-shader {
&::before, &::after {
content: ' ';
height: 40px;
width: 100%;
left: 0;
top: 0;
// background: linear-gradient(0deg, rgba(2, 13, 43, 1) 50%, rgba(2,13,43,0));
// background: linear-gradient(0deg, rgba(34, 34, 34, 1) 50%, rgba(34, 34, 34, 0));
background: linear-gradient(180deg, rgba(39, 21, 53, 1), rgba(39, 21, 53, 0));
position: absolute;
z-index: 5;
pointer-events: none;
}
&::after {
top: auto;
bottom: 0;
background: linear-gradient(0deg, rgba(39, 21, 53, 1), rgba(39, 21, 53, 0));
}
}
.dialog-maplist {
padding: 10px;
box-sizing: border-box;
}
@keyframes pulse {
0% { opacity: 0.5; }
100% { opacity: 1; }
}
@keyframes spin {
0% { transform: rotate(0); }
100% { transform: rotate(360deg); }
}
.dialog-maplist-loader {
height: 60px;
display: flex;
margin-bottom: 10px;
text-transform: uppercase;
color: white;
align-items: center;
justify-content: center;
user-select: none;
position: relative;
opacity: 0.5;
padding-left: 60px;
.spin {
animation: spin infinite reverse 2s linear;
}
.dialog-maplist-icon {
position: absolute;
left: 0;
svg {
width: 60px;
height: 60px;
fill: white;
}
}
}
.route-row {
margin-bottom: 10px;
background: rgba(255, 255, 255, 0.05);
padding: 10px 10px 5px 10px;
color: white;
user-select: none;
cursor: pointer;
transition: background-color 250ms;
&:hover {
background: rgba(255, 255, 255, 0.1);
}
}
.route-title {
margin-bottom: 5px;
font-weight: bold;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.route-description {
font-size: 0.9em;
opacity: 0.3;
margin-bottom: 5px;
display: grid;
grid-template-columns: 2fr 1fr;
svg {
width: 20px;
height: 20px;
fill: white;
vertical-align: text-bottom;
margin-bottom: -2px;
}
span {
padding-right: 10px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}
.dialog-head {
background: rgba(255, 255, 255, 0.1);
padding: 10px;
border-radius: @panel_radius @panel_radius 0 0;
color: white;
}
.dialog-tabs {
background: rgba(255, 255, 255, 0);
border-radius: @panel_radius @panel_radius 0 0;
height: 32px;
user-select: none;
flex-direction: row;
.dialog-tab {
display: inline-flex;
align-items: center;
justify-content: center;
color: white;
padding: 0 20px;
cursor: pointer;
border-radius: @panel_radius @panel_radius 0 0;
flex: 1;
height: 32px;
&.active {
background: rgba(255, 255, 255, 0.1);
}
}
}
.dialog-head-title {
font-size: 20px;
text-transform: uppercase;
}
.app-info-changelog {
color: white;
padding: 10px;
font-size: 0.8em;
user-select: none;
div {
opacity: 0.8;
}
}
.app-info-number {
width: 16px;
}
.app-info-changelog-item {
text-transform: uppercase;
display: flex;
flex: 1;
.app-info-current {
font-size: 0.9em;
opacity: 0.3;
display: inline;
padding-left: 10px;
}
}
.app-info-version {
padding-bottom: 5px;
flex: 1;
flex-direction: column-reverse;
}
.app-info-release {
padding-bottom: 5px;
display: flex;
flex: 1;
}
.app-info-build {
padding-bottom: 5px;
display: flex;
flex-direction: column-reverse;
flex: 1;
}
.app-info-change {
display: flex;
flex-direction: row;
padding-bottom: 5px;
.app-info-number {
width: 20px;
}
span {
flex: 1;
}
}
.app-info-list {
padding: 5px 0;
div {
padding: 5px 0;
}
}