-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Display block pattern options in a modal rather than placeholder state #31033
Comments
Agreed and it will be removed from the initial |
What I like about showing the patterns in a fuller modal is exactly that, the better space for display. It makes me think even if our entire library should be larger (or be able to be larger), mostly because that step from the library to the pattern browsing modal is still a cognitive break for someone. It could be smoother if everything was just a little less shy of taking up space in the interface. As someone is focused, I wonder if there is more exploration to be done with taking up more space when they are focused? |
This looks like it will be a good flow, a few Qs:
Any other recent design thoughts for this not included in the images above? |
I think the "X" is analogous to a cancel button. Clicking it basically exists the insertion flow altogether.
Locking probably makes sense, otherwise we have to answer the question of what happens when one clicks outside... do we insert the first pattern? Start blank? Cancel the process altogether? None of those jump out to me as predictable experiences.
It's intended. On larger screens we can arrange the patterns in to a grid whereas on mobile we don't have the space to do so and they will appear in a list instead. This is a nice-to-have though... not 100% necessary imo.
Nothing directly related. But it may be worth noting that this pattern may be used for other flows like changing the template applied to a page (#31591 (comment)), or swapping one template part for another (#31747). |
I agree. It seems having one pattern display at a time is not a great use of the space - but if that were user-defined (perhaps a - ----- + scale, like in the Photos Mac app), then the user could decide how big they want the patterns to display at. I think that'd be an interesting approach if the whole pattern library were viewable as a modal. Honestly, I'm not sure if there's much added value using the modal here instead of an inline placeholder state. The advantage of a placeholder state is that the block appears in the right context. It's forefront, but relevant - instead of just forefront (as a modal is). |
A zoom scale could certainly be a future enhancement of the carousel/grid view. During testing, the primary issue we saw with the placeholder state was that it made the flow too seamless. It wasn't obvious enough that you still needed to perform a subsequent action in order to fully insert the block. Clearly there are ways to address that, but they all essentially involve adding more seams to the experience. The modal may prove to be too extreme a move in the other direction, but it still seems worth testing. |
I find the sudden jump from the sidebar to a large modal to be very jarring and confusing. Instead, maybe it would feel more natural to use the sidebar (where you're used to browsing patterns) to display the suggested patterns: Suggest.Block.Patterns.in.Sidebar.mp4The video shows a way to expand the sidebar, but I could just as easily imagine it opening a modal. -- Similarly, when adding a block with patterns via the Quick Inserter (a.k.a. Slash, or Quick.Inserter.to.Modal.mp4 |
Belatedly connecting some dots... in #31746 I shared an animation (largely inspired by your work) demonstrating how the transition from inserter -> modal could be less jarring: 118638395-b4d5f980-b7ce-11eb-8569-791707ecce00.mp4 |
Wanted to pass along some feedback that came in with the FSE Outreach Program's twelfth call for testing as this work evolves, since it's clear that the current experience renders the patterns too small to see clearly:
Here's the current view: I can see above that viewing the patterns individually is being explored and imagine this will get tricky when dealing with loads of patterns but wanted to connect the dots either way :) |
A larger modal makes a lot of sense but is only one part of the equation. Since patterns can be composed of anything – from a single button up to a full page layout, it seems inevitable that we'll need to offer a way for the user to adjust the view somehow. I like @richtabor's suggestion of a zoom scale a lot. It may even be worth adding that to the pattern explorer separately and reusing it across these other pattern modals. |
I bet @ndiego might have some insights too based on his work with this plugin: https://wordpress.org/plugins/block-pattern-explorer/ +1 on a way to adjust the view. |
I think this one is complete. |
When #29602 is merged certain block placeholders will display contextually relevant block patterns to help users get started more quickly. This is especially useful for complex blocks like the Query. Here's how it works:
query.mp4
The design has not tested as well as we would have liked. Mostly because the placeholder state doesn't present enough contrast from the canvas and the blocks around it. It's not always clear that a user has to actively select a pattern.
Encapsulating the pattern selection flow in a modal has been suggested as a solution to this problem. In this issue I'm sharing a design that demonstrates how that could work:
pattern-carousel.mp4
This modal would be triggered on mouseup when interacting with a block in the inserter. This would hopefully capture the drag and drop behaviours.
All of the components from before are still present, just arranged into a slightly different layout, and wrapped in a modal.
On mobile the modal should take over the majority of the screen:
In the case of the Query block, I've also removed the "inherit from query" toggle because I'm optimistic that we can set a smart default there based on context:
The option would still be present in the Inspector. This change enables the pattern selection UI to be consistent regardless of which block is being inserted.
The text was updated successfully, but these errors were encountered: