diff options
Diffstat (limited to 'client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.html')
-rw-r--r-- | client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.html | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.html b/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.html new file mode 100644 index 000000000..1910da403 --- /dev/null +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.html | |||
@@ -0,0 +1,72 @@ | |||
1 | <div *ngIf="!hasImportedVideo" class="upload-video-container"> | ||
2 | <div class="first-step-block"> | ||
3 | <my-global-icon class="upload-icon" iconName="upload" aria-hidden="true"></my-global-icon> | ||
4 | |||
5 | <div class="form-group"> | ||
6 | <label i18n for="targetUrl">URL</label> | ||
7 | |||
8 | <my-help> | ||
9 | <ng-template ptTemplate="customHtml"> | ||
10 | <ng-container i18n> | ||
11 | You can import any URL <a href='https://rg3.github.io/youtube-dl/supportedsites.html' target='_blank' rel='noopener noreferrer'>supported by youtube-dl</a> | ||
12 | or URL that points to a raw MP4 file. | ||
13 | You should make sure you have diffusion rights over the content it points to, otherwise it could cause legal trouble to yourself and your instance. | ||
14 | </ng-container> | ||
15 | </ng-template> | ||
16 | </my-help> | ||
17 | |||
18 | <input type="text" id="targetUrl" [(ngModel)]="targetUrl" class="form-control" /> | ||
19 | </div> | ||
20 | |||
21 | <div class="form-group"> | ||
22 | <label i18n for="first-step-channel">Channel</label> | ||
23 | <div class="peertube-select-container"> | ||
24 | <select id="first-step-channel" [(ngModel)]="firstStepChannelId" class="form-control"> | ||
25 | <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option> | ||
26 | </select> | ||
27 | </div> | ||
28 | </div> | ||
29 | |||
30 | <div class="form-group"> | ||
31 | <label i18n for="first-step-privacy">Privacy</label> | ||
32 | <div class="peertube-select-container"> | ||
33 | <select id="first-step-privacy" [(ngModel)]="firstStepPrivacyId" class="form-control"> | ||
34 | <option *ngFor="let privacy of videoPrivacies" [value]="privacy.id">{{ privacy.label }}</option> | ||
35 | </select> | ||
36 | </div> | ||
37 | </div> | ||
38 | |||
39 | <input | ||
40 | type="button" i18n-value value="Import" | ||
41 | [disabled]="!isTargetUrlValid() || isImportingVideo" (click)="importVideo()" | ||
42 | /> | ||
43 | </div> | ||
44 | </div> | ||
45 | |||
46 | |||
47 | <div *ngIf="error" class="alert alert-danger"> | ||
48 | <div i18n>Sorry, but something went wrong</div> | ||
49 | {{ error }} | ||
50 | </div> | ||
51 | |||
52 | <div *ngIf="!error && hasImportedVideo" class="alert alert-info" i18n> | ||
53 | Congratulations, the video behind {{ targetUrl }} will be imported! You can already add information about this video. | ||
54 | </div> | ||
55 | |||
56 | <!-- Hidden because we want to load the component --> | ||
57 | <form [hidden]="!hasImportedVideo" novalidate [formGroup]="form"> | ||
58 | <my-video-edit | ||
59 | [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions" [schedulePublicationPossible]="false" | ||
60 | [validationMessages]="validationMessages" [userVideoChannels]="userVideoChannels" | ||
61 | ></my-video-edit> | ||
62 | |||
63 | <div class="submit-container"> | ||
64 | <div class="submit-button" | ||
65 | (click)="updateSecondStep()" | ||
66 | [ngClass]="{ disabled: !form.valid || isUpdatingVideo === true }" | ||
67 | > | ||
68 | <my-global-icon iconName="validate" aria-hidden="true"></my-global-icon> | ||
69 | <input type="button" i18n-value value="Update" /> | ||
70 | </div> | ||
71 | </div> | ||
72 | </form> | ||