diff --git a/package-lock.json b/package-lock.json index e81bff1a..b20b18d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "coriolis_shipyard", - "version": "2.5.0", + "version": "2.5.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -475,6 +475,15 @@ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", "dev": true }, + "axios": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", + "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", + "requires": { + "follow-redirects": "1.4.1", + "is-buffer": "1.1.6" + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -1974,11 +1983,6 @@ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, - "clamp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", - "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" - }, "clap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", @@ -4975,6 +4979,14 @@ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", "dev": true }, + "follow-redirects": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz", + "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", + "requires": { + "debug": "3.1.0" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -6673,8 +6685,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", @@ -10168,11 +10179,6 @@ "object-assign": "4.1.1" } }, - "react-clickdrag": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/react-clickdrag/-/react-clickdrag-3.0.2.tgz", - "integrity": "sha1-VN9fPfbWlcVOmXigglP4PedhG9I=" - }, "react-dom": { "version": "15.6.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", @@ -10195,13 +10201,6 @@ "resize-observer-polyfill": "1.4.2" } }, - "react-number-editor": { - "version": "github:Athanasius/react-number-editor#b6ff7b549425c87afca34dccdaa5e4cc59f9fd30", - "requires": { - "clamp": "1.0.1", - "react-clickdrag": "3.0.2" - } - }, "react-resize-detector": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-0.4.1.tgz", diff --git a/package.json b/package.json index 395a33d9..47b019f7 100644 --- a/package.json +++ b/package.json @@ -93,6 +93,7 @@ "uglify-js": "^2.4.11" }, "dependencies": { + "axios": "^0.17.1", "babel-polyfill": "*", "browserify-zlib-next": "^1.0.1", "classnames": "^2.2.5", diff --git a/src/app/pages/OutfittingPage.jsx b/src/app/pages/OutfittingPage.jsx index 1b72e372..441daa8d 100644 --- a/src/app/pages/OutfittingPage.jsx +++ b/src/app/pages/OutfittingPage.jsx @@ -4,6 +4,7 @@ import { Ships } from 'coriolis-data/dist'; import cn from 'classnames'; import Page from './Page'; import Router from '../Router'; +import Axios from 'axios'; import Persist from '../stores/Persist'; import * as Utils from '../utils/UtilityFunctions'; import Ship from '../shipyard/Ship'; @@ -70,20 +71,25 @@ export default class OutfittingPage extends Page { let params = context.route.params; let shipId = params.ship; let code = params.code; + let remoteID = params.remote; let buildName = params.bn; let data = Ships[shipId]; // Retrieve the basic ship properties, slots and defaults let savedCode = Persist.getBuild(shipId, buildName); - if (!data) { - return { error: { message: 'Ship not found: ' + shipId } }; - } - - let ship = new Ship(shipId, data.properties, data.slots); // Create a new Ship instance - - if (code) { - ship.buildFrom(code); // Populate modules from serialized 'code' URL param + if (remoteID) { + Axios.get('https://orbis.zone/api/ships/' + remoteID + '/fdev') } else { - ship.buildWith(data.defaults); // Populate with default components + if (!data) { + return { error: { message: 'Ship not found: ' + shipId } }; + } + + let ship = new Ship(shipId, data.properties, data.slots); // Create a new Ship instance + + if (code) { + ship.buildFrom(code); // Populate modules from serialized 'code' URL param + } else { + ship.buildWith(data.defaults); // Populate with default components + } } this._getTitle = getTitle.bind(this, data.properties.name);