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);
|
||||
|
||||
try {
|
||||
const topics = ["Volksmusik", "Schlager+Musik", "Oberkrainer"];
|
||||
const topic = topics[Math.floor(Date.now() / 3600000) % topics.length];
|
||||
const rssUrl = `https://news.google.com/rss/search?q=${topic}&hl=de&gl=DE&ceid=DE:de`;
|
||||
const xml = await fetchRssFeed(rssUrl);
|
||||
const items = parseRssItems(xml, 14);
|
||||
if (items.length > 0) setCache(cacheKey, items);
|
||||
res.json(items);
|
||||
const musicFeeds = [
|
||||
"https://www.br.de/nachrichten/feed/volksmusik,QkXOY9u",
|
||||
"https://www.sueddeutsche.de/rss/Kultur",
|
||||
"https://rss.orf.at/kultur.xml",
|
||||
"https://www.mdr.de/kultur/musik/index-rss.xml",
|
||||
];
|
||||
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) {
|
||||
console.log("[news-feed] RSS fetch error:", err.message);
|
||||
const stale = getStale<any[]>(cacheKey);
|
||||
@ -431,13 +448,27 @@ export async function registerRoutes(
|
||||
if (cached) return res.json(cached);
|
||||
|
||||
try {
|
||||
const topics = ["Nachrichten+Deutschland", "Nachrichten+Oesterreich", "Nachrichten+Europa", "Wirtschaft+aktuell", "Sport+aktuell"];
|
||||
const topic = topics[Math.floor(Date.now() / 3600000) % topics.length];
|
||||
const rssUrl = `https://news.google.com/rss/search?q=${topic}&hl=de&gl=DE&ceid=DE:de`;
|
||||
const xml = await fetchRssFeed(rssUrl);
|
||||
const items = parseRssItems(xml, 1);
|
||||
if (items.length > 0) setCache(cacheKey, items);
|
||||
res.json(items);
|
||||
const newsFeeds = [
|
||||
"https://rss.orf.at/news.xml",
|
||||
"https://www.tagesschau.de/xml/rss2/",
|
||||
"https://www.spiegel.de/schlagzeilen/tops/index.rss",
|
||||
"https://www.derstandard.at/rss",
|
||||
];
|
||||
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) {
|
||||
console.log("[breaking-news] RSS fetch error:", err.message);
|
||||
const stale = getStale<any[]>(cacheKey);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user