cleanup: reorganized sass files to be in src/styles instead of src/assets/css
This commit is contained in:
parent
c46802166c
commit
494c0ed434
54 changed files with 55 additions and 55 deletions
12
src/styles/clearbutton.scss
Normal file
12
src/styles/clearbutton.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
.clearButton {
|
||||
background: transparent;
|
||||
border: 0 !important;
|
||||
padding: 0 !important;
|
||||
cursor: pointer;
|
||||
outline: none !important;
|
||||
color: inherit;
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
450
src/styles/dashboard.scss
Normal file
450
src/styles/dashboard.scss
Normal file
|
@ -0,0 +1,450 @@
|
|||
.dashboardColumn,
|
||||
.dashboardSections {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.dashboardFooter {
|
||||
margin-top: 3.5em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dashboardFooter a {
|
||||
margin: 0 0.7em;
|
||||
}
|
||||
|
||||
progress {
|
||||
appearance: none;
|
||||
margin: 0;
|
||||
background: #ccc !important;
|
||||
}
|
||||
|
||||
progress[role]::after {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
progress::-webkit-progress-bar {
|
||||
background: #ccc;
|
||||
}
|
||||
|
||||
progress::-moz-progress-bar {
|
||||
background-color: #00a4dc;
|
||||
}
|
||||
|
||||
progress::-webkit-progress-value {
|
||||
background-color: #00a4dc;
|
||||
}
|
||||
|
||||
progress[aria-valuenow]::before {
|
||||
border-radius: 0.4em;
|
||||
background-color: #00a4dc;
|
||||
}
|
||||
|
||||
.localnav {
|
||||
margin-bottom: 2.2em !important;
|
||||
}
|
||||
|
||||
@media all and (min-width: 50em) {
|
||||
.type-interior > div[data-role=content],
|
||||
.type-interior > .ui-panel-content-wrap > div[data-role=content] {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
padding-top: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.dashboardDocument .dashboardEntryHeaderButton,
|
||||
.dashboardDocument .lnkManageServer {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.adminDrawerLogo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.layout-mobile .adminDrawerLogo {
|
||||
padding: 1.5em 1em 1.2em;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
margin-bottom: 1em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.adminDrawerLogo img {
|
||||
height: 4em;
|
||||
}
|
||||
|
||||
a[data-role=button] {
|
||||
background: #292929 !important;
|
||||
background-clip: padding-box;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
user-select: none;
|
||||
cursor: pointer !important;
|
||||
font-family: inherit !important;
|
||||
font-weight: 500 !important;
|
||||
margin: 0 0.25em !important;
|
||||
display: inline-block;
|
||||
padding: 0.8em 1em;
|
||||
text-align: center;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
div[data-role=controlgroup] a[data-role=button] {
|
||||
display: inline-block !important;
|
||||
margin: 0 !important;
|
||||
box-shadow: none !important;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
div[data-role=controlgroup] a[data-role=button]:first-child {
|
||||
border-bottom-left-radius: 0.3125em;
|
||||
border-top-left-radius: 0.3125em;
|
||||
}
|
||||
|
||||
div[data-role=controlgroup] a[data-role=button]:last-child {
|
||||
border-bottom-right-radius: 0.3125em;
|
||||
border-top-right-radius: 0.3125em;
|
||||
}
|
||||
|
||||
div[data-role=controlgroup] a[data-role=button] + a[data-role=button] {
|
||||
[dir="ltr"] & {
|
||||
border-left-width: 0 !important;
|
||||
margin: 0 0 0 -0.4em !important;
|
||||
}
|
||||
|
||||
[dir="rtl"] & {
|
||||
border-right-width: 0 !important;
|
||||
margin: 0 -0.4em 0 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
div[data-role=controlgroup] a.ui-btn-active {
|
||||
background: #00a4dc !important;
|
||||
color: #292929 !important;
|
||||
}
|
||||
|
||||
.sessionAppInfo img {
|
||||
max-width: 2.5em;
|
||||
max-height: 2.5em;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.appLinks img {
|
||||
height: 36px;
|
||||
}
|
||||
|
||||
.wizardContent h2 img {
|
||||
height: 2.5em;
|
||||
vertical-align: middle;
|
||||
margin-right: 0.5em;
|
||||
position: relative;
|
||||
top: -0.3em;
|
||||
}
|
||||
|
||||
.header .imageLink {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.header .imageLink img {
|
||||
height: 2.1em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.content-primary {
|
||||
padding-top: 6em;
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.withTabs .content-primary {
|
||||
padding-top: 9em !important;
|
||||
}
|
||||
|
||||
@media all and (min-width: 40em) {
|
||||
.content-primary {
|
||||
padding-top: 4.6em;
|
||||
}
|
||||
|
||||
.withTabs .content-primary {
|
||||
padding-top: 10em !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 84em) {
|
||||
.withTabs .content-primary {
|
||||
padding-top: 7em !important;
|
||||
}
|
||||
}
|
||||
|
||||
.content-primary ul:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.dashboardSections {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.dashboardColumn {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.dashboardActionsContainer {
|
||||
margin: 1em -0.3em 0;
|
||||
}
|
||||
|
||||
.sessionNowPlayingContent {
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
position: absolute;
|
||||
border-radius: 0.2em;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.activeSession:not(.playingSession) .sessionNowPlayingContent {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dashboardSection {
|
||||
flex-shrink: 0;
|
||||
margin: 0 0 2em;
|
||||
}
|
||||
|
||||
.dashboardSection h3 {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.dashboardSection .sectionTitleTextButton > .material-icons.material-icons {
|
||||
font-size: 1.17em;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.activeRecordingItems > .card {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.localUsers .cardText-secondary {
|
||||
white-space: pre-wrap;
|
||||
height: 3em;
|
||||
}
|
||||
|
||||
.customCssContainer textarea {
|
||||
resize: none;
|
||||
}
|
||||
|
||||
@media all and (min-width: 70em) {
|
||||
.dashboardSections {
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.dashboardColumn-2-60 {
|
||||
flex-grow: 2;
|
||||
}
|
||||
|
||||
.dashboardSection {
|
||||
padding: 0 1.5em;
|
||||
}
|
||||
|
||||
.activeRecordingItems > .card {
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
|
||||
.wizardContent {
|
||||
max-width: 62em;
|
||||
padding: 0.5em 2em 1em;
|
||||
margin: 0 auto;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.wizardNavigation {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.wizardContent form {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.scheduledTaskPaperIconItem {
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
.activeSession {
|
||||
min-width: 20rem;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.activitylogUserPhoto {
|
||||
height: 1.71em;
|
||||
width: 1.71em;
|
||||
border-radius: 100%;
|
||||
margin-right: 0.5em;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
@media all and (min-width: 50em) {
|
||||
.activeSession {
|
||||
max-width: 25rem;
|
||||
flex-grow: 0;
|
||||
flex-shrink: 0;
|
||||
flex-basis: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.sessionCardFooter {
|
||||
padding-top: 0.5em !important;
|
||||
padding-bottom: 1em !important;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.sessionAppInfo {
|
||||
flex-grow: 1;
|
||||
padding: 1em;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sessionCardButtons {
|
||||
min-height: 2.7em;
|
||||
}
|
||||
|
||||
.sessionCardButton {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.sessionNowPlayingInnerContent {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
font-weight: 400;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.darkenContent {
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.sessionAppName {
|
||||
vertical-align: top;
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
.sessionNowPlayingDetails {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.sessionNowPlayingInfo {
|
||||
flex-grow: 1;
|
||||
text-overflow: ellipsis;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.sessionNowPlayingName {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.sessionNowPlayingTime {
|
||||
flex-shrink: 0;
|
||||
align-self: flex-end;
|
||||
text-overflow: ellipsis;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.playbackProgress,
|
||||
.transcodingProgress {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.activeSession .backgroundProgress,
|
||||
.activeSession .playbackProgress,
|
||||
.activeSession .transcodingProgress {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
height: 6px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.playbackProgress > div {
|
||||
z-index: 1000;
|
||||
background-color: #00a4dc;
|
||||
}
|
||||
|
||||
.transcodingProgress > div {
|
||||
z-index: 10;
|
||||
background-color: #dd4919;
|
||||
}
|
||||
|
||||
.backgroundProgress > div {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
@media all and (max-width: 34.375em) {
|
||||
.sessionAppName {
|
||||
max-width: 160px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 31.25em) {
|
||||
.sessionAppName {
|
||||
max-width: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
.disabledUser {
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
.disabledUserBanner {
|
||||
margin: 0 0 2em;
|
||||
}
|
||||
|
||||
.appLinks a {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.appLinks a + a {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
@keyframes rotating {
|
||||
from {
|
||||
transform: rotate(0);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.rotatingCircle {
|
||||
animation: rotating 2s linear infinite;
|
||||
}
|
||||
|
||||
.pluginPreviewImg {
|
||||
box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37);
|
||||
}
|
||||
|
||||
.ui-bar-a {
|
||||
text-align: center;
|
||||
padding: 0 20px;
|
||||
}
|
19
src/styles/detailtable.scss
Normal file
19
src/styles/detailtable.scss
Normal file
|
@ -0,0 +1,19 @@
|
|||
.detailTableBodyCell,
|
||||
.detailTableHeaderCell {
|
||||
border-spacing: 0;
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
.detailTable {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.detailTableHeaderCell {
|
||||
font-weight: 700;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
55
src/styles/flexstyles.scss
Normal file
55
src/styles/flexstyles.scss
Normal file
|
@ -0,0 +1,55 @@
|
|||
.flex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.inline-flex {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.flex-direction-column {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.flex-direction-row {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.flex-grow {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.flex-shrink-zero {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.align-items-center {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.align-items-flex-start {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.align-items-flex-end {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.justify-content-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.justify-content-flex-end {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.justify-content-space-between {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.flex-wrap-wrap {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.align-self-flex-end {
|
||||
align-self: flex-end;
|
||||
}
|
56
src/styles/fonts.scss
Normal file
56
src/styles/fonts.scss
Normal file
|
@ -0,0 +1,56 @@
|
|||
@import "../styles/noto-sans/index.scss";
|
||||
|
||||
@mixin font($weight: null, $size: null) {
|
||||
font-weight: $weight;
|
||||
font-size: $size;
|
||||
}
|
||||
|
||||
html {
|
||||
@include font($size: 93%);
|
||||
font-family: "Noto Sans", "Noto Sans HK", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", sans-serif;
|
||||
text-size-adjust: 100%;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
html[lang|="ja"] {
|
||||
font-family: "Noto Sans", "Noto Sans JP", "Noto Sans HK", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", sans-serif;
|
||||
}
|
||||
|
||||
html[lang|="ko"] {
|
||||
font-family: "Noto Sans", "Noto Sans KR", "Noto Sans HK", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", sans-serif;
|
||||
}
|
||||
|
||||
html[lang|="zh-CN"] {
|
||||
font-family: "Noto Sans", "Noto Sans SC", "Noto Sans HK", "Noto Sans JP", "Noto Sans KR", "Noto Sans TC", sans-serif;
|
||||
}
|
||||
|
||||
html[lang|="zh-TW"] {
|
||||
font-family: "Noto Sans", "Noto Sans TC", "Noto Sans HK", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;
|
||||
}
|
||||
|
||||
html[lang|="zh-HK"] {
|
||||
font-family: "Noto Sans", "Noto Sans HK", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", sans-serif;
|
||||
}
|
||||
|
||||
h1 {
|
||||
@include font(400, 1.8em);
|
||||
}
|
||||
|
||||
h2 {
|
||||
@include font(400, 1.5em);
|
||||
}
|
||||
|
||||
h3 {
|
||||
@include font(400, 1.17em);
|
||||
}
|
||||
|
||||
.layout-tv {
|
||||
/* Per WebOS and Tizen guidelines, fonts must be 20px minimum.
|
||||
This takes the 16px baseline and multiplies it by 1.25 to get 20px. */
|
||||
font-size: 125%;
|
||||
}
|
||||
|
||||
.layout-mobile {
|
||||
font-size: 90%;
|
||||
}
|
31
src/styles/fonts.sized.scss
Normal file
31
src/styles/fonts.sized.scss
Normal file
|
@ -0,0 +1,31 @@
|
|||
@mixin header-font($size: null) {
|
||||
font-weight: 400;
|
||||
font-size: $size;
|
||||
}
|
||||
|
||||
html {
|
||||
@media all and (min-height: 720px) {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
/* This is supposed to be 1080p, but had to reduce the min height to account for possible browser chrome */
|
||||
@media all and (min-height: 1000px) {
|
||||
font-size: 27px;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
@include header-font(1.8em);
|
||||
|
||||
.layout-desktop & {
|
||||
font-size: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
@include header-font(1.8em);
|
||||
}
|
||||
|
||||
h3 {
|
||||
@include header-font(1.17em);
|
||||
}
|
3
src/styles/ios.scss
Normal file
3
src/styles/ios.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
html {
|
||||
font-size: 82% !important;
|
||||
}
|
1517
src/styles/librarybrowser.scss
Normal file
1517
src/styles/librarybrowser.scss
Normal file
File diff suppressed because it is too large
Load diff
14
src/styles/livetv.scss
Normal file
14
src/styles/livetv.scss
Normal file
|
@ -0,0 +1,14 @@
|
|||
.guideVerticalScroller {
|
||||
padding-bottom: 15em;
|
||||
}
|
||||
|
||||
#guideTab {
|
||||
@media all and (min-width: 62.5em) {
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: background sizing for cards really needs revisited, but these are particularly terrible
|
||||
#channelsTab .cardImageContainer {
|
||||
background-size: contain;
|
||||
}
|
96
src/styles/metadataeditor.scss
Normal file
96
src/styles/metadataeditor.scss
Normal file
|
@ -0,0 +1,96 @@
|
|||
.editPageSidebar {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.editPageSidebar-withcontent {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.libraryTree {
|
||||
[dir="ltr"] & {
|
||||
margin-left: 0.25em;
|
||||
}
|
||||
|
||||
[dir="rtl"] & {
|
||||
margin-right: 0.25em;
|
||||
}
|
||||
}
|
||||
|
||||
.offlineEditorNode {
|
||||
color: #c33;
|
||||
}
|
||||
|
||||
.editorNode img {
|
||||
height: 18px;
|
||||
margin: 0 0.35em;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.jstree-anchor {
|
||||
font-weight: 400 !important;
|
||||
}
|
||||
|
||||
.jstree-wholerow-hovered {
|
||||
background: #38c !important;
|
||||
border-radius: 0 !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.jstree-default .jstree-hovered {
|
||||
background: 0 0 !important;
|
||||
border-radius: 0 !important;
|
||||
box-shadow: none !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.jstree-default .jstree-wholerow-clicked {
|
||||
background: #00a4dc !important;
|
||||
}
|
||||
|
||||
.metadataSidebarIcon {
|
||||
margin-right: 0.4em;
|
||||
}
|
||||
|
||||
@media all and (min-width: 50em) {
|
||||
.editPageSidebar {
|
||||
position: fixed;
|
||||
top: 5.2em;
|
||||
bottom: 0;
|
||||
width: 30%;
|
||||
display: block;
|
||||
|
||||
[dir="ltr"] & {
|
||||
left: 0;
|
||||
border-right: 1px solid #555;
|
||||
}
|
||||
|
||||
[dir="rtl"] & {
|
||||
right: 0;
|
||||
border-left: 1px solid #555;
|
||||
}
|
||||
}
|
||||
|
||||
.editPageInnerContent {
|
||||
width: 68.5%;
|
||||
|
||||
[dir="ltr"] & {
|
||||
float: right;
|
||||
}
|
||||
|
||||
[dir="rtl"] & {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 112.5em) {
|
||||
.editPageSidebar {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.editPageInnerContent {
|
||||
width: 73.5%;
|
||||
}
|
||||
}
|
57
src/styles/scrollstyles.scss
Normal file
57
src/styles/scrollstyles.scss
Normal file
|
@ -0,0 +1,57 @@
|
|||
.scrollX {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.smoothScrollX {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
.hiddenScrollX,
|
||||
.layout-tv .scrollX {
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
|
||||
.hiddenScrollX-forced {
|
||||
overflow: -moz-scrollbars-none;
|
||||
}
|
||||
|
||||
.hiddenScrollX::-webkit-scrollbar,
|
||||
.layout-tv .scrollX::-webkit-scrollbar {
|
||||
height: 0 !important;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.scrollY {
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.smoothScrollY {
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
.hiddenScrollY,
|
||||
.layout-tv .smoothScrollY {
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
|
||||
/* Can't do this because it not only hides the scrollbar, but also prevents scrolling */
|
||||
|
||||
/* overflow: -moz-scrollbars-none; */
|
||||
}
|
||||
|
||||
.hiddenScrollY-forced {
|
||||
overflow: -moz-scrollbars-none;
|
||||
}
|
||||
|
||||
.hiddenScrollY::-webkit-scrollbar,
|
||||
.layout-tv .smoothScrollY::-webkit-scrollbar,
|
||||
.layout-tv .scrollY::-webkit-scrollbar {
|
||||
width: 0 !important;
|
||||
display: none;
|
||||
}
|
152
src/styles/site.scss
Normal file
152
src/styles/site.scss
Normal file
|
@ -0,0 +1,152 @@
|
|||
@mixin fullpage {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html {
|
||||
@include fullpage;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
body {
|
||||
@include fullpage;
|
||||
overflow-x: hidden;
|
||||
background-color: transparent !important;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
.clipForScreenReader {
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
clip-path: inset(50%);
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
/* Fix font ligatures on older WebOS versions */
|
||||
font-feature-settings: "liga";
|
||||
}
|
||||
|
||||
.backgroundContainer {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
contain: strict;
|
||||
}
|
||||
|
||||
.layout-mobile,
|
||||
.layout-tv {
|
||||
-webkit-touch-callout: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.mainAnimatedPage {
|
||||
contain: style size !important;
|
||||
}
|
||||
|
||||
.pageContainer {
|
||||
overflow-x: visible !important;
|
||||
}
|
||||
|
||||
.bodyWithPopupOpen {
|
||||
overflow-y: hidden !important;
|
||||
}
|
||||
|
||||
div[data-role="page"] {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.pageTitle {
|
||||
margin-top: 0;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
.fieldDescription {
|
||||
padding-left: 0.15em;
|
||||
font-weight: 400;
|
||||
white-space: normal !important;
|
||||
|
||||
+ .fieldDescription {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
}
|
||||
|
||||
.content-primary,
|
||||
.padded-bottom-page,
|
||||
.page,
|
||||
.pageWithAbsoluteTabs .pageTabContent {
|
||||
/* provides room for the music controls */
|
||||
padding-bottom: 5em !important;
|
||||
padding-bottom: calc(env(safe-area-inset-bottom) + 5em) !important;
|
||||
}
|
||||
|
||||
.readOnlyContent {
|
||||
@media all and (min-width: 50em) {
|
||||
max-width: 54em;
|
||||
}
|
||||
}
|
||||
|
||||
form {
|
||||
@media all and (min-width: 50em) {
|
||||
max-width: 54em;
|
||||
}
|
||||
}
|
||||
|
||||
.headerHelpButton {
|
||||
margin-left: 1.25em !important;
|
||||
padding-bottom: 0.4em !important;
|
||||
padding-top: 0.4em !important;
|
||||
}
|
||||
|
||||
.mediaInfoContent {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 85%;
|
||||
}
|
||||
|
||||
.headroom {
|
||||
will-change: transform;
|
||||
transition: transform 200ms linear;
|
||||
|
||||
&--pinned {
|
||||
transform: translateY(0%);
|
||||
}
|
||||
|
||||
&--unpinned {
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
}
|
||||
|
||||
.drawerContent {
|
||||
/* make sure the bottom of the drawer is visible when music is playing */
|
||||
padding-bottom: 4em;
|
||||
}
|
||||
|
||||
.force-scroll {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.hide-scroll {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.w-100 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.margin-auto-x {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.margin-auto-y {
|
||||
margin-top: auto;
|
||||
margin-bottom: auto;
|
||||
}
|
332
src/styles/videoosd.scss
Normal file
332
src/styles/videoosd.scss
Normal file
|
@ -0,0 +1,332 @@
|
|||
.chapterThumbTextContainer,
|
||||
.videoOsdBottom {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.videoOsdBottom {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
position: fixed;
|
||||
background: linear-gradient(0deg, rgba(16, 16, 16, 0.75) 0%, rgba(16, 16, 16, 0) 100%);
|
||||
padding-left: env(safe-area-inset-left);
|
||||
padding-right: env(safe-area-inset-right);
|
||||
padding-top: 7.5em;
|
||||
padding-bottom: 1.75em;
|
||||
padding-bottom: max(env(safe-area-inset-bottom), 1.75em);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
will-change: opacity;
|
||||
transition: opacity 0.3s ease-out;
|
||||
color: #fff;
|
||||
user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.skinHeader-withBackground.osdHeader {
|
||||
transition: opacity 0.3s ease-out;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
background: linear-gradient(180deg, rgba(16, 16, 16, 0.75) 0%, rgba(16, 16, 16, 0) 100%);
|
||||
backdrop-filter: none;
|
||||
color: #eee;
|
||||
height: 7.5em;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.osdHeader-hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.osdHeader .headerTop {
|
||||
pointer-events: all;
|
||||
max-height: 3.5em;
|
||||
}
|
||||
|
||||
.osdHeader .headerButton:not(.headerBackButton):not(.headerCastButton):not(.headerSyncButton) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.chapterThumbContainer {
|
||||
box-shadow: 0 0 1.9vh #000;
|
||||
flex-grow: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.chapterThumb {
|
||||
background-position: center center;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
border: 0;
|
||||
height: 20vh;
|
||||
min-width: 20vh;
|
||||
}
|
||||
|
||||
@media all and (orientation: portrait) {
|
||||
.chapterThumb {
|
||||
height: 30vw;
|
||||
min-width: 30vw;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-height: 50em) and (orientation: landscape) {
|
||||
.chapterThumb {
|
||||
height: 30vh;
|
||||
min-width: 30vh;
|
||||
}
|
||||
}
|
||||
|
||||
.chapterThumbTextContainer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
padding: 0.25em 0.5em;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.chapterThumbText {
|
||||
padding: 0.25em 0;
|
||||
margin: 0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.chapterThumbText-dim {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.videoOsdBottom-hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.osdControls {
|
||||
pointer-events: all;
|
||||
flex-grow: 1;
|
||||
padding: 0 0.8em;
|
||||
}
|
||||
|
||||
.videoOsdBottom .buttons {
|
||||
padding: 0.25em 0 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
|
||||
[dir="rtl"] & {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
}
|
||||
|
||||
.osdVolumeSliderContainer {
|
||||
width: 9em;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.osdMediaInfo,
|
||||
.volumeButtons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.volumeButtons {
|
||||
margin: 0 1em 0 0.29em;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.osdTimeText {
|
||||
margin-left: 1em;
|
||||
margin-right: auto;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.osdTitle,
|
||||
.osdTitleSmall {
|
||||
margin: 0 1em 0 0;
|
||||
}
|
||||
|
||||
.osdMediaInfo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.osdSecondaryMediaInfo {
|
||||
padding-left: 0.6em !important;
|
||||
}
|
||||
|
||||
.osdTextContainer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
user-select: none;
|
||||
margin-bottom: 0.7em;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.osdMainTextContainer {
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.osdMediaStatus {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.osdMediaStatus .animate {
|
||||
animation: spin 4s linear infinite;
|
||||
}
|
||||
|
||||
@media all and (max-width: 30em) {
|
||||
.osdMediaInfo,
|
||||
.osdPoster {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 33.75em) {
|
||||
.videoOsdBottom .paper-icon-button-light {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 43em) {
|
||||
.videoOsdBottom .volumeButtons,
|
||||
.osdMediaStatus span {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 50em) {
|
||||
.videoOsdBottom .btnFastForward,
|
||||
.videoOsdBottom .btnRewind {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 75em) {
|
||||
.videoOsdBottom .endsAtText {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.syncPlayContainer {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.primary-icon {
|
||||
position: absolute;
|
||||
font-size: 64px;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.primary-icon.spin {
|
||||
font-size: 76px !important;
|
||||
animation: spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.secondary-icon {
|
||||
position: absolute;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.secondary-icon.centered {
|
||||
font-size: 28px !important;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.secondary-icon.shifted {
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
font-size: 52px;
|
||||
}
|
||||
|
||||
.syncPlayIconCircle {
|
||||
position: relative;
|
||||
visibility: hidden;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
border-radius: 50%;
|
||||
margin: 60px;
|
||||
height: 96px;
|
||||
width: 96px;
|
||||
|
||||
color: rgba(0, 164, 220, 0);
|
||||
background: rgba(0, 164, 220, 0);
|
||||
box-shadow: 0 0 0 0 rgba(0, 164, 220, 0);
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
.syncPlayIconCircle.oneShotPulse {
|
||||
animation: pulse 1.5s 1;
|
||||
}
|
||||
|
||||
.syncPlayIconCircle.infinitePulse {
|
||||
animation: infinite-pulse 1.5s infinite;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
transform: scale(0.95);
|
||||
color: rgba(0, 164, 220, 0.7);
|
||||
background: rgba(0, 164, 220, 0.3);
|
||||
box-shadow: 0 0 0 0 rgba(0, 164, 220, 0.3);
|
||||
}
|
||||
|
||||
70% {
|
||||
transform: scale(1);
|
||||
color: rgba(0, 164, 220, 0);
|
||||
background: rgba(0, 164, 220, 0);
|
||||
box-shadow: 0 0 0 60px rgba(0, 164, 220, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0.95);
|
||||
color: rgba(0, 164, 220, 0);
|
||||
background: rgba(0, 164, 220, 0);
|
||||
box-shadow: 0 0 0 0 rgba(0, 164, 220, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes infinite-pulse {
|
||||
0% {
|
||||
transform: scale(0.95);
|
||||
color: rgba(0, 164, 220, 0.7);
|
||||
background: rgba(0, 164, 220, 0.3);
|
||||
box-shadow: 0 0 0 0 rgba(0, 164, 220, 0.3);
|
||||
}
|
||||
|
||||
70% {
|
||||
transform: scale(1);
|
||||
color: rgba(0, 164, 220, 0.6);
|
||||
background: rgba(0, 164, 220, 0);
|
||||
box-shadow: 0 0 0 60px rgba(0, 164, 220, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0.95);
|
||||
color: rgba(0, 164, 220, 0.7);
|
||||
background: rgba(0, 164, 220, 0.3);
|
||||
box-shadow: 0 0 0 0 rgba(0, 164, 220, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
100% {
|
||||
transform: rotate(-360deg);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue