1 <div class=
"admin-sub-title">Update PeerTube configuration
</div>
3 <form role=
"form" [formGroup]=
"form">
5 <div class=
"inner-form-title">Instance
</div>
7 <div class=
"form-group">
8 <label for=
"instanceName">Name
</label>
10 type=
"text" id=
"instanceName"
11 formControlName=
"instanceName" [ngClass]=
"{ 'input-error': formErrors['instanceName'] }"
13 <div *
ngIf=
"formErrors.instanceName" class=
"form-error">
14 {{ formErrors.instanceName }}
18 <div class=
"form-group">
19 <label for=
"instanceDescription">Description
</label><my-help helpType=
"markdownText"></my-help>
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 }}
29 <div class=
"form-group">
30 <label for=
"instanceTerms">Terms
</label><my-help helpType=
"markdownText"></my-help>
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 }}
40 <div class=
"inner-form-title">Cache
</div>
42 <div class=
"form-group">
43 <label for=
"cachePreviewsSize">Preview cache size
</label>
45 type=
"text" id=
"cachePreviewsSize"
46 formControlName=
"cachePreviewsSize" [ngClass]=
"{ 'input-error': formErrors['cachePreviewsSize'] }"
48 <div *
ngIf=
"formErrors.cachePreviewsSize" class=
"form-error">
49 {{ formErrors.cachePreviewsSize }}
53 <div class=
"inner-form-title">Signup
</div>
55 <div class=
"form-group">
56 <input type=
"checkbox" id=
"signupEnabled" formControlName=
"signupEnabled">
58 <label for=
"signupEnabled"></label>
59 <label for=
"signupEnabled">Signup enabled
</label>
62 <div *
ngIf=
"isSignupEnabled()" class=
"form-group">
63 <label for=
"signupLimit">Signup limit
</label>
65 type=
"text" id=
"signupLimit"
66 formControlName=
"signupLimit" [ngClass]=
"{ 'input-error': formErrors['signupLimit'] }"
68 <div *
ngIf=
"formErrors.signupLimit" class=
"form-error">
69 {{ formErrors.signupLimit }}
73 <div class=
"inner-form-title">Administrator
</div>
75 <div class=
"form-group">
76 <label for=
"adminEmail">Admin email
</label>
78 type=
"text" id=
"adminEmail"
79 formControlName=
"adminEmail" [ngClass]=
"{ 'input-error': formErrors['adminEmail'] }"
81 <div *
ngIf=
"formErrors.adminEmail" class=
"form-error">
82 {{ formErrors.adminEmail }}
86 <div class=
"inner-form-title">Users
</div>
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 }}
99 <div class=
"inner-form-title">Transcoding
</div>
101 <div class=
"form-group">
102 <input type=
"checkbox" id=
"transcodingEnabled" formControlName=
"transcodingEnabled">
104 <label for=
"transcodingEnabled"></label>
105 <label for=
"transcodingEnabled">Transcoding enabled
</label>
108 <ng-template [ngIf]=
"isTranscodingEnabled()">
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 }}
121 <div class=
"form-group" *
ngFor=
"let resolution of resolutions">
123 type=
"checkbox" [id]=
"getResolutionKey(resolution)"
124 [formControlName]=
"getResolutionKey(resolution)"
126 <label [for]=
"getResolutionKey(resolution)"></label>
127 <label [for]=
"getResolutionKey(resolution)">Resolution {{ resolution }} enabled
</label>
131 <div class=
"inner-form-title">Customizations
</div>
133 <div class=
"form-group">
134 <label for=
"customizationJavascript">JavaScript
</label>
135 <my-help helpType=
"custom" customHtml=
"Write directly JavaScript code.<br />Example: console.log('my instance is amazing');"></my-help>
137 id=
"customizationJavascript" formControlName=
"customizationJavascript"
138 [ngClass]=
"{ 'input-error': formErrors['customizationJavascript'] }"
140 <div *
ngIf=
"formErrors.customizationJavascript" class=
"form-error">
141 {{ formErrors.customizationJavascript }}
145 <div class=
"form-group">
146 <label for=
"customizationCSS">CSS
</label>
147 <my-help helpType=
"custom" customHtml=
"Write directly CSS code.<br />Example: body { background-color: red; }"></my-help>
149 id=
"customizationCSS" formControlName=
"customizationCSS"
150 [ngClass]=
"{ 'input-error': formErrors['customizationCSS'] }"
152 <div *
ngIf=
"formErrors.customizationCSS" class=
"form-error">
153 {{ formErrors.customizationCSS }}
157 <input (click)=
"formValidated()" type=
"submit" value=
"Update configuration" [disabled]=
"!form.valid">