diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx index f86e5f06ff1..6aba56a3772 100644 --- a/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx +++ b/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx @@ -94,10 +94,17 @@ export const QueueViewer: React.FC = ({ src={scene.paths.screenshot ?? ""} /> -
- - {objectTitle(scene)} +
+ {objectTitle(scene)} + {scene?.studio?.name} + + {scene?.performers + ?.map(function (performer) { + return performer.name; + }) + .join(", ")} + {scene?.date}
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx index 10637f35f2a..60f8e14e918 100644 --- a/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx +++ b/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx @@ -680,7 +680,7 @@ const SceneLoader: React.FC> = ({ const { scenes } = query.data.findScenes; // append scenes to scene list - const newScenes = queueScenes.concat(scenes as QueuedScene[]); + const newScenes = queueScenes.concat(scenes); setQueueScenes(newScenes); // don't change queue start return scenes; diff --git a/ui/v2.5/src/components/Scenes/styles.scss b/ui/v2.5/src/components/Scenes/styles.scss index ce1d6a3ccc9..086e3821e67 100644 --- a/ui/v2.5/src/components/Scenes/styles.scss +++ b/ui/v2.5/src/components/Scenes/styles.scss @@ -540,6 +540,34 @@ input[type="range"].blue-slider { padding-right: 0.25rem; } +@media (min-width: 1200px) { + #queue-viewer { + .queue-scene-details { + width: 245px; + } + + .queue-scene-title, + .queue-scene-studio, + .queue-scene-performers, + .queue-scene-date { + margin-right: auto; + min-width: 245px; + overflow: hidden; + position: relative; + transform: translateX(0); + transition: 2s; + white-space: nowrap; + } + + .queue-scene-title:hover, + .queue-scene-studio:hover, + .queue-scene-performers:hover, + .queue-scene-date:hover { + transform: translateX(calc(245px - 100%)); + } + } +} + #queue-viewer { .queue-controls { align-items: center; @@ -550,15 +578,50 @@ input[type="range"].blue-slider { justify-content: space-between; position: sticky; top: 0; + z-index: 100; + } + + .queue-scene-details { + display: grid; + overflow: hidden; + position: relative; + } + + .queue-scene-title { + font-size: 1.2rem; + + @media (max-width: 576px) { + font-size: 1rem; + } + } + + .queue-scene-studio { + color: #d3d0d0; + font-weight: 600; + } + + .queue-scene-performers, + .queue-scene-date { + color: #d3d0d0; + font-size: 0.9rem; + font-weight: 400; + + @media (max-width: 576px) { + font-size: 0.8rem; + } } .thumbnail-container { - height: 50px; + height: 80px; margin-bottom: 5px; margin-right: 0.75rem; margin-top: 5px; - min-width: 100px; - width: 100px; + min-width: 142px; + width: 142px; + } + + ol { + padding-left: 20px; } img { diff --git a/ui/v2.5/src/models/sceneQueue.ts b/ui/v2.5/src/models/sceneQueue.ts index 79332edc4e1..83b7e7820db 100644 --- a/ui/v2.5/src/models/sceneQueue.ts +++ b/ui/v2.5/src/models/sceneQueue.ts @@ -1,8 +1,12 @@ import { FilterMode, Scene } from "src/core/generated-graphql"; import { ListFilterModel } from "./list-filter/filter"; import { SceneListFilterOptions } from "./list-filter/scenes"; +import { INamedObject } from "src/utils/navigation"; -export type QueuedScene = Pick; +export type QueuedScene = Pick & { + performers?: INamedObject[] | null; + studio?: INamedObject | null; +}; export interface IPlaySceneOptions { sceneIndex?: number;