Multicolumn Bluesky client powered by Angular
at master 32 lines 741 B view raw
1import {ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy} from '@angular/core'; 2 3@Component({ 4 selector: 'spinner', 5 imports: [], 6 template: ` 7 <div 8 class="flex h-[1em] w-[1em] items-center justify-center" 9 > 10 <span 11 class="-translate-y-[0.1em] font-bold" 12 >{{chars[index]}}</span> 13 </div> 14 `, 15 changeDetection: ChangeDetectionStrategy.OnPush 16}) 17export class SpinnerComponent implements OnDestroy { 18 chars = ['|', '/', '–', '\\']; 19 index = 0; 20 loop = setInterval(() => { 21 this.index = this.index == 3 ? 0 : this.index + 1; 22 this.cdRef.markForCheck(); 23 }, 250); 24 25 constructor( 26 private cdRef: ChangeDetectorRef 27 ) {} 28 29 ngOnDestroy() { 30 clearInterval(this.loop); 31 } 32}