mirror of
https://github.com/leoherzog/TorrentParts.git
synced 2026-01-24 20:28:02 -08:00
Add Hash Loading and Copy URL Button
This commit is contained in:
32
bundle.js
32
bundle.js
@@ -11884,11 +11884,11 @@ function wrappy (fn, cb) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},{}],24:[function(require,module,exports){
|
},{}],24:[function(require,module,exports){
|
||||||
|
const clipboard = require('clipboard');
|
||||||
const parser = require('parse-torrent');
|
const parser = require('parse-torrent');
|
||||||
const Buffer = require('Buffer');
|
const Buffer = require('Buffer');
|
||||||
const bytes = require('bytes');
|
const bytes = require('bytes');
|
||||||
const mime = require('mime-types');
|
const mime = require('mime-types');
|
||||||
const clipboard = require('clipboard');
|
|
||||||
|
|
||||||
var name = document.getElementById('name');
|
var name = document.getElementById('name');
|
||||||
var creationDate = document.getElementById('creationDate');
|
var creationDate = document.getElementById('creationDate');
|
||||||
@@ -11898,6 +11898,7 @@ var hash = document.getElementById('hash');
|
|||||||
var trackers = document.getElementById('trackers');
|
var trackers = document.getElementById('trackers');
|
||||||
var webseeds = document.getElementById('webseeds');
|
var webseeds = document.getElementById('webseeds');
|
||||||
var files = document.getElementById('filesBody');
|
var files = document.getElementById('filesBody');
|
||||||
|
var copyURL = document.getElementById('copyURL');
|
||||||
var copyMagnet = document.getElementById('copyMagnet');
|
var copyMagnet = document.getElementById('copyMagnet');
|
||||||
var downloadTorrent = document.getElementById('downloadTorrent');
|
var downloadTorrent = document.getElementById('downloadTorrent');
|
||||||
var parsed;
|
var parsed;
|
||||||
@@ -11918,9 +11919,27 @@ function start() {
|
|||||||
event.target.files[0].arrayBuffer().then(arrayBuffer => parse(Buffer.from(arrayBuffer)));
|
event.target.files[0].arrayBuffer().then(arrayBuffer => parse(Buffer.from(arrayBuffer)));
|
||||||
});
|
});
|
||||||
|
|
||||||
new clipboard('#copyMagnet'); // TODO: Alert user to success
|
let copyurl = new clipboard('#copyURL');
|
||||||
|
copyurl.on('success', function(e) {
|
||||||
|
console.info(e); // TODO: Alert user to success
|
||||||
|
});
|
||||||
|
copyurl.on('failure', function(e) {
|
||||||
|
console.error(e);
|
||||||
|
});
|
||||||
|
|
||||||
|
let copymagnet = new clipboard('#copyMagnet');
|
||||||
|
copymagnet.on('success', function(e) {
|
||||||
|
console.info(e); // TODO: Alert user to success
|
||||||
|
});
|
||||||
|
copymagnet.on('failure', function(e) {
|
||||||
|
console.error(e);
|
||||||
|
});
|
||||||
|
|
||||||
downloadTorrent.addEventListener('click', saveTorrent);
|
downloadTorrent.addEventListener('click', saveTorrent);
|
||||||
|
|
||||||
|
if (window.location.hash) parse(window.location.hash.split('#')[1]);
|
||||||
|
window.addEventListener('hashchange', function() { if (window.location.hash) parse(window.location.hash.split('#')[1]); });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function parse(toLoad) {
|
function parse(toLoad) {
|
||||||
@@ -11930,9 +11949,13 @@ function parse(toLoad) {
|
|||||||
display();
|
display();
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
console.warn("That didn't work. Attempting remote parse.");
|
console.warn(e);
|
||||||
|
console.info("Attempting remote parse");
|
||||||
parser.remote(toLoad, function(err, result) {
|
parser.remote(toLoad, function(err, result) {
|
||||||
if (err) return; // TODO: Display error to user
|
if (err) { // TODO: Display error to user
|
||||||
|
console.error(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
parsed = result;
|
parsed = result;
|
||||||
display();
|
display();
|
||||||
});
|
});
|
||||||
@@ -11995,6 +12018,7 @@ function display() {
|
|||||||
files.innerHTML = "<em>Files information isn't included in the URL/File provided</em>";
|
files.innerHTML = "<em>Files information isn't included in the URL/File provided</em>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
copyURL.setAttribute('data-clipboard-text', window.location.origin + "#" + parser.toMagnetURI(parsed));
|
||||||
copyMagnet.setAttribute('data-clipboard-text', parser.toMagnetURI(parsed));
|
copyMagnet.setAttribute('data-clipboard-text', parser.toMagnetURI(parsed));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
<div id="copyURL">
|
||||||
|
<span class="fa-stack fa-2x">
|
||||||
|
<span class="fas fa-circle fa-stack-2x"></span>
|
||||||
|
<span class="fas fa-share-alt fa-stack-1x fa-inverse" data-fa-transform="left-1"></span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div id="copyMagnet">
|
<div id="copyMagnet">
|
||||||
<span class="fa-stack fa-2x">
|
<span class="fa-stack fa-2x">
|
||||||
<span class="fas fa-circle fa-stack-2x"></span>
|
<span class="fas fa-circle fa-stack-2x"></span>
|
||||||
|
|||||||
32
parse.js
32
parse.js
@@ -1,8 +1,8 @@
|
|||||||
|
const clipboard = require('clipboard');
|
||||||
const parser = require('parse-torrent');
|
const parser = require('parse-torrent');
|
||||||
const Buffer = require('Buffer');
|
const Buffer = require('Buffer');
|
||||||
const bytes = require('bytes');
|
const bytes = require('bytes');
|
||||||
const mime = require('mime-types');
|
const mime = require('mime-types');
|
||||||
const clipboard = require('clipboard');
|
|
||||||
|
|
||||||
var name = document.getElementById('name');
|
var name = document.getElementById('name');
|
||||||
var creationDate = document.getElementById('creationDate');
|
var creationDate = document.getElementById('creationDate');
|
||||||
@@ -12,6 +12,7 @@ var hash = document.getElementById('hash');
|
|||||||
var trackers = document.getElementById('trackers');
|
var trackers = document.getElementById('trackers');
|
||||||
var webseeds = document.getElementById('webseeds');
|
var webseeds = document.getElementById('webseeds');
|
||||||
var files = document.getElementById('filesBody');
|
var files = document.getElementById('filesBody');
|
||||||
|
var copyURL = document.getElementById('copyURL');
|
||||||
var copyMagnet = document.getElementById('copyMagnet');
|
var copyMagnet = document.getElementById('copyMagnet');
|
||||||
var downloadTorrent = document.getElementById('downloadTorrent');
|
var downloadTorrent = document.getElementById('downloadTorrent');
|
||||||
var parsed;
|
var parsed;
|
||||||
@@ -32,9 +33,27 @@ function start() {
|
|||||||
event.target.files[0].arrayBuffer().then(arrayBuffer => parse(Buffer.from(arrayBuffer)));
|
event.target.files[0].arrayBuffer().then(arrayBuffer => parse(Buffer.from(arrayBuffer)));
|
||||||
});
|
});
|
||||||
|
|
||||||
new clipboard('#copyMagnet'); // TODO: Alert user to success
|
let copyurl = new clipboard('#copyURL');
|
||||||
|
copyurl.on('success', function(e) {
|
||||||
|
console.info(e); // TODO: Alert user to success
|
||||||
|
});
|
||||||
|
copyurl.on('failure', function(e) {
|
||||||
|
console.error(e);
|
||||||
|
});
|
||||||
|
|
||||||
|
let copymagnet = new clipboard('#copyMagnet');
|
||||||
|
copymagnet.on('success', function(e) {
|
||||||
|
console.info(e); // TODO: Alert user to success
|
||||||
|
});
|
||||||
|
copymagnet.on('failure', function(e) {
|
||||||
|
console.error(e);
|
||||||
|
});
|
||||||
|
|
||||||
downloadTorrent.addEventListener('click', saveTorrent);
|
downloadTorrent.addEventListener('click', saveTorrent);
|
||||||
|
|
||||||
|
if (window.location.hash) parse(window.location.hash.split('#')[1]);
|
||||||
|
window.addEventListener('hashchange', function() { if (window.location.hash) parse(window.location.hash.split('#')[1]); });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function parse(toLoad) {
|
function parse(toLoad) {
|
||||||
@@ -44,9 +63,13 @@ function parse(toLoad) {
|
|||||||
display();
|
display();
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
console.warn("That didn't work. Attempting remote parse.");
|
console.warn(e);
|
||||||
|
console.info("Attempting remote parse");
|
||||||
parser.remote(toLoad, function(err, result) {
|
parser.remote(toLoad, function(err, result) {
|
||||||
if (err) return; // TODO: Display error to user
|
if (err) { // TODO: Display error to user
|
||||||
|
console.error(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
parsed = result;
|
parsed = result;
|
||||||
display();
|
display();
|
||||||
});
|
});
|
||||||
@@ -109,6 +132,7 @@ function display() {
|
|||||||
files.innerHTML = "<em>Files information isn't included in the URL/File provided</em>";
|
files.innerHTML = "<em>Files information isn't included in the URL/File provided</em>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
copyURL.setAttribute('data-clipboard-text', window.location.origin + "#" + parser.toMagnetURI(parsed));
|
||||||
copyMagnet.setAttribute('data-clipboard-text', parser.toMagnetURI(parsed));
|
copyMagnet.setAttribute('data-clipboard-text', parser.toMagnetURI(parsed));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user