mirror of https://github.com/Chocobozzz/PeerTube
Fix #639 providing magnet URI in player and download modal
parent
92d83c6a78
commit
5511da6289
|
@ -24,6 +24,11 @@
|
|||
<input type="radio" name="download" id="download-direct" [(ngModel)]="downloadType" value="direct">
|
||||
<label i18n for="download-direct">Direct download</label>
|
||||
</div>
|
||||
|
||||
<div class="peertube-radio-container">
|
||||
<input type="radio" name="download" id="download-magnet" [(ngModel)]="downloadType" value="magnet">
|
||||
<label i18n for="download-magnet">Torrent (magnet)</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group inputs">
|
||||
|
|
|
@ -12,7 +12,7 @@ export class VideoDownloadComponent implements OnInit {
|
|||
|
||||
@ViewChild('modal') modal: ModalDirective
|
||||
|
||||
downloadType: 'direct' | 'torrent' = 'torrent'
|
||||
downloadType: 'direct' | 'torrent' | 'magnet' = 'torrent'
|
||||
resolutionId: number | string = -1
|
||||
|
||||
constructor () {
|
||||
|
@ -41,7 +41,19 @@ export class VideoDownloadComponent implements OnInit {
|
|||
return
|
||||
}
|
||||
|
||||
const link = this.downloadType === 'direct' ? file.fileDownloadUrl : file.torrentDownloadUrl
|
||||
const link = (() => {
|
||||
switch (this.downloadType) {
|
||||
case 'direct': {
|
||||
return file.fileDownloadUrl
|
||||
}
|
||||
case 'torrent': {
|
||||
return file.torrentDownloadUrl
|
||||
}
|
||||
case 'magnet': {
|
||||
return file.magnetUri
|
||||
}
|
||||
}
|
||||
})()
|
||||
window.location.assign(link)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -143,6 +143,13 @@ function addContextMenu (player: any, videoEmbedUrl: string) {
|
|||
listener: () => {
|
||||
copyToClipboard(buildVideoEmbed(videoEmbedUrl))
|
||||
}
|
||||
},
|
||||
{
|
||||
label: player.localize('Copy magnet URI'),
|
||||
listener: function () {
|
||||
const player = this
|
||||
copyToClipboard(player.peertube().getCurrentVideoFile().magnetUri)
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue