]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared-share-modal/video-share.component.html
Fix xml feed validity
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-share-modal / video-share.component.html
CommitLineData
63347a0f
C
1<ng-template #modal let-hide="close">
2 <div class="modal-header">
3 <h4 i18n class="modal-title">Share</h4>
457bb213 4 <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="hide()"></my-global-icon>
63347a0f 5 </div>
cf02fbfb 6
3a1fed11 7
63347a0f 8 <div class="modal-body">
951b582f 9
82f443de
C
10 <div class="playlist" *ngIf="playlist">
11 <div class="title-page title-page-single" i18n *ngIf="video">Share the playlist</div>
2f4c784a 12
38225867
NR
13 <div *ngIf="isPrivatePlaylist()" class="alert-private alert alert-warning">
14 <div i18n>This playlist is private so you won't be able to share it with external users</div>
15
16 <a i18n class="peertube-button-link orange-button" [routerLink]="[ '/my-library/video-playlists/update', playlist.uuid ]" target="_blank" rel="noopener noreferrer">
17 Update playlist privacy
18 </a>
19 </div>
20
951b582f
C
21 <div ngbNav #nav="ngbNav" class="nav-tabs" [(activeId)]="activePlaylistId">
22
23 <ng-container ngbNavItem="url">
24 <a ngbNavLink i18n>URL</a>
25
26 <ng-template ngbNavContent>
27 <div class="nav-content">
28
f8b530e0 29 <my-input-toggle-hidden [value]="getPlaylistUrl()" [withToggle]="false" [withCopy]="true" [show]="true" [readonly]="true"></my-input-toggle-hidden>
951b582f
C
30 </div>
31 </ng-template>
32 </ng-container>
33
34 <ng-container ngbNavItem="qrcode">
35 <a ngbNavLink i18n>QR-Code</a>
36
37 <ng-template ngbNavContent>
38 <div class="nav-content">
edb12cc9 39 <qrcode [qrdata]="getPlaylistUrl()" [width]="256" level="Q"></qrcode>
951b582f
C
40 </div>
41 </ng-template>
42 </ng-container>
43
44 <ng-container ngbNavItem="embed">
45 <a ngbNavLink i18n>Embed</a>
46
47 <ng-template ngbNavContent>
48 <div class="nav-content">
f1c86172
C
49 <my-input-toggle-hidden
50 [value]="getPlaylistIframeCode()" (change)="updateEmbedCode()"
51 [withToggle]="false" [withCopy]="true" [show]="true" [readonly]="true"
52 ></my-input-toggle-hidden>
951b582f
C
53
54 <div i18n *ngIf="notSecure()" class="alert alert-warning">
55 The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites).
56 </div>
f1c86172
C
57
58 <div [innerHTML]="playlistEmbedHTML"></div>
951b582f
C
59 </div>
60 </ng-template>
61 </ng-container>
62
63 </div>
64
65 <div [ngbNavOutlet]="nav"></div>
2f4c784a 66
3a1fed11 67 <div class="filters">
2f4c784a 68
82f443de 69 <div class="form-group" *ngIf="video">
951b582f
C
70 <my-peertube-checkbox inputName="includeVideoInPlaylist" [(ngModel)]="includeVideoInPlaylist" i18n-labelText
71 labelText="Share the playlist at this video position"></my-peertube-checkbox>
cf02fbfb 72 </div>
2c8d4697 73
63347a0f 74 </div>
3a1fed11 75 </div>
5f0805d3 76
2f4c784a 77
82f443de
C
78 <div class="video" *ngIf="video">
79 <div class="title-page title-page-single" *ngIf="playlist" i18n>Share the video</div>
2f4c784a 80
38225867
NR
81 <div *ngIf="isPrivateVideo()" class="alert-private alert alert-warning">
82 <div i18n>This video is private so you won't be able to share it with external users</div>
83
84 <a i18n class="peertube-button-link orange-button" [routerLink]="[ '/videos/', 'update', video.shortUUID ]" target="_blank" rel="noopener noreferrer">
85 Update video privacy
86 </a>
87 </div>
88
951b582f 89 <div ngbNav #nav="ngbNav" class="nav-tabs" [(activeId)]="activeVideoId">
2f4c784a 90
45c6bcf3
C
91 <ng-container ngbNavItem="url">
92 <a ngbNavLink i18n>URL</a>
2f4c784a 93
45c6bcf3
C
94 <ng-template ngbNavContent>
95 <div class="nav-content">
f8b530e0 96 <my-input-toggle-hidden [value]="getVideoUrl()" [withToggle]="false" [withCopy]="true" [show]="true" [readonly]="true"></my-input-toggle-hidden>
3a1fed11 97 </div>
3a1fed11 98 </ng-template>
45c6bcf3
C
99 </ng-container>
100
101 <ng-container ngbNavItem="qrcode">
102 <a ngbNavLink i18n>QR-Code</a>
3a1fed11 103
45c6bcf3
C
104 <ng-template ngbNavContent>
105 <div class="nav-content">
edb12cc9 106 <qrcode [qrdata]="getVideoUrl()" [width]="256" level="Q"></qrcode>
3a1fed11
C
107 </div>
108 </ng-template>
45c6bcf3
C
109 </ng-container>
110
111 <ng-container ngbNavItem="embed">
112 <a ngbNavLink i18n>Embed</a>
2f4c784a 113
45c6bcf3
C
114 <ng-template ngbNavContent>
115 <div class="nav-content">
f1c86172
C
116 <my-input-toggle-hidden
117 [value]="getVideoIframeCode()" (ngModelChange)="updateEmbedCode()"
118 [withToggle]="false" [withCopy]="true" [show]="true" [readonly]="true"
119 ></my-input-toggle-hidden>
3a1fed11
C
120
121 <div i18n *ngIf="notSecure()" class="alert alert-warning">
122 The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites).
123 </div>
f1c86172
C
124
125 <div [innerHTML]="videoEmbedHTML"></div>
3a1fed11
C
126 </div>
127 </ng-template>
45c6bcf3
C
128 </ng-container>
129
130 </div>
3a1fed11 131
45c6bcf3 132 <div [ngbNavOutlet]="nav"></div>
3a1fed11
C
133
134 <div class="filters">
2f4c784a 135 <div>
a5cf76af 136 <div class="form-group start-at" *ngIf="!video.isLive">
2f4c784a 137 <my-peertube-checkbox
3a1fed11
C
138 inputName="startAt" [(ngModel)]="customizations.startAtCheckbox"
139 i18n-labelText labelText="Start at"
2f4c784a
C
140 ></my-peertube-checkbox>
141
142 <my-timestamp-input
3a1fed11 143 [timestamp]="customizations.startAt"
2f4c784a 144 [maxTimestamp]="video.duration"
3a1fed11
C
145 [disabled]="!customizations.startAtCheckbox"
146 [(ngModel)]="customizations.startAt"
2f4c784a
C
147 >
148 </my-timestamp-input>
149 </div>
150
3a1fed11 151 <div *ngIf="videoCaptions.length !== 0" class="form-group video-caption-block">
2f4c784a 152 <my-peertube-checkbox
3a1fed11
C
153 inputName="subtitleCheckbox" [(ngModel)]="customizations.subtitleCheckbox"
154 i18n-labelText labelText="Auto select subtitle"
2f4c784a 155 ></my-peertube-checkbox>
2f4c784a 156
3a1fed11 157 <div class="peertube-select-container" [ngClass]="{ disabled: !customizations.subtitleCheckbox }">
047f9585 158 <select [(ngModel)]="customizations.subtitle" [disabled]="!customizations.subtitleCheckbox" class="form-control">
3a1fed11
C
159 <option *ngFor="let caption of videoCaptions" [value]="caption.language.id">{{ caption.language.label }}</option>
160 </select>
161 </div>
2f4c784a 162 </div>
3a1fed11 163 </div>
2f4c784a 164
3a1fed11
C
165 <div class="advanced-filters collapse-transition" [ngbCollapse]="isAdvancedCustomizationCollapsed">
166 <div>
a5cf76af 167 <div class="form-group stop-at" *ngIf="!video.isLive">
3a1fed11
C
168 <my-peertube-checkbox
169 inputName="stopAt" [(ngModel)]="customizations.stopAtCheckbox"
170 i18n-labelText labelText="Stop at"
171 ></my-peertube-checkbox>
172
173 <my-timestamp-input
174 [timestamp]="customizations.stopAt"
175 [maxTimestamp]="video.duration"
176 [disabled]="!customizations.stopAtCheckbox"
177 [(ngModel)]="customizations.stopAt"
178 >
179 </my-timestamp-input>
180 </div>
2f4c784a 181
3a1fed11
C
182 <div class="form-group">
183 <my-peertube-checkbox
184 inputName="autoplay" [(ngModel)]="customizations.autoplay"
185 i18n-labelText labelText="Autoplay"
186 ></my-peertube-checkbox>
187 </div>
2f4c784a 188
3a1fed11
C
189 <div class="form-group">
190 <my-peertube-checkbox
191 inputName="muted" [(ngModel)]="customizations.muted"
192 i18n-labelText labelText="Muted"
193 ></my-peertube-checkbox>
194 </div>
195
a5cf76af 196 <div class="form-group" *ngIf="!video.isLive">
3a1fed11
C
197 <my-peertube-checkbox
198 inputName="loop" [(ngModel)]="customizations.loop"
199 i18n-labelText labelText="Loop"
200 ></my-peertube-checkbox>
dd1e2f2f
J
201 </div>
202
203 <div *ngIf="!isLocalVideo() && !isVideoInEmbedTab()" class="form-group">
204 <my-peertube-checkbox
205 inputName="originUrl" [(ngModel)]="customizations.originUrl"
206 i18n-labelText labelText="Use origin instance URL"
207 ></my-peertube-checkbox>
3a1fed11 208 </div>
2f4c784a 209 </div>
3a1fed11 210
951b582f 211 <ng-container *ngIf="isVideoInEmbedTab()">
3a1fed11
C
212 <div class="form-group">
213 <my-peertube-checkbox
214 inputName="title" [(ngModel)]="customizations.title"
215 i18n-labelText labelText="Display video title"
216 ></my-peertube-checkbox>
217 </div>
218
85302118
C
219 <div class="form-group">
220 <my-peertube-checkbox
221 inputName="embedP2P" [(ngModel)]="customizations.embedP2P"
222 i18n-labelText labelText="P2P"
223 ></my-peertube-checkbox>
224 </div>
225
3a1fed11
C
226 <div class="form-group">
227 <my-peertube-checkbox
228 inputName="warningTitle" [(ngModel)]="customizations.warningTitle"
85302118 229 i18n-labelText labelText="Display privacy warning" [disabled]="!customizations.embedP2P"
3a1fed11
C
230 ></my-peertube-checkbox>
231 </div>
232
233 <div class="form-group">
234 <my-peertube-checkbox
235 inputName="controls" [(ngModel)]="customizations.controls"
236 i18n-labelText labelText="Display player controls"
237 ></my-peertube-checkbox>
238 </div>
189ab8de
C
239
240 <div class="form-group">
241 <my-peertube-checkbox
85302118 242 inputName="peertubeLink" [(ngModel)]="customizations.peertubeLink"
189ab8de
C
243 i18n-labelText labelText="Display PeerTube button link"
244 ></my-peertube-checkbox>
245 </div>
3a1fed11
C
246 </ng-container>
247 </div>
de702865
RK
248
249 <div (click)="isAdvancedCustomizationCollapsed = !isAdvancedCustomizationCollapsed" role="button" class="advanced-filters-button"
250 [attr.aria-expanded]="!isAdvancedCustomizationCollapsed" aria-controls="collapseBasic">
251
252 <ng-container *ngIf="isAdvancedCustomizationCollapsed">
253 <span class="glyphicon glyphicon-menu-down"></span>
254
255 <ng-container i18n>
256 More customization
257 </ng-container>
258 </ng-container>
259
260 <ng-container *ngIf="!isAdvancedCustomizationCollapsed">
261 <span class="glyphicon glyphicon-menu-up"></span>
262
263 <ng-container i18n>
264 Less customization
265 </ng-container>
266 </ng-container>
267 </div>
2f4c784a 268 </div>
63347a0f 269 </div>
11b8762f 270 </div>
4503cb2a 271
63347a0f 272</ng-template>