Add to playlist dropdown
[oweals/peertube.git] / client / src / app / shared / images / global-icon.component.ts
1 import { Component, ElementRef, Input, OnInit } from '@angular/core'
2
3 const icons = {
4   'add': require('../../../assets/images/global/add.html'),
5   'syndication': require('../../../assets/images/global/syndication.html'),
6   'help': require('../../../assets/images/global/help.html'),
7   'sparkle': require('../../../assets/images/global/sparkle.html'),
8   'alert': require('../../../assets/images/global/alert.html'),
9   'cloud-error': require('../../../assets/images/global/cloud-error.html'),
10   'user-add': require('../../../assets/images/global/user-add.html'),
11   'no': require('../../../assets/images/global/no.html'),
12   'cloud-download': require('../../../assets/images/global/cloud-download.html'),
13   'undo': require('../../../assets/images/global/undo.html'),
14   'circle-tick': require('../../../assets/images/global/circle-tick.html'),
15   'cog': require('../../../assets/images/global/cog.html'),
16   'download': require('../../../assets/images/global/download.html'),
17   'edit': require('../../../assets/images/global/edit.html'),
18   'im-with-her': require('../../../assets/images/global/im-with-her.html'),
19   'delete': require('../../../assets/images/global/delete.html'),
20   'cross': require('../../../assets/images/global/cross.html'),
21   'validate': require('../../../assets/images/global/validate.html'),
22   'tick': require('../../../assets/images/global/tick.html'),
23   'dislike': require('../../../assets/images/video/dislike.html'),
24   'heart': require('../../../assets/images/video/heart.html'),
25   'like': require('../../../assets/images/video/like.html'),
26   'more': require('../../../assets/images/video/more.html'),
27   'share': require('../../../assets/images/video/share.html'),
28   'upload': require('../../../assets/images/video/upload.html'),
29   'playlist-add': require('../../../assets/images/video/playlist-add.html')
30 }
31
32 export type GlobalIconName = keyof typeof icons
33
34 @Component({
35   selector: 'my-global-icon',
36   template: '',
37   styleUrls: [ './global-icon.component.scss' ]
38 })
39 export class GlobalIconComponent implements OnInit {
40   @Input() iconName: GlobalIconName
41
42   constructor (private el: ElementRef) {}
43
44   ngOnInit () {
45     const nativeElement = this.el.nativeElement
46
47     nativeElement.innerHTML = icons[this.iconName]
48   }
49 }