Add logs page in client
[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   'user': require('../../../assets/images/global/user.html'),
6   'sign-out': require('../../../assets/images/global/sign-out.html'),
7   'syndication': require('../../../assets/images/global/syndication.html'),
8   'help': require('../../../assets/images/global/help.html'),
9   'sparkle': require('../../../assets/images/global/sparkle.html'),
10   'alert': require('../../../assets/images/global/alert.html'),
11   'cloud-error': require('../../../assets/images/global/cloud-error.html'),
12   'user-add': require('../../../assets/images/global/user-add.html'),
13   'no': require('../../../assets/images/global/no.html'),
14   'cloud-download': require('../../../assets/images/global/cloud-download.html'),
15   'undo': require('../../../assets/images/global/undo.html'),
16   'history': require('../../../assets/images/global/history.html'),
17   'circle-tick': require('../../../assets/images/global/circle-tick.html'),
18   'cog': require('../../../assets/images/global/cog.html'),
19   'download': require('../../../assets/images/global/download.html'),
20   'go': require('../../../assets/images/menu/go.html'),
21   'edit': require('../../../assets/images/global/edit.html'),
22   'im-with-her': require('../../../assets/images/global/im-with-her.html'),
23   'delete': require('../../../assets/images/global/delete.html'),
24   'server': require('../../../assets/images/global/server.html'),
25   'cross': require('../../../assets/images/global/cross.html'),
26   'validate': require('../../../assets/images/global/validate.html'),
27   'tick': require('../../../assets/images/global/tick.html'),
28   'dislike': require('../../../assets/images/video/dislike.html'),
29   'heart': require('../../../assets/images/video/heart.html'),
30   'like': require('../../../assets/images/video/like.html'),
31   'more-horizontal': require('../../../assets/images/global/more-horizontal.html'),
32   'more-vertical': require('../../../assets/images/global/more-vertical.html'),
33   'share': require('../../../assets/images/video/share.html'),
34   'upload': require('../../../assets/images/video/upload.html'),
35   'playlist-add': require('../../../assets/images/video/playlist-add.html'),
36   'play': require('../../../assets/images/global/play.html'),
37   'playlists': require('../../../assets/images/global/playlists.html'),
38   'about': require('../../../assets/images/menu/about.html'),
39   'globe': require('../../../assets/images/menu/globe.html'),
40   'home': require('../../../assets/images/menu/home.html'),
41   'recently-added': require('../../../assets/images/menu/recently-added.html'),
42   'trending': require('../../../assets/images/menu/trending.html'),
43   'videos': require('../../../assets/images/global/videos.html'),
44   'folder': require('../../../assets/images/global/folder.html'),
45   'administration': require('../../../assets/images/menu/administration.html'),
46   'subscriptions': require('../../../assets/images/menu/subscriptions.html'),
47   'users': require('../../../assets/images/global/users.html'),
48   'refresh': require('../../../assets/images/global/refresh.html')
49 }
50
51 export type GlobalIconName = keyof typeof icons
52
53 @Component({
54   selector: 'my-global-icon',
55   template: '',
56   styleUrls: [ './global-icon.component.scss' ]
57 })
58 export class GlobalIconComponent implements OnInit {
59   @Input() iconName: GlobalIconName
60
61   constructor (private el: ElementRef) {}
62
63   ngOnInit () {
64     const nativeElement = this.el.nativeElement
65
66     nativeElement.innerHTML = icons[this.iconName]
67   }
68 }