]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/videos/video-watch/video-watch.component.html
Client: add share button
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / video-watch / video-watch.component.html
1 <div *ngIf="error" class="row">
2 <div class="alert alert-danger">
3 The video load seems to be abnormally long.
4 <ul>
5 <li>Maybe the server {{ video.podUrl }} is down :(</li>
6 <li>
7 If not, you can report an issue on
8 <a href="https://github.com/Chocobozzz/PeerTube/issues" title="Report an issue">
9 https://github.com/Chocobozzz/PeerTube/issues
10 </a>
11 </li>
12 </ul>
13 </div>
14 </div>
15
16 <div class="row">
17 <div class="col-md-12">
18 <div class="embed-responsive embed-responsive-19by9">
19 <video id="video-container" class="video-js vjs-default-skin vjs-big-play-centered"></video>
20 </div>
21 </div>
22 </div>
23
24 <div id="torrent-info" class="row">
25 <div id="torrent-info-download" class="col-md-4 col-sm-4 col-xs-4">Download: {{ downloadSpeed | bytes }}/s</div>
26 <div id="torrent-info-upload" class="col-md-4 col-sm-4 col-xs-4">Upload: {{ uploadSpeed | bytes }}/s</div>
27 <div id="torrent-info-peers" class="col-md-4 col-sm-4 col-xs-4">Number of peers: {{ numPeers }}</div>
28 </div>
29
30 <div *ngIf="video !== null" id="video-info">
31 <div class="row" id="video-name-actions">
32 <div class="col-md-8">
33 <div class="row">
34 <div id="video-name" class="col-md-12">
35 {{ video.name }}
36 </div>
37 </div>
38
39 <div class="row">
40 <div class="col-md-12" id="video-by-date">
41 <span id="video-by">
42 from
43 <a [routerLink]="['/videos/list', { field: 'author', search: video.author }]" class="video-miniature-author">
44 {{ video.by }}
45 </a>
46 </span>
47 <span id="video-date">on {{ video.createdDate | date:'short' }}</span>
48 </div>
49 </div>
50 </div>
51
52 <div id="video-actions" class="col-md-4 text-right">
53 <button id="share" class="btn btn-default" (click)="showShareModal()">
54 <span class="glyphicon glyphicon-share"></span> Share
55 </button>
56
57 <button title="Get magnet URI" id="magnet-uri" class="btn btn-default" (click)="showMagnetUriModal()">
58 <span class="glyphicon glyphicon-magnet"></span> Magnet
59 </button>
60 </div>
61 </div>
62
63 <div id="video-tags" class="row">
64 <div class="col-md-12">
65 <a *ngFor="let tag of video.tags" [routerLink]="['/videos/list', { field: 'tags', search: tag }]" class="label label-primary">
66 {{ tag }}
67 </a>
68 </div>
69 </div>
70
71 <div id="video-description" class="row">
72 <div class="col-md-12">
73 <div id="description-label">Description</div>
74 {{ video.description }}
75 </div>
76 </div>
77 </div>
78
79 <div *ngIf="video !== null" bsModal #magnetUriModal="bs-modal" class="modal" tabindex="-1" role="dialog" aria-labelledby="magnetUriModal" aria-hidden="true">
80 <div class="modal-dialog">
81 <div class="modal-content modal-lg">
82
83 <div class="modal-header">
84 <button type="button" class="close" aria-label="Close" (click)="hideMagnetUriModal()">
85 <span aria-hidden="true">&times;</span>
86 </button>
87 <h4 class="modal-title">Magnet Uri</h4>
88 </div>
89
90 <div class="modal-body">
91 <input #magnetUriInput (click)="magnetUriInput.select()" type="text" class="form-control input-sm" readonly [value]="video.magnetUri" />
92 </div>
93 </div>
94 </div>
95 </div>
96
97 <div *ngIf="video !== null" bsModal #shareModal="bs-modal" class="modal" tabindex="-1" role="dialog" aria-labelledby="shareModal" aria-hidden="true">
98 <div class="modal-dialog modal-lg">
99 <div class="modal-content">
100
101 <div class="modal-header">
102 <button type="button" class="close" aria-label="Close" (click)="hideShareModal()">
103 <span aria-hidden="true">&times;</span>
104 </button>
105 <h4 class="modal-title">Share</h4>
106 </div>
107
108 <div class="modal-body">
109 <div class="form-group">
110 <label>URL</label>
111 <input #urlInput (click)="urlInput.select()" type="text" class="form-control input-sm" readonly [value]="getVideoUrl()" />
112 </div>
113
114 <div class="form-group">
115 <label>Embed</label>
116 <input #shareInput (click)="shareInput.select()" type="text" class="form-control input-sm" readonly [value]="getVideoIframeCode()" />
117 </div>
118 </div>
119 </div>
120 </div>
121 </div>