Update image links for gallery assets
Update Dropbox URLs for multiple image assets within the server/gallery-data.json file. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 517dfa7b-26ac-463d-a6e1-a58c6df97188 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: ad634fae-c475-4452-904f-c533dce69bea Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/f209e72a-0939-48fa-84fc-57854de71967/517dfa7b-26ac-463d-a6e1-a58c6df97188/nFw7xof Replit-Helium-Checkpoint-Created: true
This commit is contained in:
parent
6ad697f1e9
commit
4ee3fab763
BIN
attached_assets/IMG_2328_1772479635979.png
Normal file
BIN
attached_assets/IMG_2328_1772479635979.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 163 KiB |
File diff suppressed because it is too large
Load Diff
@ -411,13 +411,30 @@ export async function registerRoutes(
|
|||||||
if (cached) return res.json(cached);
|
if (cached) return res.json(cached);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const topics = ["Volksmusik", "Schlager+Musik", "Oberkrainer"];
|
const musicFeeds = [
|
||||||
const topic = topics[Math.floor(Date.now() / 3600000) % topics.length];
|
"https://www.br.de/nachrichten/feed/volksmusik,QkXOY9u",
|
||||||
const rssUrl = `https://news.google.com/rss/search?q=${topic}&hl=de&gl=DE&ceid=DE:de`;
|
"https://www.sueddeutsche.de/rss/Kultur",
|
||||||
const xml = await fetchRssFeed(rssUrl);
|
"https://rss.orf.at/kultur.xml",
|
||||||
const items = parseRssItems(xml, 14);
|
"https://www.mdr.de/kultur/musik/index-rss.xml",
|
||||||
if (items.length > 0) setCache(cacheKey, items);
|
];
|
||||||
res.json(items);
|
let allItems: { title: string; link: string; source: string; pubDate: string }[] = [];
|
||||||
|
const results = await Promise.allSettled(
|
||||||
|
musicFeeds.map(async (url) => {
|
||||||
|
try {
|
||||||
|
const xml = await fetchRssFeed(url);
|
||||||
|
return parseRssItems(xml, 14);
|
||||||
|
} catch { return []; }
|
||||||
|
})
|
||||||
|
);
|
||||||
|
for (const r of results) {
|
||||||
|
if (r.status === "fulfilled") allItems.push(...r.value);
|
||||||
|
}
|
||||||
|
const musikKeywords = /musik|schlager|volksmusik|oberkrainer|konzert|sänger|lied|album|hit|chor|festival|bühne|oper|melodie/i;
|
||||||
|
let filtered = allItems.filter(i => musikKeywords.test(i.title));
|
||||||
|
if (filtered.length < 3) filtered = allItems.slice(0, 10);
|
||||||
|
filtered = filtered.slice(0, 10);
|
||||||
|
if (filtered.length > 0) setCache(cacheKey, filtered);
|
||||||
|
res.json(filtered);
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
console.log("[news-feed] RSS fetch error:", err.message);
|
console.log("[news-feed] RSS fetch error:", err.message);
|
||||||
const stale = getStale<any[]>(cacheKey);
|
const stale = getStale<any[]>(cacheKey);
|
||||||
@ -431,13 +448,27 @@ export async function registerRoutes(
|
|||||||
if (cached) return res.json(cached);
|
if (cached) return res.json(cached);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const topics = ["Nachrichten+Deutschland", "Nachrichten+Oesterreich", "Nachrichten+Europa", "Wirtschaft+aktuell", "Sport+aktuell"];
|
const newsFeeds = [
|
||||||
const topic = topics[Math.floor(Date.now() / 3600000) % topics.length];
|
"https://rss.orf.at/news.xml",
|
||||||
const rssUrl = `https://news.google.com/rss/search?q=${topic}&hl=de&gl=DE&ceid=DE:de`;
|
"https://www.tagesschau.de/xml/rss2/",
|
||||||
const xml = await fetchRssFeed(rssUrl);
|
"https://www.spiegel.de/schlagzeilen/tops/index.rss",
|
||||||
const items = parseRssItems(xml, 1);
|
"https://www.derstandard.at/rss",
|
||||||
if (items.length > 0) setCache(cacheKey, items);
|
];
|
||||||
res.json(items);
|
let allItems: { title: string; link: string; source: string; pubDate: string }[] = [];
|
||||||
|
const results = await Promise.allSettled(
|
||||||
|
newsFeeds.map(async (url) => {
|
||||||
|
try {
|
||||||
|
const xml = await fetchRssFeed(url);
|
||||||
|
return parseRssItems(xml, 1);
|
||||||
|
} catch { return []; }
|
||||||
|
})
|
||||||
|
);
|
||||||
|
for (const r of results) {
|
||||||
|
if (r.status === "fulfilled") allItems.push(...r.value);
|
||||||
|
}
|
||||||
|
allItems = allItems.slice(0, 10);
|
||||||
|
if (allItems.length > 0) setCache(cacheKey, allItems);
|
||||||
|
res.json(allItems);
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
console.log("[breaking-news] RSS fetch error:", err.message);
|
console.log("[breaking-news] RSS fetch error:", err.message);
|
||||||
const stale = getStale<any[]>(cacheKey);
|
const stale = getStale<any[]>(cacheKey);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user