]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/shared-instance/instance-features-table.component.html
Bumped to version v5.2.1
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-instance / instance-features-table.component.html
1 <div *ngIf="serverConfig" class="feature-table">
2
3 <table *ngIf="serverConfig">
4 <caption i18n>Features found on this instance</caption>
5 <tr>
6 <th i18n class="label" scope="row">PeerTube version</th>
7
8 <td class="value">{{ getServerVersionAndCommit() }}</td>
9 </tr>
10
11 <tr>
12 <th i18n class="label" scope="row">
13 <div>Default NSFW/sensitive videos policy</div>
14 <span class="fs-7 fw-normal fst-italic">can be redefined by the users</span>
15 </th>
16
17 <td class="value">{{ buildNSFWLabel() }}</td>
18 </tr>
19
20 <tr>
21 <th i18n class="label" scope="row">User registration</th>
22
23 <td class="value">{{ buildRegistrationLabel() }}</td>
24 </tr>
25
26 <tr>
27 <th i18n class="label" colspan="2">Video uploads</th>
28 </tr>
29
30 <tr>
31 <th i18n class="sub-label" scope="row">Transcoding in multiple resolutions</th>
32 <td>
33 <my-feature-boolean [value]="serverConfig.transcoding.enabledResolutions.length !== 0"></my-feature-boolean>
34 </td>
35 </tr>
36
37 <tr>
38 <th i18n class="sub-label" scope="row">Video uploads</th>
39 <td>
40 <span i18n *ngIf="serverConfig.autoBlacklist.videos.ofUsers.enabled">Requires manual validation by moderators</span>
41 <span i18n *ngIf="!serverConfig.autoBlacklist.videos.ofUsers.enabled">Automatically published</span>
42 </td>
43 </tr>
44
45 <tr>
46 <th i18n class="sub-label" scope="row">Video quota</th>
47
48 <td class="value">
49 <ng-container *ngIf="initialUserVideoQuota !== -1">
50 {{ initialUserVideoQuota | bytes: 0 }} <ng-container *ngIf="dailyUserVideoQuota !== -1">({{ dailyUserVideoQuota | bytes: 0 }} per day)</ng-container>
51
52 <my-help tooltipPlacement="auto" helpType="custom">
53 <ng-template ptTemplate="customHtml">
54 <div [innerHTML]="quotaHelpIndication"></div>
55 </ng-template>
56 </my-help>
57 </ng-container>
58
59 <ng-container i18n *ngIf="initialUserVideoQuota === -1">
60 Unlimited <ng-container *ngIf="dailyUserVideoQuota !== -1">({{ dailyUserVideoQuota | bytes: 0 }} per day)</ng-container>
61 </ng-container>
62 </td>
63 </tr>
64
65 <tr>
66 <th i18n class="label" colspan="2">Live streaming</th>
67 </tr>
68
69 <tr>
70 <th i18n class="sub-label" scope="row">Live streaming enabled</th>
71 <td>
72 <my-feature-boolean [value]="serverConfig.live.enabled"></my-feature-boolean>
73 </td>
74 </tr>
75
76 <tr *ngIf="serverConfig.live.enabled">
77 <th i18n class="sub-label" scope="row">Transcode live video in multiple resolutions</th>
78 <td>
79 <my-feature-boolean [value]="serverConfig.live.transcoding.enabled && serverConfig.live.transcoding.enabledResolutions.length > 1"></my-feature-boolean>
80 </td>
81 </tr>
82
83 <tr *ngIf="serverConfig.live.enabled">
84 <th i18n class="sub-label" scope="row">Max parallel lives</th>
85 <td i18n>
86 {{ maxUserLives }} per user / {{ maxInstanceLives }} per instance
87 </td>
88 </tr>
89
90 <tr>
91 <th i18n class="label" colspan="2">Import</th>
92 </tr>
93
94 <tr>
95 <th i18n class="sub-label" scope="row">HTTP import (YouTube, Vimeo, direct URL...)</th>
96 <td>
97 <my-feature-boolean [value]="serverConfig.import.videos.http.enabled"></my-feature-boolean>
98 </td>
99 </tr>
100
101 <tr>
102 <th i18n class="sub-label" scope="row">Torrent import</th>
103 <td>
104 <my-feature-boolean [value]="serverConfig.import.videos.torrent.enabled"></my-feature-boolean>
105 </td>
106 </tr>
107
108 <tr>
109 <th i18n class="sub-label" scope="row">Channel synchronization with other platforms (YouTube, Vimeo, ...)</th>
110 <td>
111 <my-feature-boolean [value]="serverConfig.import.videoChannelSynchronization.enabled"></my-feature-boolean>
112 </td>
113 </tr>
114
115 <tr>
116 <th i18n class="label" colspan="2">Search</th>
117 </tr>
118
119 <tr>
120 <th i18n class="sub-label" scope="row">Users can resolve distant content</th>
121 <td>
122 <my-feature-boolean [value]="serverConfig.search.remoteUri.users"></my-feature-boolean>
123 </td>
124 </tr>
125
126 <tr>
127 <th i18n class="label" colspan="2">Plugins & Themes</th>
128 </tr>
129
130 <tr>
131 <th i18n class="sub-label" scope="row">Available themes</th>
132 <td>
133 <span class="theme" *ngFor="let theme of serverConfig.theme.registered">
134 {{ theme.name }}
135 </span>
136 </td>
137 </tr>
138
139 <tr>
140 <th i18n class="sub-label" scope="row">Plugins enabled</th>
141 <td>
142 <span class="plugin" *ngFor="let plugin of serverConfig.plugin.registered">
143 {{ plugin.name }}
144 </span>
145 </td>
146 </tr>
147 </table>
148 </div>