4
0
forked from crowetic/commerce

Fix vendure variants (#338)

* Fix variant selection in Vendure provider

* Styling of checkout placeholder in Vendure provider
This commit is contained in:
Michael Bromley 2021-05-28 16:19:49 +02:00 committed by GitHub
parent 60dac1654b
commit 925a68a78c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 4 deletions

View File

@ -11,8 +11,11 @@ const checkoutApi = async (req: any, res: any, config: any) => {
<title>Checkout</title>
</head>
<body>
<div style='margin: 10rem auto; text-align: center; font-family: SansSerif, "Segoe UI", Helvetica'>
<h1>Checkout not implemented :(</h1>
<div style='margin: 10rem auto; text-align: center; font-family: SansSerif, "Segoe UI", Helvetica; color: #888;'>
<svg xmlns="http://www.w3.org/2000/svg" style='height: 60px; width: 60px;' fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
</svg>
<h1>Checkout not yet implemented :(</h1>
<p>
See <a href='https://github.com/vercel/commerce/issues/64' target='_blank'>#64</a>
</p>

View File

@ -20,6 +20,9 @@ async function getProduct({
const product = data.product
if (product) {
const getOptionGroupName = (id: string): string => {
return product.optionGroups.find((og) => og.id === id)!.name
}
return {
product: {
id: product.id,
@ -33,9 +36,13 @@ async function getProduct({
variants: product.variants.map((v) => ({
id: v.id,
options: v.options.map((o) => ({
// This __typename property is required in order for the correct
// variant selection to work, see `components/product/helpers.ts`
// `getVariant()` function.
__typename: 'MultipleChoiceOption',
id: o.id,
displayName: o.name,
values: o.group.options.map((_o) => ({ label: _o.name })),
displayName: getOptionGroupName(o.groupId),
values: [{ label: o.name }],
})),
})),
price: {