-<div i18n class="form-sub-title" *ngIf="isCreation() === true">Create playlist</div>
+<nav aria-label="breadcrumb">
+ <ol class="breadcrumb">
+ <li class="breadcrumb-item">
+ <a routerLink="/my-account/video-playlists" i18n>My Playlists</a>
+ </li>
+
+ <ng-container *ngIf="isCreation()">
+ <li class="breadcrumb-item active" i18n>Create</li>
+ </ng-container>
+ <ng-container *ngIf="!isCreation()">
+ <li class="breadcrumb-item active" i18n>Edit</li>
+ <li class="breadcrumb-item active" aria-current="page">
+ <a *ngIf="videoPlaylistToUpdate" [routerLink]="[ '/my-account/video-playlists/update', videoPlaylistToUpdate?.uuid ]">{{ videoPlaylistToUpdate?.displayName }}</a>
+ </li>
+ </ng-container>
+ </ol>
+</nav>
<div *ngIf="error" class="alert alert-danger">{{ error }}</div>
<form role="form" (ngSubmit)="formValidated()" [formGroup]="form">
- <div class="row">
- <div class="col-md-12 col-xl-6">
- <div class="form-group">
- <label i18n for="displayName">Display name</label>
- <input
- type="text" id="displayName"
- formControlName="displayName" [ngClass]="{ 'input-error': formErrors['displayName'] }"
- >
- <div *ngIf="formErrors['displayName']" class="form-error">
- {{ formErrors['displayName'] }}
- </div>
- </div>
- <div class="form-group">
- <label i18n for="description">Description</label>
- <textarea
- id="description" formControlName="description"
- [ngClass]="{ 'input-error': formErrors['description'] }"
- ></textarea>
- <div *ngIf="formErrors.description" class="form-error">
- {{ formErrors.description }}
- </div>
- </div>
+ <div class="form-row"> <!-- playlist grid -->
+ <div class="form-group col-12 col-lg-4 col-xl-3">
+ <div *ngIf="isCreation()" class="video-playlist-title" i18n>NEW PLAYLIST</div>
+ <div *ngIf="!isCreation() && videoPlaylistToUpdate" class="video-playlist-title" i18n>PLAYLIST</div>
</div>
- <div class="col-md-12 col-xl-6">
- <div class="form-group">
- <label i18n for="privacy">Privacy</label>
- <div class="peertube-select-container">
- <select id="privacy" formControlName="privacy">
- <option *ngFor="let privacy of videoPlaylistPrivacies" [value]="privacy.id">{{ privacy.label }}</option>
- </select>
+ <div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
+
+ <div class="col-md-12 col-xl-6">
+ <div class="form-group">
+ <label i18n for="displayName">Display name</label>
+ <input
+ type="text" id="displayName"
+ formControlName="displayName" [ngClass]="{ 'input-error': formErrors['displayName'] }"
+ >
+ <div *ngIf="formErrors['displayName']" class="form-error">
+ {{ formErrors['displayName'] }}
+ </div>
</div>
- <div *ngIf="formErrors.privacy" class="form-error">
- {{ formErrors.privacy }}
+ <div class="form-group">
+ <label i18n for="description">Description</label>
+ <textarea
+ id="description" formControlName="description"
+ [ngClass]="{ 'input-error': formErrors['description'] }"
+ ></textarea>
+ <div *ngIf="formErrors.description" class="form-error">
+ {{ formErrors.description }}
+ </div>
</div>
</div>
- <div class="form-group">
- <label i18n>Channel</label>
- <div class="peertube-select-container">
- <select formControlName="videoChannelId">
- <option></option>
- <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option>
- </select>
+ <div class="col-md-12 col-xl-6">
+ <div class="form-group">
+ <label i18n for="privacy">Privacy</label>
+ <div class="peertube-select-container">
+ <select id="privacy" formControlName="privacy">
+ <option *ngFor="let privacy of videoPlaylistPrivacies" [value]="privacy.id">{{ privacy.label }}</option>
+ </select>
+ </div>
+
+ <div *ngIf="formErrors.privacy" class="form-error">
+ {{ formErrors.privacy }}
+ </div>
</div>
- <div *ngIf="formErrors['videoChannelId']" class="form-error">
- {{ formErrors['videoChannelId'] }}
+ <div class="form-group">
+ <label i18n>Channel</label>
+ <div class="peertube-select-container">
+ <select formControlName="videoChannelId">
+ <option></option>
+ <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option>
+ </select>
+ </div>
+
+ <div *ngIf="formErrors['videoChannelId']" class="form-error">
+ {{ formErrors['videoChannelId'] }}
+ </div>
</div>
- </div>
- <div class="form-group">
- <label i18n>Playlist thumbnail</label>
+ <div class="form-group">
+ <label i18n>Playlist thumbnail</label>
+
+ <my-preview-upload
+ i18n-inputLabel inputLabel="Edit" inputName="thumbnailfile" formControlName="thumbnailfile"
+ previewWidth="223px" previewHeight="122px"
+ ></my-preview-upload>
+ </div>
+ </div>
- <my-preview-upload
- i18n-inputLabel inputLabel="Edit" inputName="thumbnailfile" formControlName="thumbnailfile"
- previewWidth="223px" previewHeight="122px"
- ></my-preview-upload>
+ <div class="form-row"> <!-- submit placement block -->
+ <div class="col-md-7 col-xl-5"></div>
+ <div class="col-md-5 col-xl-5 d-inline-flex">
+ <input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid">
+ </div>
</div>
</div>
</div>
- <input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid">
</form>