Asynchronously load affiliate links #8824
Merged
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.
Closes #8576
Asynchronously loads affiliate links on the book page. Now, on book page load, the prices have been replaced with the same type of loading indicator that is used for the related works carousel. This loading indicator is now a macro, but this can be reverted if another loading indicator should be used (like a skeleton loader).
As of writing, error cases are not handled gracefully (if at all). What should the behavior be if the call for partials fails? Should we retry? Should the loading indicator be replaced by some error message?
Technical
Replaced parameter
page
withtitle
in theAffiliateLinks.html
, as only the title was being accessed on thepage
object.In order to simplify updating the view, the content of the affiliate links macro is now nested within a
span
. This entire span is replaced with the partially rendered HTML on fetch success.Affiliate links in the
DonateModal
component are not asynchronously fetched. I'm not sure if this template is actively used today, so maybe it should be removed altogether?Ready for review when:
Testing
General:
databarWork
section.Retry Flow:
/partials
handler to return an error./partials
handler.Screenshot
Loading indicator in desktop view.
Loading indicator in mobile view.
Retry link in desktop view.
Retry link in mobile view.
Stakeholders