aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/app/shared/shared-main/loaders/loader.component.ts
blob: bd038f8b5514fd4368ab2af10b981ac7b46985c7 (plain) (tree)
1
2
3
4
5
6
7
8
                                                


                        
                                                                                                     
  
                              
                           





                            
                               











                                    
 
import { Component, Input } from '@angular/core'

@Component({
  selector: 'my-loader',
  template: `<div *ngIf="loading" class="spinner-border" [ngStyle]="getStyle()" role="status"></div>`
})
export class LoaderComponent {
  @Input() loading: boolean
  @Input() size: 'sm' | 'xl'

  private readonly sizes = {
    sm: {
      width: '1rem',
      height: '1rem',
      'border-width': '0.15rem'
    },
    xl: {
      width: '3rem',
      height: '3rem'
    }
  }

  getStyle () {
    if (!this.size) return undefined

    return this.sizes[this.size]
  }
}