"use client"; import { useEffect, useState } from "react"; export default function DashboardPage() { const [salesAccountCode, setSalesAccountCode] = useState(""); const [stripeClearingAccountCode, setStripeClearingAccountCode] = useState(""); const [stripeAccountId, setStripeAccountId] = useState(""); const [xeroTenantId, setXeroTenantId] = useState(""); const [loading, setLoading] = useState(true); const [saved, setSaved] = useState(false); useEffect(() => { Promise.all([ fetch("/api/dashboard/xero-settings").then((res) => res.json()), fetch("/api/dashboard/connections").then((res) => res.json()), ]).then(([settings, connections]) => { setSalesAccountCode(settings.salesAccountCode ?? ""); setStripeClearingAccountCode(settings.stripeClearingAccountCode ?? ""); setStripeAccountId(connections.stripeAccountId ?? ""); setXeroTenantId(connections.xeroTenantId ?? ""); setLoading(false); }); }, []); async function save() { setSaved(false); await fetch("/api/dashboard/xero-settings", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ salesAccountCode, stripeClearingAccountCode, }), }); setSaved(true); } if (loading) return
Loading…
; return (
Stripe:{" "}
{stripeAccountId || "Not connected"}
Xero:{" "}
{xeroTenantId || "Not connected"}
Used on invoice line items
Receives Stripe payments
Saved
)}