wip: restyling overlay

This commit is contained in:
Lachlan Kermode
2019-02-13 18:08:46 +00:00
parent 1db2fe219a
commit 44598d602f
3 changed files with 160 additions and 91 deletions

344
src/scss/overlay.scss Normal file
View File

@@ -0,0 +1,344 @@
$panel-width: 1000px;
$panel-height: 1000px;
$vimeo-width: $panel-width - 100;
$vimeo-height: $panel-height / 2;
$padding: 20px;
$header-inset: 10px;
$banner-height: 100px;
.mo-overlay {
display: flex;
flex-direction: column;
// justify-content: center;
align-items: center;
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-color: rgba(0,0,0, 0.85);
z-index: 20;
}
.mo-container {
margin-top: $banner-height;
background-color: transparent;
display: flex;
flex-direction: column;
align-items: center;
height: calc(100vh - 350px);
max-height: calc(100vh - 350px);
width: $panel-width;
max-width: 90vw;
box-shadow: 0 19px 19px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
.back, .next {
width: 30px;
max-width: 30px;
max-height: 30px;
height: 30px;
background: $darkgrey;
color: $offwhite;
cursor: pointer;
box-shadow: 0 19px 19px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
svg path { fill: $offwhite; }
z-index: 1;
}
.back {
left: 10px;
svg path { transform: translate(17px,15px)rotate(-90deg)}
}
.next {
margin-left: calc(100% - 60px);
right: 10px;
svg path { transform: translate(17px,15px)rotate(90deg)}
}
}
$overlay-bg: rgba(239,239,239,0.9);
.mo-banner {
position: fixed;
min-height: 100px;
background-color: transparent;
top: 0;
width: 100%;
display: flex;
justify-content: flex-start;
align-items: stretch;
flex-direction: row;
.mo-banner-close {
display: flex;
justify-content: center;
align-items: center;
min-width: $banner-height;
.material-icons {
font-size: 40pt;
background-color: transparent;
display: flex;
justify-content: center;
align-items: center;
transition: 0.3s all ease;
color: $overlay-bg;
&:hover {
text-decoration: none;
cursor: pointer;
color: white;
}
}
}
.mo-banner-content {
flex: 11;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
h3 {
border-radius: 2px;
padding: 10px 15px;
background-color: transparent;
color: $overlay-bg;
margin-left: -$banner-height;
}
}
}
.mo-footer {
position: fixed;
min-height: 250px;
background-color: $offwhite;
width: 100%;
opacity: 0.9;
bottom: 0;
}
// .mo-header {
// min-height: 42px;
// max-height: 42px;
// width: 100%;
// display: flex;
// flex-direction: row;
// background-color: black;
// color: white;
//
// .mo-header-close {
// display: flex;
// justify-content: center;
// align-items: center;
// margin-left: $header-inset + 8px;
// }
//
// .mo-header-text {
// flex: 1;
// display: flex;
// align-items: center;
// justify-content: flex-end;
// padding-right: $padding;
// font-family: "Lato", Helvetica, sans-serif;
// }
// }
.mo-media-container {
flex: 1;
flex-direction: row;
justify-content: center;
display: inline-block;
overflow: hidden;
box-sizing: border-box;
width: 100%;
max-height: calc(#{$panel-height} - 100px);
font-family: "Lato", Helvetica, sans-serif;
// .media-player {
// width: 100%;
// max-width: $vimeo-width;
// }
.media-content {
display: flex;
flex-direction: column;
}
.media-gallery-controls {
height: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: -50%;
}
// NB: topcushion seems to be necessary with certain overflows..
&.topcushion {
padding-top: 150px;
}
}
// .mo-meta-container {
// display: flex;
// flex-direction: column;
// justify-content: center;
// box-sizing: border-box;
// min-height: 100px;
// width: 100%;
// // padding: $padding;
//
// .mo-box-title {
// display: flex;
// flex-direction: row;
// justify-content: space-between;
// padding: 0 20px;
// }
// .mo-box {
// display: flex;
// flex-direction: row;
// justify-content: space-around;
// max-width: $panel-width;
// width: 100%;
// padding: $padding 0;
// border-top: 1px solid rgb(189,189,189);
// font-family: "Lato", Helvetica, sans-serif;
// font-size: $normal;
//
// h4 {
// margin: 0 0 5px 0;
// text-transform: uppercase;
// font-size: $xsmall;
// color: $darkwhite;
// font-weight: 100;
// }
//
// p {
// margin-top: 0;
// font-size: $large;
// }
//
// .material-icons {
// font-size: $normal;
// color: $darkwhite;
// margin-right: 5px;
// }
//
// a {
// font-size: $large;
// color: $darkgrey;
// border-bottom: 1px solid $red;
// &:hover { border-bottom: 1px solid $darkgrey; }
// }
// }
//
// .indent {
// margin-left: 2*$header-inset;
// }
// }
.mo-controls {
color: white;
width: $vimeo-width;
background-color: black;
}
.media-controls {
padding: 0 50px;
}
/* source overlay specific styles */
.no-source-container {
display: flex;
flex-direction: column;
justify-content: center;
border: 1px solid black;
padding: 2em;
min-height: 200px;
}
.no-source-row {
p {
text-align: center;
color: $midgrey;
.no-source-icon {
font-size: $xxxlarge;
color: $darkwhite;
}
}
}
.source-media-gallery {
display: flex;
flex-direction: row;
height: 100%;
width: 100%;
margin: 0;
transition: transform 0.2s ease;
}
.source-text-container {
display: flex;
justify-content: center;
box-sizing: border-box;
padding: 0 calc(50% - 400px);
overflow-y: scroll;
font-family: 'Merriweather', Georgia, serif;
line-height: 1.5em;
min-width: 100%;
a {
color: $darkgrey;
border-bottom: 1px solid $red;
&:hover { border-bottom: 1px solid $darkgrey; color: $darkgrey; }
}
.md-container {
width: 100%;
overflow-wrap: break-word;
}
}
.source-image-container, .media-player {
display: flex;
justify-content: center;
padding: 20px;
min-width: calc(100% - 40px);
}
.media-player {
box-sizing: border-box;
width: 100%;
min-width: 100%;
height: 100%;
min-height: 100%;
align-self: center;
}
.source-image, .source-video {
padding: 0px;
font-family: 'Lato', Helvetica, sans-serif;
// max-width: calc(#{$panel-width} - 100px);
max-height: $panel-height;
margin: auto;
width: auto;
height: auto;
object-fit: contain;
}
.source-image-loader {
width: 400px;
height: 400px;
}
.video-react .video-react-progress-control {
align-self: center;
}
.video-react .video-react-control {
min-height: 100%;
}