TypeScript 50.6%
JavaScript 46.1%
SQL 2.1%
Shell 0.6%
CSS 0.5%
1import { requireUser } from "@/lib/auth/session";2import { db } from "@/db/client";3import { savedSearches } from "@/db/schema";4import { eq, desc } from "drizzle-orm";5import { AlertsView } from "./alerts-view";6export const dynamic = "force-dynamic";7export default async function Alertes() {8 const u = await requireUser(); const rows = await db().select().from(savedSearches).where(eq(savedSearches.userId, u.id)).orderBy(desc(savedSearches.createdAt));9 return <AlertsView items={rows.map((r) => ({ id: r.id, label: r.label, query: r.query as Record<string, string>, alertEnabled: r.alertEnabled, alertFrequency: r.alertFrequency, lastAlertAt: r.lastAlertAt?.toISOString() ?? null, createdAt: r.createdAt.toISOString() }))} />;10}11