From 9b6b2c6df1d69f9529bea1a1ff6c780543ab75b0 Mon Sep 17 00:00:00 2001 From: Christopher <39032787+MrRobotjs@users.noreply.github.com> Date: Sun, 4 May 2025 21:37:19 -0600 Subject: [PATCH] series detail page mobile redesign --- UI/Web/src/_series-detail-common.scss | 260 ++++++++------- .../series-detail.component.html | 310 +++++++++--------- UI/Web/src/theme/_variables.scss | 1 + 3 files changed, 308 insertions(+), 263 deletions(-) diff --git a/UI/Web/src/_series-detail-common.scss b/UI/Web/src/_series-detail-common.scss index f043dec17..1f17ed6ec 100644 --- a/UI/Web/src/_series-detail-common.scss +++ b/UI/Web/src/_series-detail-common.scss @@ -1,26 +1,141 @@ @use './theme/variables' as theme; -.title { - color: white; - font-weight: bold; - font-size: 1.75rem; -} - -.image-container { - align-self: flex-start; - max-height: 400px; - max-width: 280px; -} - -.subtitle { - color: lightgrey; - font-weight: bold; - font-size: 0.8rem; -} - .main-container { overflow: unset !important; - margin-top: 15px; + margin-top: 0.9375rem; + + .info-container { + .image-container-background.series { + display: none; + } + .info-grid-container { + display: grid; + grid-template-columns: 20% 80%; + grid-template-rows: auto auto; + .image-container { + grid-column: 1; + grid-row: 1 / 3; + margin-right: 1.5rem; + } + .metadata-details-upper { + display: flex; + flex-direction: column; + justify-content: center; + grid-column: 2; + grid-row: 1; + .title { + color: white; + font-weight: bold; + font-size: 1.75rem; + } + .subtitle { + color: lightgrey; + font-weight: bold; + font-size: 0.8rem; + } + } + .metadata-details-lower { + grid-column: 2; + grid-row: 2; + .continue-container { + display: flex; + .actions-row { + display: flex; + width: unset; + } + } + .upper-details { + font-size: 0.9rem; + } + } + } + } + + .carousel-tabs-container { + overflow-x: auto; + white-space: nowrap; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + scrollbar-width: none; + box-shadow: inset -0.0625rem -0.125rem 0.0rem -0.0625rem var(--elevation-layer9); + .nav-tabs { + flex-wrap: nowrap; + } + } +} + +@media (max-width: theme.$grid-breakpoints-lg) { + .main-container { + .info-container { + .info-grid-container { + grid-template-columns: 30% 70%; + } + } + } +} + +@media (max-width: theme.$grid-breakpoints-sm) { + .main-container { + .info-container { + .info-grid-container { + grid-template-columns: 35% 65%; + grid-template-rows: auto auto; + + .image-container { + display: block !important; + grid-column: 1; + grid-row: 1; + margin-right: 1rem; + } + + .metadata-details-upper { + display: flex; + flex-direction: column; + justify-content: center; + grid-column: 2; + grid-row: 1; + .title { + font-size: 1.375rem; + } + .subtitle { + font-size: 0.625rem; + } + } + + .metadata-details-lower { + grid-column: 1 / 3; + grid-row: 2; + .continue-container { + margin-top: 1rem; + } + } + } + } + } + :host ::ng-deep { + .read-more-cont { + div { + max-width: unset !important; + } + } + } +} + +@media (max-width: theme.$grid-breakpoints-smm) { + .main-container { + .info-container { + .info-grid-container { + .metadata-details-lower { + .continue-container { + flex-direction: column; + .actions-row { + margin-top: 0.5rem; + } + } + } + } + } + } } ::ng-deep .badge-expander .content a { @@ -30,15 +145,15 @@ .btn-group > .btn.dropdown-toggle-split:not(first-child){ border-top-right-radius: var(--bs-border-radius) !important; border-bottom-right-radius: var(--bs-border-radius) !important; - border-width: 1px 1px 1px 0 !important; + border-width: 0.0625rem 0.0625rem 0.0625rem 0 !important; } .btn-group > .btn:not(:last-child):not(.dropdown-toggle) { - border-width: 1px 0 1px 1px !important; + border-width: 0.0625rem 0 0.0625rem 0.0625rem !important; } .card-body > div:nth-child(2) { - height: 50px; + height: 3.125rem; overflow: hidden; -webkit-line-clamp: 2; display: -webkit-box; @@ -46,97 +161,16 @@ -webkit-box-orient: vertical; } -.under-image ~ .overlay-information { - top: -404px; - height: 364px; -} - -.overlay-information { - position: relative; - top: -364px; - height: 364px; - transition: all 0.2s; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - - &:hover { - cursor: pointer; - background-color: var(--card-overlay-hover-bg-color) !important; - - .overlay-information--centered { - visibility: visible; - } - } - - .overlay-information--centered { - position: absolute; - border-radius: 15px; - background-color: rgba(0, 0, 0, .7); - border-radius: 50px; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 115; - visibility: hidden; - - &:hover { - background-color: var(--primary-color) !important; - cursor: pointer; - } - - div { - width: 60px; - height: 60px; - i { - font-size: 1.6rem; - line-height: 60px; - width: 100%; - } - } - } -} - -.progress { - border-radius: 0; -} - -.progress-banner.series { - position: relative; -} - -::ng-deep .progress-banner.series span { - position: absolute; - left: 50%; - transform: translate(-50%, -50%); - color: white; - top: 50%; -} - -.carousel-tabs-container { - overflow-x: auto; - white-space: nowrap; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - scrollbar-width: none; - box-shadow: inset -1px -2px 0px -1px var(--elevation-layer9); -} .carousel-tabs-container::-webkit-scrollbar { display: none; } -.nav-tabs { - flex-wrap: nowrap; -} - -.upper-details { - font-size: 0.9rem; -} ::ng-deep .carousel-container .header i.fa-plus, ::ng-deep .carousel-container .header i.fa-pen{ - border-width: 1px; + border-width: 0.0625rem; border-style: solid; - border-radius: 5px; + border-radius: 0.3125rem; border-color: var(--primary-color); - padding: 5px; + padding: 0.3125rem; vertical-align: middle; &:hover { @@ -144,8 +178,8 @@ } } -::ng-deep .image-container.mobile-bg app-image img { - max-height: 400px; +::ng-deep .image-container-background.mobile-bg app-image img { + max-height: 25rem; object-fit: contain; } @@ -156,16 +190,16 @@ } } -::ng-deep .image-container.mobile-bg app-image img { +::ng-deep .image-container-background.mobile-bg app-image img { max-height: 100dvh !important; object-fit: cover !important; } /* col-lg */ @media (max-width: theme.$grid-breakpoints-lg) { - .image-container.mobile-bg{ + .image-container-background.mobile-bg{ width: 100vw; - top: calc(var(--nav-offset) - 20px); + top: calc(var(--nav-offset) - 1.25rem); left: 0; pointer-events: none; position: fixed !important; @@ -175,10 +209,10 @@ height: 100dvh !important; } - ::ng-deep .image-container.mobile-bg app-image img { + ::ng-deep .image-container-background.mobile-bg app-image img { max-height: unset !important; opacity: 0.05 !important; - filter: blur(5px) !important; + filter: blur(0.3125rem) !important; max-width: 100dvw; height: 100dvh !important; overflow: hidden; diff --git a/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html b/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html index 6d39b0b28..0c69a6740 100644 --- a/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html +++ b/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html @@ -4,173 +4,183 @@ @if (series && seriesMetadata && libraryType !== null) {