Headless React
Installation
npm install @firmhouse/firmhouse-sdk @firmhouse/headless-reactUsage
import {
CheckoutForm,
FirmhouseCartProvider,
OrderedProductsList,
OrderSummary,
defaultCheckoutFields,
} from '@firmhouse/headless-react';
const fields = [
...defaultCheckoutFields.slice(0, 3),
{
fields: [
{
name: "termsAccepted",
label: <Translated value="checkout.fields.termsAccepted.label" />,
inputProps: {
className: styles.checkbox,
},
},
],
},
...defaultCheckoutFields.slice(3),
];
export default function CheckoutPage({apiToken, cartToken, locale}) {
return (
<FirmhouseCartProvider
apiToken={apiToken}
cartToken={cartToken}
locale={locale ?? 'en'}
fallback={<div>Loading...</div>}
availableCountries={["BE", "NL"]}
translations={{
en: {
checkout: {
title: "Checkout",
fields: {
termsAccepted: {
label: "I accept the terms and conditions",
},
},
},
},
nl: {
checkout: {
title: "Afrekenen",
fields: {
termsAccepted: {
label: "Ik accepteer de algemene voorwaarden",
},
email: {
label: "Emailadres",
placeholder: "Emailadres",
},
},
},
}
}}
>
<h1><Translated value="checkout.title" /></h1>
<div>
<CheckoutForm fields={fields} inputClassName="input" />
</div>
<div>
<OrderedProductsList onlyOneTimeProducts />
<br />
<OrderedProductsList onlyRecurringProducts />
<OrderSummary />
</div>
</FirmhouseCartProvider>;
);
}Components
Last updated
Was this helpful?