feat: Zeitraum auf 2 Jahre verkürzt, Hinweistext im Streaming-Tab, Herkunftsland bei Serien
This commit is contained in:
@@ -346,6 +346,7 @@ router.get('/search', authenticate, async (req, res) => {
|
|||||||
genres: (m.genre_ids||[]).map(id => tvGenres[id] || genreMap[id]).filter(Boolean),
|
genres: (m.genre_ids||[]).map(id => tvGenres[id] || genreMap[id]).filter(Boolean),
|
||||||
vote_average: m.vote_average,
|
vote_average: m.vote_average,
|
||||||
original_language: m.original_language,
|
original_language: m.original_language,
|
||||||
|
origin_country: m.origin_country || [],
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Sortierung: mit Datum zuerst (neueste), ohne Datum danach
|
// Sortierung: mit Datum zuerst (neueste), ohne Datum danach
|
||||||
@@ -389,6 +390,7 @@ router.get('/tv/:id', authenticate, async (req, res) => {
|
|||||||
genres: (detail.genres||[]).map(g=>g.name),
|
genres: (detail.genres||[]).map(g=>g.name),
|
||||||
fsk,
|
fsk,
|
||||||
cast: (detail.credits?.cast||[]).slice(0,8).map(c => c.name),
|
cast: (detail.credits?.cast||[]).slice(0,8).map(c => c.name),
|
||||||
|
countries: (detail.production_countries||[]).map(c => c.name),
|
||||||
imdb_id: extIds.imdb_id || '',
|
imdb_id: extIds.imdb_id || '',
|
||||||
number_of_seasons: detail.number_of_seasons,
|
number_of_seasons: detail.number_of_seasons,
|
||||||
number_of_episodes: detail.number_of_episodes,
|
number_of_episodes: detail.number_of_episodes,
|
||||||
@@ -525,8 +527,8 @@ router.get('/streaming/:providerId', authenticate, async (req, res) => {
|
|||||||
const provider = STREAMING_PROVIDERS.find(p => p.id === req.params.providerId);
|
const provider = STREAMING_PROVIDERS.find(p => p.id === req.params.providerId);
|
||||||
if (!provider) return res.status(404).json({ error: 'Unbekannter Anbieter' });
|
if (!provider) return res.status(404).json({ error: 'Unbekannter Anbieter' });
|
||||||
|
|
||||||
// Nur Titel der letzten 5 Jahre
|
// Nur Titel der letzten 2 Jahre (aktuelles Jahr - 1)
|
||||||
const minYear = new Date().getFullYear() - 5;
|
const minYear = new Date().getFullYear() - 1;
|
||||||
const minDate = `${minYear}-01-01`;
|
const minDate = `${minYear}-01-01`;
|
||||||
|
|
||||||
const movieParams = {
|
const movieParams = {
|
||||||
@@ -569,6 +571,7 @@ router.get('/streaming/:providerId', authenticate, async (req, res) => {
|
|||||||
genres: (m.genre_ids||[]).map(gid => genreMap[gid]).filter(Boolean),
|
genres: (m.genre_ids||[]).map(gid => genreMap[gid]).filter(Boolean),
|
||||||
vote_average: m.vote_average,
|
vote_average: m.vote_average,
|
||||||
original_language: m.original_language,
|
original_language: m.original_language,
|
||||||
|
origin_country: m.origin_country || [],
|
||||||
}));
|
}));
|
||||||
|
|
||||||
res.json({ provider: { id: provider.id, label: provider.label }, movies, tvShows });
|
res.json({ provider: { id: provider.id, label: provider.label }, movies, tvShows });
|
||||||
|
|||||||
@@ -476,6 +476,9 @@ function StreamingGrid({ onOpenModal, xrelIds, onXrelLoaded, favIds: favIdsProp,
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
<div style={{color:'rgba(255,255,255,0.35)',fontFamily:'monospace',fontSize:11,marginBottom:12}}>
|
||||||
|
Top 10 Filme & Serien pro Anbieter (DE) · nur Titel ab {new Date().getFullYear()-1} · sortiert nach Popularität
|
||||||
|
</div>
|
||||||
{/* Anbieter-Auswahl */}
|
{/* Anbieter-Auswahl */}
|
||||||
<div style={{display:'flex',gap:6,flexWrap:'wrap',marginBottom:16}}>
|
<div style={{display:'flex',gap:6,flexWrap:'wrap',marginBottom:16}}>
|
||||||
{providers.map(p => (
|
{providers.map(p => (
|
||||||
|
|||||||
Reference in New Issue
Block a user