// STEP 3 — Connect Xero // Purpose: // - Explain why Xero access is needed // - Make the next step obvious // - Match the Stripe connect page exactly import { cookies } from "next/headers"; import { redirect } from "next/navigation"; export default async function ConnectXeroPage() { const cookieStore = await cookies(); const session = cookieStore.get("session"); // Safety: if not logged in, bounce to login if (!session) { redirect("/login"); } return (
{/* -------------------------------------------------- Header -------------------------------------------------- */}

Connect Xero

We need access to your Xero organisation so we can automatically create invoices and mark them as paid when Stripe payments succeed.

{/* -------------------------------------------------- What will happen -------------------------------------------------- */}

What happens next

{/* -------------------------------------------------- Trust / reassurance -------------------------------------------------- */}

We never see your Xero password.
Access can be revoked at any time from Xero.

{/* -------------------------------------------------- Primary action -------------------------------------------------- */}
Connect Xero →
); }