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.
28 lines
709 B
TypeScript
28 lines
709 B
TypeScript
// components/Skeleton.tsx
|
|
// Lightweight shimmer placeholder. Used while server components
|
|
// stream in the initial paint, and inside client explorers while
|
|
// TanStack Query is fetching subsequent pages.
|
|
|
|
interface SkeletonProps {
|
|
className?: string;
|
|
}
|
|
|
|
export default function Skeleton({ className = "" }: SkeletonProps) {
|
|
return (
|
|
<div
|
|
aria-hidden="true"
|
|
className={
|
|
"relative overflow-hidden bg-surface-warm rounded-md " +
|
|
className
|
|
}
|
|
>
|
|
<span
|
|
className="absolute inset-0 animate-pulse"
|
|
style={{
|
|
background:
|
|
"linear-gradient(90deg, transparent, rgba(0,0,0,0.04), transparent)"
|
|
}}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|