BeaconCMS/beacon

Preserve scroll position

Aperta

#123 aperta il 31 gen 2023

 (3 commenti) (1 reazione) (0 assegnatari)Elixir (120 fork)batch import
enhancementgood first issue

Metriche repository

Star
 (1194 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

This is a problem in LiveView but we can solve it on our own. Pages currently don't preserve scroll position. See:

https://user-images.githubusercontent.com/18524/215903473-99d47362-fac5-495d-b7ad-3071c45a5b61.mp4

I solved this a few years ago in ember-router-scroll: https://github.com/DockYard/ember-router-scroll/blob/master/addon/services/router-scroll.js

We'll need to pull in some JS resources to implement in Beacon. Two cases need to be accounted for:

  1. preserving scroll position when navigating to a new page then back to the original
  2. preserving scroll position when reloading a page (hard refresh also respects position)
  3. if opening a new tab to the same URL or navigating forward from A, to B, and pushing a new instance of A to the history stack it shouldn't inherit the scroll position of the original visit of A but if I go back in history it should

Guida contributor