aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/videos/+video-edit/shared/video-edit.component.html
blob: 379cf7948d320766091f63d9fc239d1ac578f58f (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<div class="video-edit row" [formGroup]="form">
  <tabset class="root-tabset bootstrap">

    <tab i18n-heading heading="Basic info">
      <div class="col-md-8">
        <div class="form-group">
          <label i18n for="name">Title</label>
          <input type="text" id="name" formControlName="name" />
          <div *ngIf="formErrors.name" class="form-error">
            {{ formErrors.name }}
          </div>
        </div>

        <div class="form-group">
          <label i18n class="label-tags">Tags</label> <span i18n>(press Enter to add)</span>
          <tag-input
            [validators]="tagValidators" [errorMessages]="tagValidatorsMessages"
            formControlName="tags" maxItems="5" modelAsStrings="true"
          ></tag-input>
        </div>

        <div class="form-group">
          <label i18n for="description">Description</label>
          <my-help helpType="markdownText" i18n-preHtml preHtml="Video descriptions are truncated by default and require manual action to expand them."></my-help>
          <my-markdown-textarea truncate="250" formControlName="description"></my-markdown-textarea>

          <div *ngIf="formErrors.description" class="form-error">
            {{ formErrors.description }}
          </div>
        </div>
      </div>

      <div class="col-md-4">
        <div class="form-group">
          <label i18n>Channel</label>
          <div class="peertube-select-container">
            <select formControlName="channelId">
              <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option>
            </select>
          </div>
        </div>

        <div class="form-group">
          <label i18n for="category">Category</label>
          <div class="peertube-select-container">
            <select id="category" formControlName="category">
              <option></option>
              <option *ngFor="let category of videoCategories" [value]="category.id">{{ category.label }}</option>
            </select>
          </div>

          <div *ngIf="formErrors.category" class="form-error">
            {{ formErrors.category }}
          </div>
        </div>

        <div class="form-group">
          <label i18n for="licence">Licence</label>
          <div class="peertube-select-container">
            <select id="licence" formControlName="licence">
              <option></option>
              <option *ngFor="let licence of videoLicences" [value]="licence.id">{{ licence.label }}</option>
            </select>
          </div>

          <div *ngIf="formErrors.licence" class="form-error">
            {{ formErrors.licence }}
          </div>
        </div>

        <div class="form-group">
          <label i18n for="language">Language</label>
          <div class="peertube-select-container">
            <select id="language" formControlName="language">
              <option></option>
              <option *ngFor="let language of videoLanguages" [value]="language.id">{{ language.label }}</option>
            </select>
          </div>

          <div *ngIf="formErrors.language" class="form-error">
            {{ formErrors.language }}
          </div>
        </div>

        <div class="form-group">
          <label i18n for="privacy">Privacy</label>
          <div class="peertube-select-container">
            <select id="privacy" formControlName="privacy">
              <option></option>
              <option *ngFor="let privacy of videoPrivacies" [value]="privacy.id">{{ privacy.label }}</option>
            </select>
          </div>

          <div *ngIf="formErrors.privacy" class="form-error">
            {{ formErrors.privacy }}
          </div>
        </div>

        <div class="form-group form-group-checkbox">
          <input type="checkbox" id="nsfw" formControlName="nsfw" />
          <label for="nsfw"></label>
          <label i18n for="nsfw">This video contains mature or explicit content</label>
          <my-help tooltipPlacement="top" helpType="custom" i18n-customHtml customHtml="Some instances do not list NSFW videos by default."></my-help>
        </div>

        <div class="form-group form-group-checkbox">
          <input type="checkbox" id="commentsEnabled" formControlName="commentsEnabled" />
          <label for="commentsEnabled"></label>
          <label i18n for="commentsEnabled">Enable video comments</label>
        </div>

        <div class="form-group form-group-checkbox">
          <input type="checkbox" id="waitTranscoding" formControlName="waitTranscoding" />
          <label for="waitTranscoding"></label>
          <label i18n for="waitTranscoding">Wait transcoding before publishing the video</label>
          <my-help
            tooltipPlacement="top" helpType="custom" i18n-customHtml
            customHtml="If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends."
          ></my-help>
        </div>

      </div>
    </tab>

    <tab i18n-heading heading="Advanced settings">
      <div class="col-md-12 advanced-settings">
        <div class="form-group">
          <my-video-image
            i18n-inputLabel inputLabel="Upload thumbnail" inputName="thumbnailfile" formControlName="thumbnailfile"
            previewWidth="200px" previewHeight="110px"
          ></my-video-image>
        </div>

        <div class="form-group">
          <my-video-image
            i18n-inputLabel inputLabel="Upload preview" inputName="previewfile" formControlName="previewfile"
            previewWidth="360px" previewHeight="200px"
          ></my-video-image>
        </div>

        <div class="form-group">
          <label i18n for="support">Support</label>
          <my-help helpType="markdownEnhanced" i18n-preHtml preHtml="Short text to tell people how they can support you (membership platform...)."></my-help>
          <my-markdown-textarea
            id="support" formControlName="support" textareaWidth="500px" [previewColumn]="true" markdownType="enhanced"
            [classes]="{ 'input-error': formErrors['support'] }"
          ></my-markdown-textarea>
          <div *ngIf="formErrors.support" class="form-error">
            {{ formErrors.support }}
          </div>
        </div>
      </div>
    </tab>

  </tabset>

</div>