<div class="peertube-select-container">
<select id="instanceDefaultClientRoute" formControlName="defaultClientRoute" class="form-control">
<option i18n value="/videos/overview">Discover videos</option>
- <option i18n value="/videos/trending">Trending videos</option>
- <option i18n value="/videos/most-liked">Most liked videos</option>
+ <optgroup i18n-label label="Trending pages">
+ <option i18n value="/videos/trending">Default trending page</option>
+ <option i18n value="/videos/trending?alg=hot" [disabled]="!trendingVideosAlgorithmsEnabledIncludes('hot')">Hot videos</option>
+ <option i18n value="/videos/trending?alg=most-viewed" [disabled]="!trendingVideosAlgorithmsEnabledIncludes('most-viewed')">Most viewed videos</option>
+ <option i18n value="/videos/trending?alg=most-liked" [disabled]="!trendingVideosAlgorithmsEnabledIncludes('most-liked')">Most liked videos</option>
+ </optgroup>
<option i18n value="/videos/recently-added">Recently added videos</option>
<option i18n value="/videos/local">Local videos</option>
</select>
<div *ngIf="formErrors.instance.defaultClientRoute" class="form-error">{{ formErrors.instance.defaultClientRoute }}</div>
</div>
+ <div class="form-group" formGroupName="trending">
+ <ng-container formGroupName="videos">
+ <ng-container formGroupName="algorithms">
+ <label i18n for="trendingVideosAlgorithmsDefault">Default trending page</label>
+ <div class="peertube-select-container">
+ <select id="trendingVideosAlgorithmsDefault" formControlName="default" class="form-control">
+ <option i18n value="hot">Hot videos</option>
+ <option i18n value="most-viewed">Most viewed videos</option>
+ <option i18n value="most-liked">Most liked videos</option>
+ </select>
+ </div>
+ <div *ngIf="formErrors.trending.videos.algorithms.default" class="form-error">{{ formErrors.trending.videos.algorithms.default }}</div>
+ </ng-container>
+ </ng-container>
+ </div>
+
</div>
</div>
<div *ngIf="formErrors.transcoding.threads" class="form-error">{{ formErrors.transcoding.threads }}</div>
</div>
+ <div class="form-group mt-4" [ngClass]="{ 'disabled-checkbox-extra': !isTranscodingEnabled() }">
+ <label i18n for="transcodingProfile">Transcoding profile</label>
+ <span class="text-muted ml-1" i18n>new transcoding profiles can be added by PeerTube plugins</span>
+
+ <ng-select
+ id="transcodingProfile"
+ formControlName="profile"
+ [items]="getAvailableTranscodingProfile('vod')"
+ [clearable]="false"
+ >
+ <ng-template ng-option-tmp let-item="item" let-index="index">
+ {{ item }}
+ <ng-container *ngIf="item === 'default'">
+ <br>
+ <span class="text-muted">x264, targeting maximum device compatibility</span>
+ </ng-container>
+ </ng-template>
+ </ng-select>
+ <div *ngIf="formErrors.transcoding.profile" class="form-error">{{ formErrors.transcoding.profile }}</div>
+ </div>
+
</ng-container>
</div>
<div *ngIf="formErrors.live.transcoding.threads" class="form-error">{{ formErrors.live.transcoding.threads }}</div>
</div>
+ <div class="form-group mt-4" [ngClass]="{ 'disabled-checkbox-extra': !isLiveEnabled() || !isLiveTranscodingEnabled() }">
+ <label i18n for="liveTranscodingProfile">Live transcoding profile</label>
+ <span class="text-muted ml-1" i18n>New live transcoding profiles can be added by PeerTube plugins</span>
+
+ <div class="peertube-select-container">
+ <select id="liveTranscodingProfile" formControlName="profile" class="form-control">
+ <option *ngFor="let liveTranscodingProfileOption of getAvailableTranscodingProfile('live')" [value]="liveTranscodingProfileOption">
+ {{ liveTranscodingProfileOption }}
+ </option>
+ </select>
+ </div>
+ <div *ngIf="formErrors.live.transcoding.profile" class="form-error">{{ formErrors.live.transcoding.profile }}</div>
+ </div>
+
</ng-container>
</ng-container>