diff --git a/d3-funcs.js b/d3-funcs.js deleted file mode 100644 index ed1da7c4..00000000 --- a/d3-funcs.js +++ /dev/null @@ -1,11 +0,0 @@ -export { - axisBottom, - axisLeft, - axisTop, - formatLocale, - line, - scaleBand, - scaleLinear, - scaleOrdinal, - select -} from 'd3'; diff --git a/package.json b/package.json index 68727cd5..a7e5ce6e 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,6 @@ "engine": "node >= 4.8.1", "license": "MIT", "scripts": { - "prepublish": "rollup -c && uglifyjs d3.js -c -m -o d3.min.js", "extract-translations": "grep -hroE \"(translate\\('[^']+'\\))|(tip.bind\\(null, '[^']+')\" src/* | grep -oE \"'[^']+'\" | grep -oE \"[^']+\" | sort -u -f", "clean": "rimraf build", "start": "node devServer.js", diff --git a/src/app/pages/AboutPage.jsx b/src/app/pages/AboutPage.jsx index ebc922d1..f0af3dd5 100644 --- a/src/app/pages/AboutPage.jsx +++ b/src/app/pages/AboutPage.jsx @@ -104,7 +104,7 @@ export default class AboutPage extends Page { patreon.com/coriolis_elite , which will be used to keep Coriolis up to date and the servers - running. + running. I also run ads, which are also used for development and hosting.

builds.push(this._createBuild(b.shipId, b.buildName))); + comparisonData.builds.forEach(b => + builds.push(this._createBuild(b.shipId, b.buildName)) + ); saved = true; newName = name; } @@ -101,7 +116,7 @@ export default class ComparisonPage extends Page { newName = name = comparisonData.n; predicate = comparisonData.p; desc = comparisonData.d; - comparisonData.b.forEach((build) => { + comparisonData.b.forEach(build => { builds.push(this._createBuild(build.s, build.n, build.c)); if (!importObj[build.s]) { importObj[build.s] = {}; @@ -118,9 +133,9 @@ export default class ComparisonPage extends Page { let selectedFacets = new Array(selectedLength); for (let i = 0; i < ShipFacets.length; i++) { - let facet = Object.assign({ }, ShipFacets[i]); + let facet = Object.assign({}, ShipFacets[i]); let defaultIndex = defaultFacets.indexOf(facet.i); - if(defaultIndex == -1) { + if (defaultIndex == -1) { facets.push(facet); } else { facet.active = true; @@ -155,17 +170,18 @@ export default class ComparisonPage extends Page { _createBuild(id, name, code) { code = code ? code : Persist.getBuild(id, name); // Retrieve build code if not passed - if (!code) { // No build found + if (!code) { + // No build found return; } - let data = Ships[id]; // Get ship properties + let data = Ships[id]; // Get ship properties let b = new Ship(id, data.properties, data.slots); // Create a new Ship instance - b.buildFrom(code); // Populate components from code + b.buildFrom(code); // Populate components from code b.buildName = name; b.applyDiscounts(Persist.getShipDiscount(), Persist.getModuleDiscount()); return b; - }; + } /** * Update state with the specified sort predicates @@ -184,13 +200,18 @@ export default class ComparisonPage extends Page { } this.setState({ predicate, desc }); - }; + } /** * Show selected builds modal */ _selectBuilds() { - this.context.showModal(); + this.context.showModal( + + ); } /** @@ -224,7 +245,7 @@ export default class ComparisonPage extends Page { _facetDrag(e) { this.nodeAfter = false; this.dragged = e.currentTarget; - let placeholder = this.placeholder = document.createElement('li'); + let placeholder = (this.placeholder = document.createElement('li')); placeholder.style.width = Math.round(this.dragged.offsetWidth) + 'px'; placeholder.className = 'facet-placeholder'; if (!browser || (browser.name !== 'edge' && browser.name !== 'ie')) { @@ -262,7 +283,7 @@ export default class ComparisonPage extends Page { _facetDragOver(e) { e.preventDefault(); - if(e.target.className == 'facet-placeholder') { + if (e.target.className == 'facet-placeholder') { return; } else if (e.target != e.currentTarget) { this.over = e.target; @@ -272,7 +293,7 @@ export default class ComparisonPage extends Page { let parent = e.target.parentNode; if (parent == e.currentTarget) { - if(relX > width && this.dragged != e.target) { + if (relX > width && this.dragged != e.target) { this.nodeAfter = true; parent.insertBefore(this.placeholder, e.target.nextElementSibling); } else { @@ -321,7 +342,7 @@ export default class ComparisonPage extends Page { let { newName, builds, facets } = this.state; let selectedFacets = []; - facets.forEach((f) => { + facets.forEach(f => { if (f.active) { selectedFacets.unshift(f.i); } @@ -348,14 +369,20 @@ export default class ComparisonPage extends Page { let code = fromComparison(name, builds, selectedFacets, predicate, desc); let loc = window.location; - return loc.protocol + '//' + loc.host + '/comparison?code=' + encodeURIComponent(code); + return ( + loc.protocol + + '//' + + loc.host + + '/comparison?code=' + + encodeURIComponent(code) + ); } /** * Generates the long permalink URL */ _genPermalink() { - this.context.showModal(); + this.context.showModal(); } /** @@ -365,18 +392,25 @@ export default class ComparisonPage extends Page { let { translate, formats } = this.context.language; let { facets, builds } = this.state; - let generator = (callback) => { + let generator = callback => { let url = this._buildUrl(); - ShortenUrl(url, - (shortenedUrl) => callback(comparisonBBCode(translate, formats, facets, builds, shortenedUrl)), - (error) => callback(comparisonBBCode(translate, formats, facets, builds, url)) + ShortenUrl( + url, + shortenedUrl => + callback( + comparisonBBCode(translate, formats, facets, builds, shortenedUrl) + ), + error => + callback(comparisonBBCode(translate, formats, facets, builds, url)) ); }; - this.context.showModal(); + this.context.showModal( + + ); } /** @@ -409,7 +443,8 @@ export default class ComparisonPage extends Page { * @param {Object} nextContext Incoming/Next conext */ componentWillReceiveProps(nextProps, nextContext) { - if (this.context.route !== nextContext.route) { // Only reinit state if the route has changed + if (this.context.route !== nextContext.route) { + // Only reinit state if the route has changed this.setState(this._initState(nextContext)); } } @@ -419,7 +454,10 @@ export default class ComparisonPage extends Page { */ componentWillMount() { this.resizeListener = this.context.onWindowResize(this._updateDimensions); - this.persistListener = Persist.addListener('discounts', this._updateDiscounts); + this.persistListener = Persist.addListener( + 'discounts', + this._updateDiscounts + ); } /** @@ -444,65 +482,132 @@ export default class ComparisonPage extends Page { renderPage() { let translate = this.context.language.translate; let compareHeader; - let { newName, name, saved, builds, facets, predicate, desc, chartWidth } = this.state; + let { + newName, + name, + saved, + builds, + facets, + predicate, + desc, + chartWidth + } = this.state; if (this.state.compareMode) { - compareHeader = - {translate('comparison')} - - - - - - - - - ; + compareHeader = ( + + {translate('comparison')} + + + + + + + + + + ); } else { - compareHeader = - {translate('comparison')} - -

{name}

- - - ; + compareHeader = ( + + {translate('comparison')} + +

{name}

+ + + + ); } return ( -
- +
+
{compareHeader} - - + +
{translate('compare')}
{translate('compare')} -
    - {facets.map((f, i) => -
  • +
      + {facets.map((f, i) => ( +
    • {'↔ ' + translate(f.title)}
    • - )} + ))}
- + - {!builds.length ? -
this.chartRef = node}>{translate('PHRASE_NO_BUILDS')}
: - facets.filter((f) => f.active).map((f, i) => -
this.chartRef = node : null}> -

{translate(f.title)}

+ {!builds.length ? ( +
(this.chartRef = node)}> + {translate('PHRASE_NO_BUILDS')} +
+ ) : ( + facets.filter(f => f.active).map((f, i) => ( +
(this.chartRef = node) : null} + > +

+ {translate(f.title)} +

+ )) )} - +
); } diff --git a/src/app/pages/NotFoundPage.jsx b/src/app/pages/NotFoundPage.jsx index b5e0943a..a2d9c1a9 100644 --- a/src/app/pages/NotFoundPage.jsx +++ b/src/app/pages/NotFoundPage.jsx @@ -1,10 +1,11 @@ import React from 'react'; import Page from './Page'; +import AdSense from 'react-adsense'; + /** * 404 Page */ export default class NotFoundPage extends Page { - /** * Constructor * @param {Object} props React Component properties @@ -21,7 +22,16 @@ export default class NotFoundPage extends Page { * @return {React.Component} The page contents */ renderPage() { - return
Page {this.context.route.path} Not Found -
; + return ( +
+ Page {this.context.route.path} Not Found + +
+ ); } } diff --git a/src/app/pages/ShipyardPage.jsx b/src/app/pages/ShipyardPage.jsx index 10f0994f..3301e655 100644 --- a/src/app/pages/ShipyardPage.jsx +++ b/src/app/pages/ShipyardPage.jsx @@ -612,14 +612,14 @@ export default class ShipyardPage extends Page { {detailRows} -
+ ); } diff --git a/src/sw.js b/src/sw.js index e8fa7386..2299d54e 100644 --- a/src/sw.js +++ b/src/sw.js @@ -16,24 +16,7 @@ if (workbox) { ] }) ); - workbox.routing.registerRoute( - /\.(?:png|gif|jpg|jpeg|svg)$/, - workbox.strategies.cacheFirst({ - cacheName: 'images', - plugins: [ - new workbox.expiration.Plugin({ - maxEntries: 60, - maxAgeSeconds: 30 * 24 * 60 * 60 // 30 Days - }) - ] - }) - ); - workbox.routing.registerRoute( - /\.(?:js|css)$/, - workbox.strategies.staleWhileRevalidate({ - cacheName: 'static-resources' - }) - ); + try { workbox.googleAnalytics.initialize(); } catch (e) { @@ -43,38 +26,37 @@ if (workbox) { console.log('Boo! Workbox didn\'t load 😬'); } - self.addEventListener('message', event => { - if (!event.data) { - return; - } + if (!event.data) { + return; + } - switch (event.data) { - case 'skipWaiting': - self.skipWaiting(); - break; - default: - // NOOP - break; - } + switch (event.data) { + case 'skipWaiting': + self.skipWaiting(); + break; + default: + // NOOP + break; + } }); const OFFLINE_URL = '/'; self.addEventListener('fetch', function(event) { - console.log('Handling fetch event for', event.request.url); + console.log('Handling fetch event for', event.request.url); - event.respondWith( - caches.match(event.request).then(function(response) { - if (response) { - return response; - } + event.respondWith( + caches.match(event.request).then(function(response) { + if (response) { + return response; + } - return fetch(event.request) - .then(function(response) { - return response; - }) - .catch(function(error) { - return caches.match(OFFLINE_URL); - }); - }) - ); + return fetch(event.request) + .then(function(response) { + return response; + }) + .catch(function(error) { + return caches.match(OFFLINE_URL); + }); + }) + ); });