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
class=
"dropdown-menu" id=
"more-menu" role=
"menu" aria-labelledby=
"single-button">
82 <li *
ngIf=
"canUserUpdateVideo()" role=
"menuitem">
83 <a class=
"dropdown-item" title=
"Update this video" href=
"#" [routerLink]=
"[ '/videos/edit', video.id ]">
84 <span class=
"glyphicon glyphicon-pencil"></span> Update
89 <a class=
"dropdown-item" title=
"Get magnet URI" href=
"#" (click)=
"showMagnetUriModal($event)">
90 <span class=
"glyphicon glyphicon-magnet"></span> Magnet
94 <li *
ngIf=
"isUserLoggedIn()" role=
"menuitem">
95 <a class=
"dropdown-item" title=
"Report this video" href=
"#" (click)=
"showReportModal($event)">
96 <span class=
"glyphicon glyphicon-alert"></span> Report
100 <li *
ngIf=
"isVideoRemovable()" role=
"menuitem">
101 <a class=
"dropdown-item" title=
"Delete this video" href=
"#" (click)=
"removeVideo($event)">
102 <span class=
"glyphicon glyphicon-remove"></span> Delete
106 <li *
ngIf=
"isVideoBlacklistable()" role=
"menuitem">
107 <a class=
"dropdown-item" title=
"Blacklist this video" href=
"#" (click)=
"blacklistVideo($event)">
108 <span class=
"glyphicon glyphicon-eye-close"></span> Blacklist
116 <div id=
"video-tags-views" class=
"row">
117 <div class=
"col-md-8">
118 <a *
ngFor=
"let tag of video.tags" [routerLink]=
"['/videos/list', { field: 'tags', search: tag }]" class=
"label label-primary">
123 <div id=
"video-views" class=
"col-md-4 text-right">
124 {{ video.views }} views
128 <div id=
"video-category" class=
"row">
129 <div class=
"col-md-12">
130 <span id=
"category-label">Category:
</span>
131 {{ video.categoryLabel }}
135 <div id=
"video-licence" class=
"row">
136 <div class=
"col-md-12">
137 <span id=
"licence-label">Licence:
</span>
138 {{ video.licenceLabel }}
142 <div id=
"video-language" class=
"row">
143 <div class=
"col-md-12">
144 <span id=
"language-label">Language:
</span>
145 {{ video.languageLabel }}
149 <div id=
"video-description" class=
"row">
150 <div class=
"col-md-12">
151 <div id=
"description-label">Description
</div>
152 {{ video.description }}
157 <ng-template [ngIf]=
"video !== null">
158 <my-video-share #videoShareModal [video]=
"video"></my-video-share>
159 <my-video-magnet #videoMagnetModal [video]=
"video"></my-video-magnet>
160 <my-video-report #videoReportModal [video]=
"video"></my-video-report>