1 <div *
ngIf=
"error" class=
"row">
2 <div class=
"alert alert-danger">
3 The video load seems to be abnormally long.
5 <li>Maybe the server {{ video.podHost }} is down :(
</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
17 <div class=
"col-md-12">
18 <!-- We need the video container for videojs so we just hide it -->
19 <div [hidden]=
"videoNotFound" class=
"embed-responsive embed-responsive-19by9">
20 <video id=
"video-container" class=
"video-js vjs-default-skin vjs-big-play-centered"></video>
23 <div *
ngIf=
"videoNotFound" id=
"video-not-found">Video not found :'(
</div>
27 <div id=
"torrent-info" class=
"row">
28 <div id=
"torrent-info-download" class=
"col-md-4 col-sm-4 col-xs-4">Download: {{ downloadSpeed | bytes }}/s
</div>
29 <div id=
"torrent-info-upload" class=
"col-md-4 col-sm-4 col-xs-4">Upload: {{ uploadSpeed | bytes }}/s
</div>
30 <div id=
"torrent-info-peers" class=
"col-md-4 col-sm-4 col-xs-4">Number of peers: {{ numPeers }}
</div>
33 <div *
ngIf=
"video !== null" id=
"video-info">
34 <div class=
"row" id=
"video-name-actions">
35 <div class=
"col-md-6">
37 <div id=
"video-name" class=
"col-md-12">
43 <div class=
"col-md-12" id=
"video-by-date">
46 <a [routerLink]=
"['/videos/list', { field: 'author', search: video.author }]" class=
"video-miniature-author">
50 <span id=
"video-date">on {{ video.createdAt | date:'short' }}
</span>
55 <div id=
"video-actions" class=
"col-md-6 text-right">
58 id=
"likes" class=
"btn btn-default"
59 [ngClass]=
"{ 'not-interactive-btn': !isUserLoggedIn(), 'activated-btn': userRating === 'like' }" (click)=
"setLike()"
61 <span class=
"glyphicon glyphicon-thumbs-up"></span> {{ video.likes }}
65 id=
"dislikes" class=
"btn btn-default"
66 [ngClass]=
"{ 'not-interactive-btn': !isUserLoggedIn(), 'activated-btn': userRating === 'dislike' }" (click)=
"setDislike()"
68 <span class=
" glyphicon glyphicon-thumbs-down"></span> {{ video.dislikes }}
72 <button id=
"share" class=
"btn btn-default" (click)=
"showShareModal()">
73 <span class=
"glyphicon glyphicon-share"></span> Share
76 <div class=
"btn-group" dropdown
>
77 <button id=
"single-button" type=
"button" id=
"more" class=
"btn btn-default" dropdownToggle
>
78 <span class=
"glyphicon glyphicon-option-horizontal"></span> More
81 <ul dropdownMenu
id=
"more-menu" role=
"menu" aria-labelledby=
"single-button">
83 <a class=
"dropdown-item" title=
"Get magnet URI" href=
"#" (click)=
"showMagnetUriModal($event)">
84 <span class=
"glyphicon glyphicon-magnet"></span> Magnet
88 <li *
ngIf=
"isUserLoggedIn()" role=
"menuitem">
89 <a class=
"dropdown-item" title=
"Report this video" href=
"#" (click)=
"showReportModal($event)">
90 <span class=
"glyphicon glyphicon-alert"></span> Report
98 <div id=
"video-tags-views" class=
"row">
99 <div class=
"col-md-8">
100 <a *
ngFor=
"let tag of video.tags" [routerLink]=
"['/videos/list', { field: 'tags', search: tag }]" class=
"label label-primary">
105 <div id=
"video-views" class=
"col-md-4 text-right">
106 {{ video.views }} views
110 <div id=
"video-category" class=
"row">
111 <div class=
"col-md-12">
112 <span id=
"category-label">Category:
</span>
113 {{ video.categoryLabel }}
117 <div id=
"video-licence" class=
"row">
118 <div class=
"col-md-12">
119 <span id=
"licence-label">Licence:
</span>
120 {{ video.licenceLabel }}
124 <div id=
"video-description" class=
"row">
125 <div class=
"col-md-12">
126 <div id=
"description-label">Description
</div>
127 {{ video.description }}
132 <template [ngIf]=
"video !== null">
133 <my-video-share #videoShareModal [video]=
"video"></my-video-share>
134 <my-video-magnet #videoMagnetModal [video]=
"video"></my-video-magnet>
135 <my-video-report #videoReportModal [video]=
"video"></my-video-report>