]>
Commit | Line | Data |
---|---|---|
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> |