]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/videos/+video-edit/video-add-components/video-upload.component.html
Support audio upload in client
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / +video-edit / video-add-components / video-upload.component.html
1 <div *ngIf="!isUploadingVideo" class="upload-video-container">
2 <div class="first-step-block">
3 <my-global-icon class="upload-icon" iconName="upload"></my-global-icon>
4
5 <div class="button-file">
6 <span i18n>Select the file to upload</span>
7 <input #videofileInput type="file" name="videofile" id="videofile" [accept]="videoExtensions" (change)="fileChange()" />
8 </div>
9 <span class="button-file-extension">({{ videoExtensions }})</span>
10
11 <div class="form-group form-group-channel">
12 <label i18n for="first-step-channel">Channel</label>
13 <div class="peertube-select-container">
14 <select id="first-step-channel" [(ngModel)]="firstStepChannelId">
15 <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option>
16 </select>
17 </div>
18 </div>
19
20 <div class="form-group">
21 <label i18n for="first-step-privacy">Privacy</label>
22 <div class="peertube-select-container">
23 <select id="first-step-privacy" [(ngModel)]="firstStepPrivacyId">
24 <option *ngFor="let privacy of videoPrivacies" [value]="privacy.id">{{ privacy.label }}</option>
25 <option i18n [value]="SPECIAL_SCHEDULED_PRIVACY">Scheduled</option>
26 </select>
27 </div>
28 </div>
29
30 <ng-container *ngIf="isUploadingAudioFile">
31 <div class="form-group audio-preview">
32 <label i18n for="previewfileUpload">Video background image</label>
33
34 <div i18n class="audio-image-info">
35 Image that will be merged with your audio file.
36 <br />
37 The chosen image will be definitive and cannot be modified.
38 </div>
39
40 <my-preview-upload
41 i18n-inputLabel inputLabel="Edit" inputName="previewfileUpload" [(ngModel)]="previewfileUpload"
42 previewWidth="360px" previewHeight="200px"
43 ></my-preview-upload>
44 </div>
45
46 <div class="form-group upload-audio-button">
47 <my-button className="orange-button" i18n-label [label]="getAudioUploadLabel()" icon="upload" (click)="uploadFirstStep(true)"></my-button>
48 </div>
49 </ng-container>
50 </div>
51 </div>
52
53 <div *ngIf="isUploadingVideo && !error" class="upload-progress-cancel">
54 <p-progressBar
55 [value]="videoUploadPercents"
56 [ngClass]="{ processing: videoUploadPercents === 100 && videoUploaded === false }"
57 ></p-progressBar>
58 <input *ngIf="videoUploaded === false" type="button" value="Cancel" (click)="cancelUpload()" />
59 </div>
60
61 <div *ngIf="error" class="alert alert-danger">
62 <div i18n>Sorry, but something went wrong</div>
63 {{ error }}
64 </div>
65
66 <div *ngIf="videoUploaded && !error" class="alert alert-info" i18n>
67 Congratulations! Your video is now available in your private library.
68 </div>
69
70 <!-- Hidden because we want to load the component -->
71 <form [hidden]="!isUploadingVideo" novalidate [formGroup]="form">
72 <my-video-edit
73 [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions"
74 [validationMessages]="validationMessages" [videoPrivacies]="explainedVideoPrivacies" [userVideoChannels]="userVideoChannels"
75 [waitTranscodingEnabled]="waitTranscodingEnabled"
76 ></my-video-edit>
77
78 <div class="submit-container">
79 <div i18n *ngIf="videoUploaded === false" class="message-submit">Publish will be available when upload is finished</div>
80
81 <div class="submit-button"
82 (click)="updateSecondStep()"
83 [ngClass]="{ disabled: isPublishingButtonDisabled() }"
84 >
85 <my-global-icon iconName="validate"></my-global-icon>
86 <input [disabled]="isPublishingButtonDisabled()" type="button" i18n-value value="Publish" />
87 </div>
88 </div>
89 </form>