diff --git a/client/app/components/admin/torrentTable.jsx b/client/app/components/admin/torrentTable.jsx
new file mode 100644
index 0000000..94d0f43
--- /dev/null
+++ b/client/app/components/admin/torrentTable.jsx
@@ -0,0 +1,85 @@
+import React, { Component } from 'react';
+
+import { fetchJSON } from '../http.jsx';
+
+class TorrentTable extends Component {
+
+ constructor() {
+ super();
+ this.state = {
+ torrentResponse: '',
+ showResults: false,
+ }
+ }
+
+ componentWillReceiveProps(props) {
+ if (props.response !== undefined) {
+ this.setState({
+ torrentResponse: props.response.map((torrent, index) => {
+ return (
+
+ | {torrent.name} |
+ {torrent.size} |
+ {torrent.seed} |
+ |
+
+ )
+ }),
+ showResults: true,
+ })
+ }
+ else {
+ this.setState({
+ showResults: false,
+ })
+ }
+ }
+
+ sendToDownload(torrent) {
+ let data = {magnet: torrent.magnet}
+ fetchJSON('https://apollo.kevinmidboe.com/api/v1/pirate/add', 'POST', data)
+ .then((response) => {
+ // TODO: Show a card with response that the item has been sent, and the status of response.
+ console.log(response)
+ })
+ .catch((error) => {
+ console.error(error);
+ })
+ }
+
+ generateTable() {
+ let style = {
+ table: {
+ width: '80%',
+ marginRight: 'auto',
+ marginLeft: 'auto',
+ },
+ }
+
+ return (
+
+
+
+ | Name |
+ Size |
+ Seed |
+ Add |
+
+
+
+ { this.state.torrentResponse }
+
+
+ );
+ }
+
+ render() {
+ return (
+
+ { this.state.showResults ? this.generateTable() : null }
+
+ )
+ }
+}
+
+export default TorrentTable
\ No newline at end of file