aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/shared-instance/instance-features-table.component.html
blob: 6c05764df408ad37bc2cd336cc94f7a3d41780d0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<div *ngIf="serverConfig" class="feature-table">

  <table *ngIf="serverConfig">
    <caption i18n>Features found on this instance</caption>
    <tr>
      <th i18n class="label" scope="row">PeerTube version</th>

      <td class="value">{{ getServerVersionAndCommit() }}</td>
    </tr>

    <tr>
      <th i18n class="label" scope="row">
        <div>Default NSFW/sensitive videos policy</div>
        <div class="c-hand more-info" (click)="openQuickSettingsHighlight()">can be redefined by the users</div>
      </th>

      <td class="value">{{ buildNSFWLabel() }}</td>
    </tr>

    <tr>
      <th i18n class="label" scope="row">User registration allowed</th>
      <td>
        <my-feature-boolean [value]="serverConfig.signup.allowed"></my-feature-boolean>
      </td>
    </tr>

    <tr>
      <th i18n class="label" colspan="2">Video uploads</th>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Transcoding in multiple resolutions</th>
      <td>
        <my-feature-boolean [value]="serverConfig.transcoding.enabledResolutions.length !== 0"></my-feature-boolean>
      </td>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Video uploads</th>
      <td>
        <span i18n *ngIf="serverConfig.autoBlacklist.videos.ofUsers.enabled">Requires manual validation by moderators</span>
        <span i18n *ngIf="!serverConfig.autoBlacklist.videos.ofUsers.enabled">Automatically published</span>
      </td>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Video quota</th>

      <td class="value">
        <ng-container *ngIf="initialUserVideoQuota !== -1">
          {{ initialUserVideoQuota | bytes: 0 }} <ng-container *ngIf="dailyUserVideoQuota !== -1">({{ dailyUserVideoQuota | bytes: 0 }} per day)</ng-container>

          <my-help tooltipPlacement="auto" helpType="custom">
            <ng-template ptTemplate="customHtml">
              <div [innerHTML]="quotaHelpIndication"></div>
            </ng-template>
          </my-help>
        </ng-container>

        <ng-container i18n *ngIf="initialUserVideoQuota === -1">
          Unlimited <ng-container *ngIf="dailyUserVideoQuota !== -1">({{ dailyUserVideoQuota | bytes: 0 }} per day)</ng-container>
        </ng-container>
      </td>
    </tr>

    <tr>
      <th i18n class="label" colspan="2">Live streaming</th>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Live streaming enabled</th>
      <td>
        <my-feature-boolean [value]="serverConfig.live.enabled"></my-feature-boolean>
      </td>
    </tr>

    <tr *ngIf="serverConfig.live.enabled">
      <th i18n class="sub-label" scope="row">Transcode live video in multiple resolutions</th>
      <td>
        <my-feature-boolean [value]="serverConfig.live.transcoding.enabled && serverConfig.live.transcoding.enabledResolutions.length > 1"></my-feature-boolean>
      </td>
    </tr>

    <tr *ngIf="serverConfig.live.enabled">
      <th i18n class="sub-label" scope="row">Max parallel lives</th>
      <td i18n>
        {{ maxUserLives }} per user / {{ maxInstanceLives }} per instance
      </td>
    </tr>

    <tr>
      <th i18n class="label" colspan="2">Import</th>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">HTTP import (YouTube, Vimeo, direct URL...)</th>
      <td>
        <my-feature-boolean [value]="serverConfig.import.videos.http.enabled"></my-feature-boolean>
      </td>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Torrent import</th>
      <td>
        <my-feature-boolean [value]="serverConfig.import.videos.torrent.enabled"></my-feature-boolean>
      </td>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Channel synchronization with other platforms (YouTube, Vimeo, ...)</th>
      <td>
        <my-feature-boolean [value]="serverConfig.import.videoChannelSynchronization.enabled"></my-feature-boolean>
      </td>
    </tr>

    <tr>
      <th i18n class="label" colspan="2">Search</th>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Users can resolve distant content</th>
      <td>
        <my-feature-boolean [value]="serverConfig.search.remoteUri.users"></my-feature-boolean>
      </td>
    </tr>

    <tr>
      <th i18n class="label" colspan="2">Plugins & Themes</th>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Available themes</th>
      <td>
        <span class="theme" *ngFor="let theme of serverConfig.theme.registered">
          {{ theme.name }}
        </span>
      </td>
    </tr>

    <tr>
      <th i18n class="sub-label" scope="row">Plugins enabled</th>
      <td>
        <span class="plugin" *ngFor="let plugin of serverConfig.plugin.registered">
          {{ plugin.name }}
        </span>
      </td>
    </tr>
  </table>
</div>