v2.0: sound library, image upload, DnD, ResourceBrowser, Barotrauma HUD, captain sanity
Deploy / build-and-deploy (push) Failing after 52s

This commit is contained in:
2026-06-15 01:07:05 +03:00
parent 9deec9d23e
commit d0cd008f6e
16 changed files with 1039 additions and 231 deletions
+29
View File
@@ -0,0 +1,29 @@
import { NextRequest, NextResponse } from "next/server";
const FREESOUND_API = "https://freesound.org/apiv2/search/text/";
const API_KEY = process.env.FREESOUND_API_KEY || "";
export async function GET(req: NextRequest) {
const query = req.nextUrl.searchParams.get("q") || "";
const page = parseInt(req.nextUrl.searchParams.get("page") || "1");
if (!query) return NextResponse.json({ results: [] });
if (!API_KEY) return NextResponse.json({ error: "Freesound API key not configured" }, { status: 500 });
try {
const url = `${FREESOUND_API}?query=${encodeURIComponent(query)}&page=${page}&token=${API_KEY}&page_size=12&fields=id,name,duration,previews`;
const res = await fetch(url);
const data = await res.json();
const results = (data.results || []).map((r: any) => ({
id: r.id,
name: r.name,
duration: r.duration,
previewUrl: r.previews?.["preview-lq-mp3"] || r.previews?.["preview-hq-mp3"] || null,
}));
return NextResponse.json({ results, count: data.count || 0 });
} catch (e) {
return NextResponse.json({ error: "Freesound search failed" }, { status: 500 });
}
}