diff --git a/src/app/eMandate/login/page.tsx b/src/app/eMandate/login/page.tsx index 275fd18..ed0e89d 100644 --- a/src/app/eMandate/login/page.tsx +++ b/src/app/eMandate/login/page.tsx @@ -22,6 +22,19 @@ function LoginEmandate() { const [isLogging, setIsLogging] = useState(false); const searchParams = useSearchParams(); const data = searchParams.get("data"); + const payload = searchParams.get("payload"); + + useEffect(() => { + if (payload) { + try { + const parsed = JSON.parse(decodeURIComponent(payload)); + console.log("Received payload from SoftTech:", parsed); + localStorage.setItem("Emandate_data", JSON.stringify(parsed)); + } catch (e) { + console.error("Failed to parse payload:", e); + } + } + }, [payload]); useEffect(() => { if (data) { diff --git a/src/app/eMandate/login/route.ts b/src/app/eMandate/login/route.ts new file mode 100644 index 0000000..413c80b --- /dev/null +++ b/src/app/eMandate/login/route.ts @@ -0,0 +1,28 @@ +// src/app/emandate/login/route.ts +import { NextResponse } from "next/server"; + +export async function POST(req: Request) { + try { + const formData = await req.formData(); + const data = formData.get("data"); + const mandateReqDoc = formData.get("mandateReqDoc"); + const mndtType = formData.get("mndtType"); + + console.log("Received from SoftTech:", { data, mandateReqDoc, mndtType }); + + // Option 1: Encode small payload in query param (safe if short) + const encodedData = encodeURIComponent(JSON.stringify({ + data, + mandateReqDoc, + mndtType, + })); + + // Redirect browser to page UI with data + return NextResponse.redirect( + new URL(`/eMandate/login?payload=${encodedData}`, req.url) + ); + } catch (error) { + console.error("Error handling POST:", error); + return NextResponse.json({ error: "Internal Server Error" }, { status: 500 }); + } +}