Playlist videos component
[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-horizontal': require('../../../assets/images/global/more-horizontal.html'),
27   'more-vertical': require('../../../assets/images/global/more-vertical.html'),
28   'share': require('../../../assets/images/video/share.html'),
29   'upload': require('../../../assets/images/video/upload.html'),
30   'playlist-add': require('../../../assets/images/video/playlist-add.html')
31 }
32
33 export type GlobalIconName = keyof typeof icons
34
35 @Component({
36   selector: 'my-global-icon',
37   template: '',
38   styleUrls: [ './global-icon.component.scss' ]
39 })
40 export class GlobalIconComponent implements OnInit {
41   @Input() iconName: GlobalIconName
42
43   constructor (private el: ElementRef) {}
44
45   ngOnInit () {
46     const nativeElement = this.el.nativeElement
47
48     nativeElement.innerHTML = icons[this.iconName]
49   }
50 }