zinc-collective / convene

An Operating System for the Solidarity Economy
https://convene.zinc.coop
Other
56 stars 19 forks source link

🌸✨ `Marketplace`: `Shopper` chooses `DeliveryArea` #1757

Closed zspencer closed 9 months ago

zspencer commented 9 months ago

So, in reviewing a bunch of the delivery app workflows, most of them have:

This lends me to believe we want to switch to gathering the DeliveryArea then DeliveryAddress then showing the Products that are available.

This uses TurboFrames to replace pieces of the page, rather than relying on TurboStreams. On the one hand, it's lot easier (just respond with html with matching turbo_frame_tags`).

Blerg; anyway, I'm checking this in now; but not sure if I like it enough.

Thoughts? In particular:

After!

Screenshot 2023-08-14 at 1 13 28 PM

Video

https://github.com/zinc-collective/convene/assets/50284/3f645a18-01ca-4318-b54e-2ade59e6a8c6

zspencer commented 9 months ago

If I could get some review on the direction that would be appreciated; even though the tests aren't passing yet.

rosschapman commented 9 months ago

Experience tells me that each section of the checkout experience needs a more human friendly heading that addresses the shopper in a conversation. For example, instead of just "Delivery Area" for the new delivery selection area you would have "Choose your delivery area" -- also that heading stays in edit or persisted mode. And for next section "Add items to your cart" or something. The latter would replace Name/Description/Price table-style headings.

zspencer commented 9 months ago

I like the idea of putting some headings! @anaulin has been advocating for splitting the Cart and the Products into their own pieces; which I think is the logical next step.

How about:

<Card>
  <h3>Delivering To</h3>
  <select>...</select>
</Card>
rosschapman commented 9 months ago

@anaulin has been advocating for splitting the Cart and the Products into their own pieces; which I think is the logical next step.

Makes sense, especially for when product lists start to get longer. Like adding a "View cart" button or panel pinned to the bottom of the screen which pops up a summary overlay. I literally built this for ticket purchasing at Eventbrite πŸ˜‚

zspencer commented 9 months ago

@zinc-collective/convene-maintainers and @zinc-collective/convene-contributors - I am marking this as ready for review, since it has test coverage on the new endpoints.

zspencer commented 9 months ago
prompt the shopper more clearly to select the delivery area before they can do anything else (maybe even like a modal overlay)

Agreed.

if there is only 1 delivery area in the marketplace, select that for them automagically and don't prompt them to select anything

Ya! I'm going to do that in a follow-on PR!