[READ-ONLY] Mirror of https://github.com/flo-bit/bluesky-trending. show trending bluesky hashtags of the last day/hour flo-bit.dev/bluesky-trending/
0

Configure Feed

Select the types of activity you want to include in your feed.

add api

+40
+16
src/routes/api/[lang]/top-day.json/+server.ts
··· 1 + import { getLastUpdateTimestamp, getTopHashtagsLast24Hours } from '$lib'; 2 + import { json, type RequestHandler } from '@sveltejs/kit'; 3 + 4 + export const GET: RequestHandler = async ({ params }) => { 5 + const languageCode = params.lang ?? 'en'; 6 + 7 + const lastDay = await getTopHashtagsLast24Hours(languageCode); 8 + 9 + const lastUpdateTimestamp = await getLastUpdateTimestamp(); 10 + 11 + if (!lastUpdateTimestamp) { 12 + return json({ tags: lastDay }); 13 + } 14 + 15 + return json({ tags: lastDay, 'last-update': new Date(lastUpdateTimestamp / 1000 + 5000) }); 16 + };
+16
src/routes/api/[lang]/top-last-hour.json/+server.ts
··· 1 + import { getLastUpdateTimestamp, getTopHashtagsLastHour } from '$lib'; 2 + import { json, type RequestHandler } from '@sveltejs/kit'; 3 + 4 + export const GET: RequestHandler = async ({ params }) => { 5 + const languageCode = params.lang ?? 'en'; 6 + 7 + const lastHourTags = await getTopHashtagsLastHour(languageCode); 8 + 9 + const lastUpdateTimestamp = await getLastUpdateTimestamp(); 10 + 11 + if (!lastUpdateTimestamp) { 12 + return json({ tags: lastHourTags }); 13 + } 14 + 15 + return json({ tags: lastHourTags, 'last-update': new Date(lastUpdateTimestamp / 1000 + 5000) }); 16 + };
+8
src/routes/api/languages.json/+server.ts
··· 1 + import { languageEmojis } from '$lib/emojis'; 2 + import { json, type RequestHandler } from '@sveltejs/kit'; 3 + 4 + export const GET: RequestHandler = async () => { 5 + const languages = Object.keys(languageEmojis); 6 + 7 + return json({ languages }); 8 + };