Display reusable blocks in the inserter's 'Recent' tab #4768
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🐶 What this is
Closes #4653.
Shows reusable blocks in the 'Recent' tab of the inserter.
🤔 How this works
Before, our reducer would build out a
state.preferences.recentlyUsedBlocks
that looks like this:This PR changes the shape of this data to look like this:
It's then just a simple matter of patching
selectors.getRecentInserterItems
to look up reusable blocks by theref
that is stored.I've renamed
recentlyUsedBlocks
torecentInserts
so that we don't need to worry about parsing old data which is in a different shape. This means that, when a user upgrades to the next version of Gutenberg, the blocks that appear in their 'Recent' tab will be reset. I think this is an acceptable trade-off since this data isn't all that important and will be quickly re-populated.📋 How to test