]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/shared-main/buttons/button.component.ts
Implement two factor in client
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-main / buttons / button.component.ts
index 1d2be0bf92060c6d398f542e59accb4362a63ceb..10d67831f4d8da609df3750da51459c9152f35f3 100644 (file)
@@ -1,28 +1,31 @@
-import { Component, Input } from '@angular/core'
+import { Component, Input, OnChanges } from '@angular/core'
 import { GlobalIconName } from '@app/shared/shared-icons'
 
 @Component({
   selector: 'my-button',
-  styleUrls: ['./button.component.scss'],
+  styleUrls: [ './button.component.scss' ],
   templateUrl: './button.component.html'
 })
 
-export class ButtonComponent {
+export class ButtonComponent implements OnChanges {
   @Input() label = ''
   @Input() className = 'grey-button'
   @Input() icon: GlobalIconName = undefined
+  @Input() routerLink: string[] | string
   @Input() title: string = undefined
   @Input() loading = false
   @Input() disabled = false
+  @Input() responsiveLabel = false
 
-  getTitle () {
-    return this.title || this.label
-  }
+  classes: { [id: string]: boolean } = {}
 
-  getClasses () {
-    return {
+  ngOnChanges () {
+    this.classes = {
       [this.className]: true,
-      disabled: this.disabled
+      disabled: this.disabled,
+      'icon-only': !this.label,
+      'has-icon': !!this.icon,
+      'responsive-label': this.responsiveLabel
     }
   }
 }