Reorganize client shared modules
[oweals/peertube.git] / client / src / app / shared / shared-instance / instance-features-table.component.html
1 <div class="feature-table">
2
3   <table class="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         <div class="more-info">can be redefined by the users</div>
15       </th>
16
17       <td class="value">{{ buildNSFWLabel() }}</td>
18     </tr>
19
20     <tr>
21       <th i18n class="label" scope="row">User registration allowed</th>
22       <td>
23         <my-feature-boolean [value]="serverConfig.signup.allowed"></my-feature-boolean>
24       </td>
25     </tr>
26
27     <tr>
28       <th i18n class="label" colspan="2">Video uploads</th>
29     </tr>
30
31     <tr>
32       <th i18n class="sub-label" scope="row">Transcoding in multiple resolutions</th>
33       <td>
34         <my-feature-boolean [value]="serverConfig.transcoding.enabledResolutions.length !== 0"></my-feature-boolean>
35       </td>
36     </tr>
37
38     <tr>
39       <th i18n class="sub-label" scope="row">Video uploads</th>
40       <td>
41         <span i18n *ngIf="serverConfig.autoBlacklist.videos.ofUsers.enabled">Requires manual validation by moderators</span>
42         <span i18n *ngIf="!serverConfig.autoBlacklist.videos.ofUsers.enabled">Automatically published</span>
43       </td>
44     </tr>
45
46     <tr>
47       <th i18n class="sub-label" scope="row">Video quota</th>
48
49       <td class="value">
50         <ng-container *ngIf="initialUserVideoQuota !== -1">
51           {{ initialUserVideoQuota | bytes: 0 }} <ng-container *ngIf="dailyUserVideoQuota !== -1">({{ dailyUserVideoQuota | bytes: 0 }} per day)</ng-container>
52
53           <my-help tooltipPlacement="auto" helpType="custom">
54             <ng-template ptTemplate="customHtml">
55               <div [innerHTML]="quotaHelpIndication"></div>
56             </ng-template>
57           </my-help>
58         </ng-container>
59
60         <ng-container i18n *ngIf="initialUserVideoQuota === -1">
61           Unlimited <ng-container *ngIf="dailyUserVideoQuota !== -1">({{ dailyUserVideoQuota | bytes: 0 }} per day)</ng-container>
62         </ng-container>
63       </td>
64     </tr>
65
66     <tr>
67       <th i18n class="label" colspan="2">Import</th>
68     </tr>
69
70     <tr>
71       <th i18n class="sub-label" scope="row">HTTP import (YouTube, Vimeo, direct URL...)</th>
72       <td>
73         <my-feature-boolean [value]="serverConfig.import.videos.http.enabled"></my-feature-boolean>
74       </td>
75     </tr>
76
77     <tr>
78       <th i18n class="sub-label" scope="row">Torrent import</th>
79       <td>
80         <my-feature-boolean [value]="serverConfig.import.videos.torrent.enabled"></my-feature-boolean>
81       </td>
82     </tr>
83
84
85     <tr>
86       <th i18n class="label" colspan="2">Player</th>
87     </tr>
88
89     <tr>
90       <th i18n class="sub-label" scope="row">P2P enabled</th>
91       <td>
92         <my-feature-boolean [value]="serverConfig.tracker.enabled"></my-feature-boolean>
93       </td>
94     </tr>
95
96     <tr>
97       <th i18n class="label" colspan="2">Search</th>
98     </tr>
99
100     <tr>
101       <th i18n class="sub-label" scope="row">Users can resolve distant content</th>
102       <td>
103         <my-feature-boolean [value]="serverConfig.search.remoteUri.users"></my-feature-boolean>
104       </td>
105     </tr>
106   </table>
107 </div>