Adds the full Next.js app (app/, components/, lib/, scripts/, assets/, docs/, Dockerfile, compose, configs) to version control. Security: - CIPC BizPortal customer-code logins (Login 1 + Login 3) now read CIPC_LOGIN1_CODE / CIPC_LOGIN1_PASSWORD / CIPC_LOGIN3_CODE / CIPC_LOGIN3_PASSWORD from .env.local instead of source. - BizPortal personal login in apply-bizportal route reads BIZPORTAL_ID_NO / BIZPORTAL_PASSWORD. - Added .env.example as the committed template. .gitignore excludes .env*, node_modules, .next, logs, sqlite, Playwright storage_state.json (live CIPC cookies), scratch dirs, client PDFs and debug screenshots.
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
// app/bizportal/page.tsx
|
|
// Server Component. Renders the BizPortal search interface.
|
|
|
|
import { Suspense } from "react";
|
|
import Link from "next/link";
|
|
import PageHeader from "@/components/PageHeader";
|
|
import BizPortalExplorer from "./BizPortalExplorer";
|
|
|
|
export const dynamic = "force-dynamic";
|
|
|
|
export default async function BizPortalPage() {
|
|
return (
|
|
<>
|
|
<PageHeader
|
|
eyebrow="BizPortal"
|
|
title="CIPC Entity Search"
|
|
subtitle="Search entities on BizPortal by Director ID Number or Enterprise (CK) Number. Results are fetched live from the CIPC registry."
|
|
action={
|
|
<Link
|
|
href="/bizportal-2"
|
|
className="inline-flex items-center gap-2 text-xs font-semibold text-accent border border-amber-300 bg-amber-50 px-3 py-2 rounded-md hover:bg-amber-100 transition-colors no-underline"
|
|
>
|
|
<span className="uppercase tracking-wider text-[10px] font-bold text-amber-800">Test</span>
|
|
<span>Try BizPortal 2.0 (Python sidecar) →</span>
|
|
</Link>
|
|
}
|
|
/>
|
|
<section className="container-x py-10">
|
|
<Suspense fallback={<div className="text-muted">Loading…</div>}>
|
|
<BizPortalExplorer />
|
|
</Suspense>
|
|
</section>
|
|
</>
|
|
);
|
|
}
|