Align layout for create/edit video-playlists (my-account) on create/edit user (admin)
This commit is contained in:
parent
03a3ad9194
commit
628c155338
|
@ -1,6 +1,11 @@
|
||||||
@import '_variables';
|
@import '_variables';
|
||||||
@import '_mixins';
|
@import '_mixins';
|
||||||
|
|
||||||
|
label {
|
||||||
|
font-weight: $font-regular;
|
||||||
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.video-channel-title {
|
.video-channel-title {
|
||||||
@include settings-big-title;
|
@include settings-big-title;
|
||||||
}
|
}
|
||||||
|
@ -37,11 +42,6 @@ input {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
label {
|
|
||||||
font-weight: $font-regular;
|
|
||||||
font-size: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
@include peertube-textarea(500px, 150px);
|
@include peertube-textarea(500px, 150px);
|
||||||
|
|
||||||
|
|
|
@ -1,71 +1,102 @@
|
||||||
<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>
|
<div *ngIf="error" class="alert alert-danger">{{ error }}</div>
|
||||||
|
|
||||||
<form role="form" (ngSubmit)="formValidated()" [formGroup]="form">
|
<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">
|
<div class="form-row"> <!-- playlist grid -->
|
||||||
<label i18n for="description">Description</label>
|
<div class="form-group col-12 col-lg-4 col-xl-3">
|
||||||
<textarea
|
<div *ngIf="isCreation()" class="video-playlist-title" i18n>NEW PLAYLIST</div>
|
||||||
id="description" formControlName="description"
|
<div *ngIf="!isCreation() && videoPlaylistToUpdate" class="video-playlist-title" i18n>PLAYLIST</div>
|
||||||
[ngClass]="{ 'input-error': formErrors['description'] }"
|
|
||||||
></textarea>
|
|
||||||
<div *ngIf="formErrors.description" class="form-error">
|
|
||||||
{{ formErrors.description }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-12 col-xl-6">
|
<div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
|
||||||
<div class="form-group">
|
|
||||||
<label i18n for="privacy">Privacy</label>
|
<div class="col-md-12 col-xl-6">
|
||||||
<div class="peertube-select-container">
|
<div class="form-group">
|
||||||
<select id="privacy" formControlName="privacy">
|
<label i18n for="displayName">Display name</label>
|
||||||
<option *ngFor="let privacy of videoPlaylistPrivacies" [value]="privacy.id">{{ privacy.label }}</option>
|
<input
|
||||||
</select>
|
type="text" id="displayName"
|
||||||
|
formControlName="displayName" [ngClass]="{ 'input-error': formErrors['displayName'] }"
|
||||||
|
>
|
||||||
|
<div *ngIf="formErrors['displayName']" class="form-error">
|
||||||
|
{{ formErrors['displayName'] }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div *ngIf="formErrors.privacy" class="form-error">
|
<div class="form-group">
|
||||||
{{ formErrors.privacy }}
|
<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>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="col-md-12 col-xl-6">
|
||||||
<label i18n>Channel</label>
|
<div class="form-group">
|
||||||
<div class="peertube-select-container">
|
<label i18n for="privacy">Privacy</label>
|
||||||
<select formControlName="videoChannelId">
|
<div class="peertube-select-container">
|
||||||
<option></option>
|
<select id="privacy" formControlName="privacy">
|
||||||
<option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option>
|
<option *ngFor="let privacy of videoPlaylistPrivacies" [value]="privacy.id">{{ privacy.label }}</option>
|
||||||
</select>
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div *ngIf="formErrors.privacy" class="form-error">
|
||||||
|
{{ formErrors.privacy }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div *ngIf="formErrors['videoChannelId']" class="form-error">
|
<div class="form-group">
|
||||||
{{ formErrors['videoChannelId'] }}
|
<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 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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-row"> <!-- submit placement block -->
|
||||||
<label i18n>Playlist thumbnail</label>
|
<div class="col-md-7 col-xl-5"></div>
|
||||||
|
<div class="col-md-5 col-xl-5 d-inline-flex">
|
||||||
<my-preview-upload
|
<input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid">
|
||||||
i18n-inputLabel inputLabel="Edit" inputName="thumbnailfile" formControlName="thumbnailfile"
|
</div>
|
||||||
previewWidth="223px" previewHeight="122px"
|
|
||||||
></my-preview-upload>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid">
|
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
@import '_variables';
|
@import '_variables';
|
||||||
@import '_mixins';
|
@import '_mixins';
|
||||||
|
|
||||||
.form-sub-title {
|
label {
|
||||||
margin-bottom: 20px;
|
font-weight: $font-regular;
|
||||||
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-playlist-title {
|
||||||
|
@include settings-big-title;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=text] {
|
input[type=text] {
|
||||||
|
@ -25,3 +30,7 @@ input[type=submit] {
|
||||||
@include peertube-button;
|
@include peertube-button;
|
||||||
@include orange-button;
|
@include orange-button;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.breadcrumb {
|
||||||
|
@include breadcrumb;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue