|
25 | 25 |
|
26 | 26 | <div class="form-group" formGroupName="instance">
|
27 | 27 | <label i18n for="instanceDefaultClientRoute">Landing page</label>
|
| 28 | + |
28 | 29 | <div class="peertube-select-container">
|
29 | 30 | <select id="instanceDefaultClientRoute" formControlName="defaultClientRoute" class="form-control">
|
30 | 31 | <option i18n value="/videos/overview">Discover videos</option>
|
|
41 | 42 | <option i18n value="/videos/local">Local videos</option>
|
42 | 43 | </select>
|
43 | 44 | </div>
|
| 45 | + |
44 | 46 | <div *ngIf="formErrors.instance.defaultClientRoute" class="form-error">{{ formErrors.instance.defaultClientRoute }}</div>
|
45 | 47 | </div>
|
46 | 48 |
|
47 | 49 | <div class="form-group" formGroupName="trending">
|
48 | 50 | <ng-container formGroupName="videos">
|
49 | 51 | <ng-container formGroupName="algorithms">
|
50 | 52 | <label i18n for="trendingVideosAlgorithmsDefault">Default trending page</label>
|
| 53 | + |
51 | 54 | <div class="peertube-select-container">
|
52 | 55 | <select id="trendingVideosAlgorithmsDefault" formControlName="default" class="form-control">
|
53 | 56 | <option i18n value="best">Best videos</option>
|
|
56 | 59 | <option i18n value="most-liked">Most liked videos</option>
|
57 | 60 | </select>
|
58 | 61 | </div>
|
| 62 | + |
59 | 63 | <div *ngIf="formErrors.trending.videos.algorithms.default" class="form-error">{{ formErrors.trending.videos.algorithms.default }}</div>
|
60 | 64 | </ng-container>
|
61 | 65 | </ng-container>
|
|
92 | 96 |
|
93 | 97 | <div class="form-group">
|
94 | 98 | <label i18n for="broadcastMessageLevel">Broadcast message level</label>
|
| 99 | + |
95 | 100 | <div class="peertube-select-container">
|
96 | 101 | <select id="broadcastMessageLevel" formControlName="level" class="form-control">
|
97 | 102 | <option value="info">info</option>
|
98 | 103 | <option value="warning">warning</option>
|
99 | 104 | <option value="error">error</option>
|
100 | 105 | </select>
|
101 | 106 | </div>
|
| 107 | + |
102 | 108 | <div *ngIf="formErrors.broadcastMessage.level" class="form-error">{{ formErrors.broadcastMessage.level }}</div>
|
103 | 109 | </div>
|
104 | 110 |
|
105 | 111 | <div class="form-group">
|
106 | 112 | <label i18n for="broadcastMessageMessage">Message</label><my-help helpType="markdownText"></my-help>
|
| 113 | + |
107 | 114 | <my-markdown-textarea
|
108 | 115 | name="broadcastMessageMessage" formControlName="message" textareaMaxWidth="500px"
|
109 | 116 | [classes]="{ 'input-error': formErrors['broadcastMessage.message'] }"
|
110 | 117 | ></my-markdown-textarea>
|
| 118 | + |
111 | 119 | <div *ngIf="formErrors.broadcastMessage.message" class="form-error">{{ formErrors.broadcastMessage.message }}</div>
|
112 | 120 | </div>
|
113 | 121 |
|
|
139 | 147 | </ng-container>
|
140 | 148 |
|
141 | 149 | <ng-container ngProjectAs="extra">
|
142 |
| - <my-peertube-checkbox [ngClass]="{ 'disabled-checkbox-extra': !isSignupEnabled() }" |
| 150 | + <my-peertube-checkbox [ngClass]="getDisabledSignupClass()" |
143 | 151 | inputName="signupRequiresEmailVerification" formControlName="requiresEmailVerification"
|
144 | 152 | i18n-labelText labelText="Signup requires email verification"
|
145 | 153 | ></my-peertube-checkbox>
|
146 | 154 |
|
147 |
| - <div [ngClass]="{ 'disabled-checkbox-extra': !isSignupEnabled() }" class="mt-3"> |
| 155 | + <div [ngClass]="getDisabledSignupClass()" class="mt-3"> |
148 | 156 | <label i18n for="signupLimit">Signup limit</label>
|
| 157 | + |
149 | 158 | <div class="number-with-unit">
|
150 | 159 | <input
|
151 | 160 | type="number" min="-1" id="signupLimit" class="form-control"
|
152 | 161 | formControlName="limit" [ngClass]="{ 'input-error': formErrors['signup.limit'] }"
|
153 | 162 | >
|
154 | 163 | <span i18n>{form.value['signup']['limit'], plural, =1 {user} other {users}}</span>
|
155 | 164 | </div>
|
| 165 | + |
156 | 166 | <div *ngIf="formErrors.signup.limit" class="form-error">{{ formErrors.signup.limit }}</div>
|
157 |
| - <small *ngIf="form.value['signup']['limit'] === -1" class="text-muted">Signup won't be limited to a fixed number of users.</small> |
| 167 | + |
| 168 | + <small i18n *ngIf="hasUnlimitedSignup()" class="text-muted">Signup won't be limited to a fixed number of users.</small> |
158 | 169 | </div>
|
159 | 170 | </ng-container>
|
160 | 171 | </my-peertube-checkbox>
|
|
207 | 218 |
|
208 | 219 | <div class="form-group mt-4">
|
209 | 220 | <label i18n for="importConcurrency">Import jobs concurrency</label>
|
210 |
| - <span class="text-muted ml-1"> |
211 |
| - <span i18n>allows to import multiple videos in parallel. ⚠️ Requires a PeerTube restart.</span> |
212 |
| - </span> |
| 221 | + <span i18n class="text-muted ml-1">allows to import multiple videos in parallel. ⚠️ Requires a PeerTube restart.</span> |
213 | 222 |
|
214 | 223 | <div class="number-with-unit">
|
215 | 224 | <input type="number" name="importConcurrency" formControlName="concurrency" />
|
|
307 | 316 | </ng-container>
|
308 | 317 |
|
309 | 318 | <ng-container ngProjectAs="extra">
|
310 |
| - <div [ngClass]="{ 'disabled-checkbox-extra': !isSearchIndexEnabled() }"> |
| 319 | + <div [ngClass]="getDisabledSearchIndexClass()"> |
311 | 320 | <label i18n for="searchIndexUrl">Search index URL</label>
|
| 321 | + |
312 | 322 | <input
|
313 | 323 | type="text" id="searchIndexUrl" class="form-control"
|
314 | 324 | formControlName="url" [ngClass]="{ 'input-error': formErrors['search.searchIndex.url'] }"
|
315 | 325 | >
|
| 326 | + |
316 | 327 | <div *ngIf="formErrors.search.searchIndex.url" class="form-error">{{ formErrors.search.searchIndex.url }}</div>
|
317 | 328 | </div>
|
318 | 329 |
|
319 | 330 | <div class="mt-3">
|
320 |
| - <my-peertube-checkbox [ngClass]="{ 'disabled-checkbox-extra': !isSearchIndexEnabled() }" |
| 331 | + <my-peertube-checkbox [ngClass]="getDisabledSearchIndexClass()" |
321 | 332 | inputName="searchIndexDisableLocalSearch" formControlName="disableLocalSearch"
|
322 | 333 | i18n-labelText labelText="Disable local search in search bar"
|
323 | 334 | ></my-peertube-checkbox>
|
324 | 335 | </div>
|
325 | 336 |
|
326 | 337 | <div class="mt-3">
|
327 |
| - <my-peertube-checkbox [ngClass]="{ 'disabled-checkbox-extra': !isSearchIndexEnabled() }" |
| 338 | + <my-peertube-checkbox [ngClass]="getDisabledSearchIndexClass()" |
328 | 339 | inputName="searchIndexIsDefaultSearch" formControlName="isDefaultSearch"
|
329 | 340 | i18n-labelText labelText="Search bar uses the global search index by default"
|
330 | 341 | >
|
|
433 | 444 |
|
434 | 445 | <div class="form-group" formGroupName="admin">
|
435 | 446 | <label i18n for="adminEmail">Admin email</label>
|
| 447 | + |
436 | 448 | <input
|
437 | 449 | type="text" id="adminEmail" class="form-control"
|
438 | 450 | formControlName="email" [ngClass]="{ 'input-error': formErrors['admin.email'] }"
|
439 | 451 | >
|
| 452 | + |
440 | 453 | <div *ngIf="formErrors.admin.email" class="form-error">{{ formErrors.admin.email }}</div>
|
441 | 454 | </div>
|
442 | 455 |
|
|
471 | 484 | type="text" id="servicesTwitterUsername" class="form-control"
|
472 | 485 | formControlName="username" [ngClass]="{ 'input-error': formErrors['services.twitter.username'] }"
|
473 | 486 | >
|
| 487 | + |
474 | 488 | <div *ngIf="formErrors.services.twitter.username" class="form-error">{{ formErrors.services.twitter.username }}</div>
|
475 | 489 | </div>
|
476 | 490 |
|
|
0 commit comments