Chocobozzz/PeerTube

View on GitHub
client/src/app/+video-studio/edit/video-studio-edit.component.html

Summary

Maintainability
Test Coverage
<div class="margin-content">
  <h1 class="title-page" i18n>Studio for {{ video.name }}</h1>

  <div class="grid-container">
    <form [formGroup]="form">

      <div class="section cut" formGroupName="cut">
        <h2 i18n>CUT VIDEO</h2>

        <div i18n class="description">Set a new start/end.</div>

        <div class="form-group">
          <label i18n for="cutStart">New start</label>
          <my-timestamp-input inputName="cutStart" [disableBorder]="false" [maxTimestamp]="video.duration" formControlName="start"></my-timestamp-input>
        </div>

        <div class="form-group">
          <label i18n for="cutEnd">New end</label>
          <my-timestamp-input inputName="cutEnd" [disableBorder]="false" [maxTimestamp]="video.duration" formControlName="end"></my-timestamp-input>
        </div>
      </div>

      <div class="section" formGroupName="add-intro">
        <h2 i18n>ADD INTRO</h2>

        <div i18n class="description">Concatenate a file at the beginning of the video.</div>

        <div class="form-group">
          <my-reactive-file
            formControlName="file" inputName="addIntroFile" i18n-inputLabel inputLabel="Select the intro video file"
            [extensions]="videoExtensions" [displayFilename]="true" [displayReset]="true"
            [buttonTooltip]="getIntroOutroTooltip()"
          ></my-reactive-file>
        </div>
      </div>

      <div class="section" formGroupName="add-outro">
        <h2 i18n>ADD OUTRO</h2>

        <div i18n class="description">Concatenate a file at the end of the video.</div>

        <div class="form-group">
          <my-reactive-file
            formControlName="file" inputName="addOutroFile" i18n-inputLabel inputLabel="Select the outro video file"
            [extensions]="videoExtensions" [displayFilename]="true" [displayReset]="true"
            [buttonTooltip]="getIntroOutroTooltip()"
          ></my-reactive-file>
        </div>
      </div>

      <div class="section" formGroupName="add-watermark">
        <h2 i18n>ADD WATERMARK</h2>

        <div i18n class="description">Add a watermark image to the video.</div>

        <div class="form-group">
          <my-reactive-file
            formControlName="file" inputName="addWatermarkFile" i18n-inputLabel inputLabel="Select watermark image file"
            [extensions]="imageExtensions" [displayFilename]="true" [displayReset]="true"
            [buttonTooltip]="getWatermarkTooltip()"
          ></my-reactive-file>
        </div>
      </div>

      <my-button
        theme="orange" i18n-label label="Run video edition" icon="circle-tick"
        (click)="runEdition()" (keydown.enter)="runEdition()"
        [disabled]="!form.valid || isRunningEdition || noEdition()"
      ></my-button>
    </form>

    <div class="embed-container">
      <div class="mb-1 fw-bold" i18n>Video before edition</div>
      <my-embed [video]="video"></my-embed>
    </div>

    <div class="tasks-container" *ngIf="!noEdition()">
      <div class="mb-1 fw-bold" i18n>Edition tasks:</div>

      <ol>
        <li *ngFor="let task of getTasksSummary()">{{ task }}</li>
      </ol>
    </div>
  </div>
</div>