]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html
Improve playback speed style
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / config / edit-custom-config / edit-custom-config.component.html
CommitLineData
fd206f0b
C
1<div class="admin-sub-title">Update PeerTube configuration</div>
2
8a8e02a4 3<form role="form" [formGroup]="form">
fd206f0b 4
66b16caf
C
5 <div class="inner-form-title">Instance</div>
6
7 <div class="form-group">
8 <label for="instanceName">Name</label>
9 <input
10 type="text" id="instanceName"
11 formControlName="instanceName" [ngClass]="{ 'input-error': formErrors['instanceName'] }"
12 >
13 <div *ngIf="formErrors.instanceName" class="form-error">
14 {{ formErrors.instanceName }}
15 </div>
16 </div>
17
18 <div class="form-group">
8a8e02a4 19 <label for="instanceDescription">Description</label><my-help helpType="markdownText"></my-help>
66b16caf
C
20 <my-markdown-textarea
21 id="instanceDescription" formControlName="instanceDescription" textareaWidth="500px" [previewColumn]="true"
22 [classes]="{ 'input-error': formErrors['instanceDescription'] }"
23 ></my-markdown-textarea>
24 <div *ngIf="formErrors.instanceDescription" class="form-error">
25 {{ formErrors.instanceDescription }}
26 </div>
27 </div>
28
29 <div class="form-group">
8a8e02a4 30 <label for="instanceTerms">Terms</label><my-help helpType="markdownText"></my-help>
66b16caf
C
31 <my-markdown-textarea
32 id="instanceTerms" formControlName="instanceTerms" textareaWidth="500px" [previewColumn]="true"
33 [ngClass]="{ 'input-error': formErrors['instanceTerms'] }"
34 ></my-markdown-textarea>
35 <div *ngIf="formErrors.instanceTerms" class="form-error">
36 {{ formErrors.instanceTerms }}
37 </div>
38 </div>
39
fd206f0b
C
40 <div class="inner-form-title">Cache</div>
41
42 <div class="form-group">
43 <label for="cachePreviewsSize">Preview cache size</label>
44 <input
45 type="text" id="cachePreviewsSize"
46 formControlName="cachePreviewsSize" [ngClass]="{ 'input-error': formErrors['cachePreviewsSize'] }"
47 >
48 <div *ngIf="formErrors.cachePreviewsSize" class="form-error">
49 {{ formErrors.cachePreviewsSize }}
50 </div>
51 </div>
52
53 <div class="inner-form-title">Signup</div>
54
55 <div class="form-group">
56 <input type="checkbox" id="signupEnabled" formControlName="signupEnabled">
57
58 <label for="signupEnabled"></label>
59 <label for="signupEnabled">Signup enabled</label>
60 </div>
61
62 <div *ngIf="isSignupEnabled()" class="form-group">
63 <label for="signupLimit">Signup limit</label>
64 <input
65 type="text" id="signupLimit"
66 formControlName="signupLimit" [ngClass]="{ 'input-error': formErrors['signupLimit'] }"
67 >
68 <div *ngIf="formErrors.signupLimit" class="form-error">
69 {{ formErrors.signupLimit }}
70 </div>
71 </div>
72
73 <div class="inner-form-title">Administrator</div>
74
75 <div class="form-group">
76 <label for="adminEmail">Admin email</label>
77 <input
78 type="text" id="adminEmail"
79 formControlName="adminEmail" [ngClass]="{ 'input-error': formErrors['adminEmail'] }"
80 >
81 <div *ngIf="formErrors.adminEmail" class="form-error">
82 {{ formErrors.adminEmail }}
83 </div>
84 </div>
85
86 <div class="inner-form-title">Users</div>
87
88 <div class="form-group">
89 <label for="userVideoQuota">User default video quota</label>
90 <div class="peertube-select-container">
91 <select id="userVideoQuota" formControlName="userVideoQuota">
92 <option *ngFor="let videoQuotaOption of videoQuotaOptions" [value]="videoQuotaOption.value">
93 {{ videoQuotaOption.label }}
94 </option>
95 </select>
96 </div>
97 </div>
98
99 <div class="inner-form-title">Transcoding</div>
100
101 <div class="form-group">
102 <input type="checkbox" id="transcodingEnabled" formControlName="transcodingEnabled">
103
104 <label for="transcodingEnabled"></label>
105 <label for="transcodingEnabled">Transcoding enabled</label>
106 </div>
107
108 <ng-template [ngIf]="isTranscodingEnabled()">
109
110 <div class="form-group">
111 <label for="transcodingThreads">Transcoding threads</label>
112 <div class="peertube-select-container">
113 <select id="transcodingThreads" formControlName="transcodingThreads">
114 <option *ngFor="let transcodingThreadOption of transcodingThreadOptions" [value]="transcodingThreadOption.value">
115 {{ transcodingThreadOption.label }}
116 </option>
117 </select>
118 </div>
119 </div>
120
121 <div class="form-group" *ngFor="let resolution of resolutions">
122 <input
123 type="checkbox" [id]="getResolutionKey(resolution)"
124 [formControlName]="getResolutionKey(resolution)"
125 >
126 <label [for]="getResolutionKey(resolution)"></label>
127 <label [for]="getResolutionKey(resolution)">Resolution {{ resolution }} enabled</label>
128 </div>
129 </ng-template>
130
00b5556c
C
131 <div class="inner-form-title">Customizations</div>
132
133 <div class="form-group">
134 <label for="customizationJavascript">JavaScript</label>
0394b1e1 135 <my-help helpType="custom" customHtml="Write directly JavaScript code.<br />Example: console.log('my instance is amazing');"></my-help>
00b5556c
C
136 <textarea
137 id="customizationJavascript" formControlName="customizationJavascript"
138 [ngClass]="{ 'input-error': formErrors['customizationJavascript'] }"
139 ></textarea>
140 <div *ngIf="formErrors.customizationJavascript" class="form-error">
141 {{ formErrors.customizationJavascript }}
142 </div>
143 </div>
144
145 <div class="form-group">
146 <label for="customizationCSS">CSS</label>
0394b1e1 147 <my-help helpType="custom" customHtml="Write directly CSS code.<br />Example: body { background-color: red; }"></my-help>
00b5556c
C
148 <textarea
149 id="customizationCSS" formControlName="customizationCSS"
150 [ngClass]="{ 'input-error': formErrors['customizationCSS'] }"
151 ></textarea>
152 <div *ngIf="formErrors.customizationCSS" class="form-error">
153 {{ formErrors.customizationCSS }}
154 </div>
155 </div>
156
8a8e02a4 157 <input (click)="formValidated()" type="submit" value="Update configuration" [disabled]="!form.valid">
fd206f0b 158</form>