3 Commits

Author SHA1 Message Date
lscambo13
756e4a181b Fix: Prevented long section headings from breaking into another line on the homepage on phones 2025-12-30 23:08:46 +05:30
lscambo13
a3e52a43de New: Updated styling for the Media Bar support add-on
Changes:
- redesigned the side indicator dots
- tweaked the layout specifically for phones and TVs
- improved responsiveness on TV layout
- made parental rating font consistent with its siblings
- positioned it correctly for the experimental layout
- positioned the pause button in the top-right corner
- updated colors of dot separators
- tweaked its distance from the header on small screens
2025-12-30 23:05:06 +05:30
lscambo13
8112d4401b Fix: Improved responsiveness of header tabs and page padding
- Prevented header tabs from shifting up too early on TVs
- Updated the page padding-top to adjust in sync with header tabs position
- Made the page top padding aware of the header height to prevent overlaps
2025-12-30 21:38:02 +05:30
2 changed files with 89 additions and 39 deletions

View File

@@ -1096,11 +1096,6 @@ body {
margin: 0.75em 0 -0.75em 0; margin: 0.75em 0 -0.75em 0;
} }
.layout-mobile :not(.sectionTitleContainer-cards) > .sectionTitle-cards {
text-align: left;
margin: 0.75em 0 -0.75em 0;
}
.emby-scrollbuttons, .emby-scrollbuttons,
[dir="ltr"] .emby-scrollbuttons { [dir="ltr"] .emby-scrollbuttons {
padding-top: 1.25em; padding-top: 1.25em;
@@ -2976,8 +2971,13 @@ div[data-role="controlgroup"] a.ui-btn-active {
} }
.sectionTitleTextButton > * { .sectionTitleTextButton > * {
padding: 0.3em 0 !important; text-align: left;
margin: 0 0 !important; padding: 0.3em 0;
/* margin: 0 0 !important; */
/* this prevents long library names from breaking into another line */
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
} }
.dashboardSection .sectionTitleTextButton > .material-icons, .dashboardSection .sectionTitleTextButton > .material-icons,
@@ -3825,13 +3825,6 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
overflow: visible !important; overflow: visible !important;
} }
.layout-tv .sectionTabs {
/* this prevents the section tabs from being off-center in the music library
after I set the overflow to visible to fix visual glitches */
width: 70%;
margin-right: 2em;
}
.sectionTabs .emby-tab-button { .sectionTabs .emby-tab-button {
display: inline-flex; display: inline-flex;
margin: 0.25em 0.5em; margin: 0.25em 0.5em;
@@ -3849,6 +3842,11 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
background-color: var(--textColor); background-color: var(--textColor);
} }
/* this increases page top padding when section tabs are expanded */
.libraryPage:not(.noSecondaryNavPage) {
padding-top: calc(var(--appBarHeight) * 2 + 0.5em) !important;
}
@media (min-width: 75em) { @media (min-width: 75em) {
.sectionTabs { .sectionTabs {
-webkit-align-items: center; -webkit-align-items: center;
@@ -3857,14 +3855,15 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
align-self: center; align-self: center;
-webkit-justify-content: center; -webkit-justify-content: center;
justify-content: center; justify-content: center;
/* this collapses the section tabs expanded earlier than the default 100em max-width */
margin-top: calc(-1 * var(--appBarHeight)); margin-top: calc(-1 * var(--appBarHeight));
position: relative; position: relative;
width: auto; width: auto;
} }
/* this reduces top page padding when section tabs are minimised */ /* this reduces page top padding when section tabs are collapsed */
.libraryPage:not(.noSecondaryNavPage):not(.layout-tv .libraryPage) { .libraryPage:not(.noSecondaryNavPage) {
padding-top: 6.8em !important; padding-top: calc(var(--appBarHeight) + 0.5em) !important;
} }
/* this fixes the header like on desktop on larger tablet screens */ /* this fixes the header like on desktop on larger tablet screens */
@@ -3874,11 +3873,28 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
} }
} }
@media (min-width: 100em) {
/* this reduces top padding when section tabs are collapsed on TVs */
.layout-tv .libraryPage:not(.noSecondaryNavPage) {
padding-top: calc(var(--appBarHeight) + 0.5em) !important;
}
}
@media (max-width: 100em) { @media (max-width: 100em) {
/* this makes the font size consistent */ /* this makes the font size consistent */
.sectionTabs { .sectionTabs {
font-size: 100%; font-size: 100%;
} }
/* this keeps the section tabs expanded on TVs under 100em width */
.layout-tv .sectionTabs {
margin-top: unset;
}
/* this increases page top padding when section tabs are expanded on TVs*/
.layout-tv .libraryPage:not(.noSecondaryNavPage) {
padding-top: calc(var(--appBarHeight) * 2 + 0.5em) !important;
}
} }
@media (max-width: 75em) { @media (max-width: 75em) {
@@ -3892,16 +3908,6 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
} }
} }
/* this increased top page padding when section tabs are maximised */
.libraryPage:not(.noSecondaryNavPage) {
padding-top: 9.5em !important;
}
/* this limits top page padding when section tabs always on TVs */
.layout-tv .libraryPage:not(.noSecondaryNavPage) {
padding-top: 6em !important;
}
.layout-tv .headerLeft { .layout-tv .headerLeft {
overflow: unset; overflow: unset;
margin: 0em 0.6em; margin: 0em 0.6em;

View File

@@ -32,16 +32,20 @@
.age-rating { .age-rating {
font-size: 0.8em; font-size: 0.8em;
font-family: "Archivo Narrow", sans-serif;
color: unset;
} }
#slides-container { #slides-container {
width: calc(100vw - (2 * var(--sidePadding))); width: calc(100vw - (2 * var(--sidePadding)));
height: 62%; height: 62%;
top: var(--appBarHeight); top: calc(var(--appBarHeight) * 2 + 1.25em);
border: var(--defaultBorder); border: var(--defaultBorder);
border-radius: var(--largerRadius); border-radius: var(--largerRadius);
transition: all 0.125s, border 0s; transition: all 0.125s, border 0s;
user-select: none; user-select: none;
position: absolute;
left: var(--sidePadding);
} }
.logo-container { .logo-container {
@@ -59,28 +63,74 @@
background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), 40%, transparent); background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), 40%, transparent);
} }
@media only screen and (max-width: 767px) and (orientation: portrait) { .pause-button {
.button-container { top: 1em !important;
top: calc(50% + 20vh);
transform: translateX(-50%) scale(0.8);
} }
.tomato-rating { .separator-icon {
font-size: 5px;
color: var(--dimTextColor);
}
.dot {
border-radius: 0.25em;
width: 0.375em;
height: 0.375em;
transition: width 0.5s;
opacity: 0.5;
background-color: var(--textColor) !important;
}
.dot.active {
width: 2em;
transform: none;
}
@media only screen and (max-width: 767px) and (orientation: portrait) {
.button-container {
bottom: 3em;
}
.tomato-rating,
.genre {
display: none; display: none;
} }
.dots-container { .dots-container {
top: calc(50% + 19vh); bottom: 6em;
}
.info-container {
bottom: 5em;
}
.logo-container {
top: calc(100% - 15em);
} }
.backdrop { .backdrop {
transform-origin: center; transform-origin: center;
} }
.left-arrow,
.right-arrow {
display: none !important;
}
} }
@media (min-width: 75em) { @media (min-width: 75em) {
#slides-container { #slides-container {
top: calc(0.5 * var(--appBarHeight)); top: calc(var(--appBarHeight) + 1.25em);
}
.layout-tv #slides-container {
top: calc(var(--appBarHeight) * 2 + 1.25em);
}
}
@media (min-width: 100em) {
.layout-tv #slides-container {
top: calc(var(--appBarHeight) + 1.25em);
} }
} }
@@ -94,10 +144,4 @@
} }
} }
@media only screen and (max-width: 767px) and (orientation: portrait) {
.logo-container {
top: 50%;
}
}
/* this styles the media bar plugin - end */ /* this styles the media bar plugin - end */