aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html
blob: 0f1a94c84b8a215d2c578f289fc42832d2dbdea2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<div *ngIf="!hasImportedVideo" class="upload-video-container" myDragDrop (fileDropped)="setTorrentFile($event)">
  <div class="first-step-block">
    <my-global-icon class="upload-icon" iconName="upload" aria-hidden="true"></my-global-icon>

    <div class="button-file form-control" [ngbTooltip]="'(extensions: .torrent)'">
      <span i18n>Select the torrent to import</span>
      <input
        aria-label="Select the torrent to import" i18n-aria-label
        #torrentfileInput type="file" name="torrentfile" id="torrentfile" accept=".torrent" (change)="fileChange()"
      />
    </div>

    <div class="torrent-or-magnet" i18n-data-content data-content="OR"></div>

    <div class="form-group form-group-magnet-uri">
      <label i18n for="magnetUri">Paste magnet URI</label>
      <my-help>
        <ng-template ptTemplate="customHtml">
          <ng-container i18n>
            You can import any torrent file that points to a media file.
            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.
          </ng-container>
        </ng-template>
      </my-help>

      <input type="text" id="magnetUri" [(ngModel)]="magnetUri" class="form-control" />
    </div>

    <div class="form-group">
      <label i18n for="first-step-channel">Channel</label>
      <my-select-channel
        labelForId="first-step-channel" [items]="userVideoChannels" [(ngModel)]="firstStepChannelId"
      ></my-select-channel>
    </div>

    <div class="form-group">
      <label i18n for="first-step-privacy">Privacy</label>
      <my-select-options
        labelForId="first-step-privacy" [items]="videoPrivacies" [(ngModel)]="firstStepPrivacyId"
      ></my-select-options>
    </div>

    <input
      type="button" i18n-value value="Import"
      [disabled]="!isMagnetUrlValid() || isImportingVideo" (click)="importVideo()"
    />
  </div>
</div>

<div *ngIf="error" class="alert alert-danger">
  <div i18n>Sorry, but something went wrong</div>
  {{ error }}
</div>

<div *ngIf="hasImportedVideo && !error" class="alert alert-info" i18n>
  Congratulations, the video will be imported with BitTorrent! You can already add information about this video.
</div>

<!-- Hidden because we want to load the component -->
<form [hidden]="!hasImportedVideo" novalidate [formGroup]="form">
  <my-video-edit
    [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions" [schedulePublicationPossible]="false"
    [validationMessages]="validationMessages" [userVideoChannels]="userVideoChannels"
    type="import-torrent"
  ></my-video-edit>

  <div class="submit-container">
    <my-button className="orange-button" i18n-label label="Update" icon="circle-tick"
      (click)="updateSecondStep()"
      [disabled]="!form.valid || isUpdatingVideo === true"
    ></my-button>
  </div>
</form>