Chocobozzz/PeerTube

View on GitHub
client/src/app/+about/about-peertube/about-peertube.component.ts

Summary

Maintainability
A
2 hrs
Test Coverage
import { Component, AfterViewChecked } from '@angular/core'
import { ViewportScroller } from '@angular/common'

@Component({
  selector: 'my-about-peertube',
  templateUrl: './about-peertube.component.html',
  styleUrls: [ './about-peertube.component.scss' ],
  standalone: true
})

export class AboutPeertubeComponent implements AfterViewChecked {
  private lastScrollHash: string

  constructor (
    private viewportScroller: ViewportScroller
  ) {}

  ngAfterViewChecked () {
    if (window.location.hash && window.location.hash !== this.lastScrollHash) {
      this.viewportScroller.scrollToAnchor(window.location.hash.replace('#', ''))

      this.lastScrollHash = window.location.hash
    }
  }
}