Restoring sticky live view scroll position during live redirects

I use this snippet in a few places and it works ok

Hooks.ScrollPosition = {
  mounted() {
    let top = localStorage.getItem(this.el.id);

    if (top !== null) {
      this.el.scrollTop = parseInt(top, 10);
    }

    window.addEventListener("phx:page-loading-start", _info => localStorage.setItem(this.el.id, this.el.scrollTop))
  }
}