1 <div *
ngIf=
"!isUploadingVideo" class=
"upload-video-container" dragDrop (fileDropped)=
"setVideoFile($event)">
2 <div class=
"first-step-block">
3 <my-global-icon class=
"upload-icon" iconName=
"upload" aria-hidden=
"true"></my-global-icon>
5 <div class=
"button-file form-control" [ngbTooltip]=
"'(extensions: ' + videoExtensions + ')'">
6 <span i18n
>Select the file to upload
</span>
7 <input #videofileInput
type=
"file" name=
"videofile" id=
"videofile" [accept]=
"videoExtensions" (change)=
"fileChange()" autofocus
/>
10 <div class=
"form-group form-group-channel">
11 <label i18n
for=
"first-step-channel">Channel
</label>
12 <div class=
"peertube-select-container">
13 <select id=
"first-step-channel" [(ngModel)]=
"firstStepChannelId" class=
"form-control">
14 <option *
ngFor=
"let channel of userVideoChannels" [value]=
"channel.id">{{ channel.label }}
</option>
19 <div class=
"form-group">
20 <label i18n
for=
"first-step-privacy">Privacy
</label>
21 <div class=
"peertube-select-container">
22 <select id=
"first-step-privacy" [(ngModel)]=
"firstStepPrivacyId" class=
"form-control">
23 <option *
ngFor=
"let privacy of videoPrivacies" [value]=
"privacy.id">{{ privacy.label }}
</option>
24 <option i18n [value]=
"SPECIAL_SCHEDULED_PRIVACY">Scheduled
</option>
29 <ng-container *
ngIf=
"isUploadingAudioFile">
30 <div class=
"form-group audio-preview">
31 <label i18n
for=
"previewfileUpload">Video background image
</label>
33 <div i18n
class=
"audio-image-info">
34 Image that will be merged with your audio file.
36 The chosen image will be definitive and cannot be modified.
40 i18n-inputLabel
inputLabel=
"Edit" inputName=
"previewfileUpload" [(ngModel)]=
"previewfileUpload"
41 previewWidth=
"360px" previewHeight=
"200px"
45 <div class=
"form-group upload-audio-button">
46 <my-button className=
"orange-button" i18n-label [label]=
"getAudioUploadLabel()" icon=
"upload" (click)=
"uploadFirstStep(true)"></my-button>
52 <div *
ngIf=
"isUploadingVideo && !error" class=
"upload-progress-cancel">
53 <div class=
"progress" i18n-title
title=
"Total video quota">
54 <div class=
"progress-bar" role=
"progressbar" [style]=
"{ width: videoUploadPercents + '%' }" [attr.aria-valuenow]=
"videoUploadPercents" aria-valuemin=
"0" [attr.aria-valuemax]=
"100">
55 <span *
ngIf=
"videoUploadPercents === 100 && videoUploaded === false" i18n
>Processing…
</span>
56 <span *
ngIf=
"videoUploadPercents !== 100 || videoUploaded">{{ videoUploadPercents }}%
</span>
59 <input *
ngIf=
"videoUploaded === false" type=
"button" value=
"Cancel" (click)=
"cancelUpload()" />
62 <div *
ngIf=
"error" class=
"alert alert-danger">
63 <div i18n
>Sorry, but something went wrong
</div>
67 <div *
ngIf=
"videoUploaded && !error" class=
"alert alert-info" i18n
>
68 Congratulations! Your video is now available in your private library.
71 <!-- Hidden because we want to load the component -->
72 <form [hidden]=
"!isUploadingVideo" novalidate [formGroup]=
"form" class=
"mb-3">
74 [form]=
"form" [formErrors]=
"formErrors" [videoCaptions]=
"videoCaptions"
75 [validationMessages]=
"validationMessages" [userVideoChannels]=
"userVideoChannels"
76 [waitTranscodingEnabled]=
"waitTranscodingEnabled"
79 <div class=
"submit-container">
80 <div i18n *
ngIf=
"videoUploaded === false" class=
"message-submit">Publish will be available when upload is finished
</div>
82 <my-button className=
"submit-button orange-button" i18n-label
label=
"Publish" icon=
"circle-tick"
83 (click)=
"updateSecondStep()" (keydown.enter)=
"updateSecondStep()"
84 [disabled]=
"isPublishingButtonDisabled()"