]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html
Set channel banner/avatar in creation form
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-library / +my-video-channels / my-video-channel-edit.component.html
1 <nav aria-label="breadcrumb">
2 <ol class="breadcrumb">
3 <li class="breadcrumb-item">
4 <a routerLink="/my-library/video-channels" i18n>My Channels</a>
5 </li>
6
7 <ng-container *ngIf="isCreation()">
8 <li class="breadcrumb-item active" i18n>Create</li>
9 </ng-container>
10 <ng-container *ngIf="!isCreation()">
11 <li class="breadcrumb-item active" i18n>Edit</li>
12 <li class="breadcrumb-item active" aria-current="page">
13 <a *ngIf="videoChannel" [routerLink]="[ '/my-library/video-channels/update', videoChannel?.nameWithHost ]">{{ videoChannel?.displayName }}</a>
14 </li>
15 </ng-container>
16 </ol>
17 </nav>
18
19 <div *ngIf="error" class="alert alert-danger">{{ error }}</div>
20
21 <form role="form" (ngSubmit)="formValidated()" [formGroup]="form">
22
23 <div class="form-row"> <!-- channel grid -->
24 <div class="form-group col-12 col-lg-4 col-xl-3">
25 <div *ngIf="isCreation()" class="video-channel-title" i18n>NEW CHANNEL</div>
26 <div *ngIf="!isCreation() && videoChannel" class="video-channel-title" i18n>CHANNEL</div>
27 </div>
28
29 <div class="form-group col-12 col-lg-8 col-xl-9">
30 <h6 i18n>Banner image of your channel</h6>
31
32 <my-actor-banner-edit
33 *ngIf="videoChannel" [previewImage]="isCreation()"
34 [actor]="videoChannel" (bannerChange)="onBannerChange($event)" (bannerDelete)="onBannerDelete()"
35 ></my-actor-banner-edit>
36
37 <my-actor-avatar-edit
38 *ngIf="videoChannel" [previewImage]="isCreation()"
39 [actor]="videoChannel" (avatarChange)="onAvatarChange($event)" (avatarDelete)="onAvatarDelete()"
40 [displayUsername]="!isCreation()" [displaySubscribers]="!isCreation()"
41 ></my-actor-avatar-edit>
42
43 <div class="form-group" *ngIf="isCreation()">
44 <label i18n for="name">Name</label>
45 <div class="input-group">
46 <input
47 type="text" id="name" i18n-placeholder placeholder="Example: my_channel"
48 formControlName="name" [ngClass]="{ 'input-error': formErrors['name'] }" class="form-control"
49 >
50 <div class="input-group-append">
51 <span class="input-group-text">@{{ instanceHost }}</span>
52 </div>
53 </div>
54 <div *ngIf="formErrors['name']" class="form-error">
55 {{ formErrors['name'] }}
56 </div>
57 </div>
58
59 <div class="form-group">
60 <label i18n for="display-name">Display name</label>
61 <input
62 type="text" id="display-name" class="form-control"
63 formControlName="display-name" [ngClass]="{ 'input-error': formErrors['display-name'] }"
64 >
65 <div *ngIf="formErrors['display-name']" class="form-error">
66 {{ formErrors['display-name'] }}
67 </div>
68 </div>
69
70 <div class="form-group">
71 <label i18n for="description">Description</label>
72 <textarea
73 id="description" formControlName="description" class="form-control"
74 [ngClass]="{ 'input-error': formErrors['description'] }"
75 ></textarea>
76 <div *ngIf="formErrors.description" class="form-error">
77 {{ formErrors.description }}
78 </div>
79 </div>
80
81 <div class="form-group">
82 <label for="support">Support</label>
83 <my-help
84 helpType="markdownEnhanced" i18n-preHtml preHtml="Short text to tell people how they can support your channel (membership platform...).<br /><br />
85 When you will upload a video in this channel, the video support field will be automatically filled by this text."
86 ></my-help>
87 <my-markdown-textarea
88 id="support" formControlName="support" textareaMaxWidth="500px" markdownType="enhanced"
89 [classes]="{ 'input-error': formErrors['support'] }"
90 ></my-markdown-textarea>
91 <div *ngIf="formErrors.support" class="form-error">
92 {{ formErrors.support }}
93 </div>
94 </div>
95
96 <div class="form-group" *ngIf="isBulkUpdateVideosDisplayed()">
97 <my-peertube-checkbox
98 inputName="bulkVideosSupportUpdate" formControlName="bulkVideosSupportUpdate"
99 i18n-labelText labelText="Overwrite support field of all videos of this channel"
100 ></my-peertube-checkbox>
101 </div>
102
103 </div>
104 </div>
105
106 <div class="form-row"> <!-- submit placement block -->
107 <div class="col-md-7 col-xl-5"></div>
108 <div class="col-md-5 col-xl-5 d-inline-flex">
109 <input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid">
110 </div>
111 </div>
112 </form>