Displays a button that can be used to fetch search results and then each element has a magnet button to send it back.

This commit is contained in:
2017-10-21 15:16:58 +02:00
parent 71e7f46927
commit 3d73000e92

View File

@@ -0,0 +1,57 @@
import React, { Component } from 'react';
import { fetchJSON } from '../http.jsx';
class PirateSearch extends Component {
constructor() {
super();
this.state = {
response: [],
name: '',
}
}
sendToDownload(torrent) {
console.log(torrent.magnet)
let data = {magnet: torrent.magnet}
fetchJSON('https://apollo.kevinmidboe.com/api/v1/pirate/add', 'POST', data)
.then((response) => {
console.log(response)
})
}
searchTheBay() {
const query = this.props.name;
const type = this.props.type;
fetchJSON('https://apollo.kevinmidboe.com/api/v1/pirate/search?query='+query+'&type='+type, 'GET')
.then((response) => {
console.log(response.torrents)
this.setState({
response: response.torrents.map((torrent, index) => {
return (
<div key={index}>
<span>{torrent.name}</span><br />
<span>{torrent.size}</span><br />
<span>{torrent.seed}</span><br />
<button onClick={() => {this.sendToDownload(torrent)}}>Send to download</button>
<br /><br />
</div>
)
})
})
})
}
render() {
return (
<div>
<span>{this.props.name}</span>
<button onClick={() => {this.searchTheBay(this)}}>Load shit</button>
<span>{this.state.response}</span>
</div>
)
}
}
export default PirateSearch