feat: Originaltitel in Klammern, xREL Jahresfilter, Wildcard-Suche (hulk*2008), Suche neueste zuerst

This commit is contained in:
2026-06-11 15:34:46 +02:00
parent 6b566d721f
commit 945a947824
2 changed files with 49 additions and 9 deletions

View File

@@ -214,6 +214,12 @@ function MovieCard({ movie, favIds, hasXrel, onToggleFav, onOpenModal }) {
display:'-webkit-box', WebkitLineClamp:2, WebkitBoxOrient:'vertical' }}>
{movie.title}
</div>
{movie.original_title && movie.original_title !== movie.title && (
<div style={{ fontSize:9, color:'rgba(255,255,255,0.35)', fontFamily:'monospace',
overflow:'hidden', textOverflow:'ellipsis', whiteSpace:'nowrap', fontStyle:'italic' }}>
({movie.original_title})
</div>
)}
{movie.genres?.length > 0 && (
<div style={{ fontSize:9, color:'#4ecdc4', fontFamily:'monospace', overflow:'hidden',
textOverflow:'ellipsis', whiteSpace:'nowrap' }}>
@@ -384,6 +390,8 @@ function SucheGrid({ onOpenModal, xrelIds, onXrelLoaded }) {
setLoading(true); setError(''); setResults(null);
try {
const list = await api(`/tools/media/search?q=${encodeURIComponent(trimmed)}`);
// Neueste zuerst
list.sort((a,b) => (b.release_date||'').localeCompare(a.release_date||''));
setResults(list);
// xREL-Badges aus Cache
if (list.length) {
@@ -568,6 +576,7 @@ function MovieModal({ tmdbId, onClose, mobile, onHasXrel }) {
title: d.title || '',
orig: d.original_title || '',
imdb_id: d.imdb_id || '',
year: d.release_date ? d.release_date.slice(0,4) : '',
});
api(`/tools/media/movie/${tmdbId}/xrel?${params}`)
.then(r => {
@@ -591,6 +600,7 @@ function MovieModal({ tmdbId, onClose, mobile, onHasXrel }) {
title: d.title || '',
orig: d.original_title || '',
imdb_id: d.imdb_id || '',
year: d.release_date ? d.release_date.slice(0,4) : '',
});
if (forceRefresh) params.set('refresh', '1');
const r = await api(`/tools/media/movie/${tmdbId}/xrel?${params}`);