]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/images/global-icon.component.ts
Playlist support in watch page
[github/Chocobozzz/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 'play': require('../../../assets/images/global/play.html')
32 }
33
34 export type GlobalIconName = keyof typeof icons
35
36 @Component({
37 selector: 'my-global-icon',
38 template: '',
39 styleUrls: [ './global-icon.component.scss' ]
40 })
41 export class GlobalIconComponent implements OnInit {
42 @Input() iconName: GlobalIconName
43
44 constructor (private el: ElementRef) {}
45
46 ngOnInit () {
47 const nativeElement = this.el.nativeElement
48
49 nativeElement.innerHTML = icons[this.iconName]
50 }
51 }