import Link from "next/link"; import { hasModuleAccess } from "@/lib/auth/module-access"; import { requireOnboardedUser } from "@/lib/auth/user"; import { prisma } from "@/lib/prisma"; import { NormativeAnalysisView } from "@/components/app/normative-analysis-view"; import { PageShell } from "@/components/app/page-shell"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; type NormativeAnalysisPageProps = { searchParams: Promise>; }; function getParam(params: Record, key: string) { const value = params[key]; return Array.isArray(value) ? value[0] ?? "" : (value ?? ""); } export default async function NormativeAnalysisPage({ searchParams }: NormativeAnalysisPageProps) { const user = await requireOnboardedUser(); const hasPaidModulesAccess = await hasModuleAccess(user, 4); if (!hasPaidModulesAccess) { return ( Bloqueado} >

Acceso restringido

El Modulo 4 forma parte de la ruta premium. Tu cuenta actual puede completar el Diagnostico (Modulo 1) y revisar los planes en la seccion Modulos.

); } const params = await searchParams; const sourceId = getParam(params, "sourceId").trim(); const linkedSource = sourceId ? await prisma.licitation.findUnique({ where: { id: sourceId }, select: { id: true, title: true, supplierAwarded: true, }, }) : null; return (

Modulo 4: Analisis Normativo

Analiza bases de licitacion, reglamentos y leyes con IA

Navegacion

Regresa al Modulo 3 para ver mas oportunidades o vuelve al dashboard.

); }