Skip to content

Commit 7557d3e

Browse files
committed
ui adds
1 parent 03bbab7 commit 7557d3e

File tree

5 files changed

+23
-8
lines changed

5 files changed

+23
-8
lines changed

web/src/components/media/MediaHero.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ const openTrailerModal = () => {
9191
.backdrop-overlay {
9292
position: absolute;
9393
inset: 0;
94-
/* Dark-ish, readable, preserves image detail */
94+
/* Darker overlay for better text readability */
9595
background: linear-gradient(
9696
180deg,
97-
rgba(0, 0, 0, 0.5),
98-
rgba(0, 0, 0, 0.25) 45%,
99-
rgba(0, 0, 0, 0.6)
97+
rgba(0, 0, 0, 0.7),
98+
rgba(0, 0, 0, 0.5) 45%,
99+
rgba(0, 0, 0, 0.8)
100100
);
101101
}
102102

web/src/components/poster/Poster.vue

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<div class="poster-overlay">
3333
<div class="poster-info">
3434
<span class="poster-title">{{ item.title }}</span>
35-
<span class="poster-year">{{ item.year }}</span>
35+
<span class="poster-meta">{{ mediaTypeLabel }} · {{ item.year }}</span>
3636
</div>
3737
</div>
3838
</component>
@@ -112,6 +112,17 @@ const isInLibrary = computed(() => {
112112
113113
const showLibraryBadge = computed(() => !props.isDownloading && isInLibrary.value)
114114
115+
const mediaTypeLabel = computed(() => {
116+
if ('mediaType' in props.item && props.item.mediaType) {
117+
return props.item.mediaType === 'series' ? 'Series' : 'Movie'
118+
}
119+
// Fallback: check for series-specific fields
120+
if ('numberOfSeasons' in props.item || 'seasons' in props.item) {
121+
return 'Series'
122+
}
123+
return 'Movie'
124+
})
125+
115126
const posterPath = computed(() => {
116127
const sizeConfig = POSTER_SIZES[props.size]
117128
return `https://image.tmdb.org/t/p/${sizeConfig.tmdbSize}/${props.item.posterPath}`
@@ -267,7 +278,7 @@ const onError = () => {
267278
overflow: hidden;
268279
}
269280
270-
.poster-year {
281+
.poster-meta {
271282
font-size: 0.75rem;
272283
color: rgba(255, 255, 255, 0.7);
273284
}

web/src/lib/utils.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,16 @@ export function formatRuntime(minutes: number | undefined | null): string {
1919
}
2020

2121
/**
22-
* Builds metadata subtitle with bullet separators (e.g., "2008 • PG-13 • 2h 32m")
22+
* Builds metadata subtitle with bullet separators (e.g., "Movie • 2008 • PG-13 • 2h 32m")
2323
*/
2424
export function buildMetadataSubtitle(parts: {
25+
mediaType?: 'movie' | 'series'
2526
year?: string | number
2627
certification?: string
2728
runtime?: number | null
2829
}): string {
2930
const segments: string[] = []
31+
if (parts.mediaType) segments.push(parts.mediaType === 'series' ? 'Series' : 'Movie')
3032
if (parts.year) segments.push(String(parts.year))
3133
if (parts.certification) segments.push(parts.certification)
3234
if (parts.runtime) {

web/src/views/Movie.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<template #actions>
2424
<Button @click="searchForDownloadCandidates">
2525
<Download class="mr-2 size-4" />
26-
Snag
26+
Download
2727
</Button>
2828
</template>
2929
</MediaHero>
@@ -120,6 +120,7 @@ const movieSubtitle = computed(() => {
120120
? new Date(data.value.releaseDate).getFullYear()
121121
: undefined
122122
return buildMetadataSubtitle({
123+
mediaType: 'movie',
123124
year,
124125
certification: data.value.certification,
125126
runtime: data.value.runtime,

web/src/views/Series.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ const seriesSubTitle = computed(() => {
276276
yearDisplay = first
277277
}
278278
return buildMetadataSubtitle({
279+
mediaType: 'series',
279280
year: yearDisplay,
280281
certification: data.value.certification,
281282
runtime: data.value.episodeRuntime,

0 commit comments

Comments
 (0)