mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-08 14:33:22 +00:00
format, add types
This commit is contained in:
16593
package-lock.json
generated
16593
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
21
package.json
21
package.json
@@ -118,6 +118,27 @@
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/babel-core": "6.25.5",
|
||||
"@types/babel__core": "^7.0.4",
|
||||
"@types/case-sensitive-paths-webpack-plugin": "2.1.2",
|
||||
"@types/classnames": "^2.2.7",
|
||||
"@types/dotenv": "6.1.0",
|
||||
"@types/eslint": "4.16.5",
|
||||
"@types/fs-extra": "5.0.4",
|
||||
"@types/html-webpack-plugin": "3.2.0",
|
||||
"@types/jest": "23.3.12",
|
||||
"@types/less": "^3.0.0",
|
||||
"@types/mini-css-extract-plugin": "0.2.0",
|
||||
"@types/node": "^10.12.18",
|
||||
"@types/optimize-css-assets-webpack-plugin": "1.3.3",
|
||||
"@types/react": "^16.7.18",
|
||||
"@types/react-dom": "^16.0.11",
|
||||
"@types/react-loadable": "^5.4.3",
|
||||
"@types/react-router-dom": "^4.3.1",
|
||||
"@types/resolve": "0.0.8",
|
||||
"@types/webpack": "4.4.22",
|
||||
"@types/webpack-dev-server": "3.1.1",
|
||||
"@types/webpack-manifest-plugin": "2.0.0",
|
||||
"less": "^3.9.0",
|
||||
"less-loader": "^4.1.0"
|
||||
}
|
||||
|
||||
75
src/App.jsx
75
src/App.jsx
@@ -1,41 +1,56 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Switch, Route, Link } from 'react-router-dom';
|
||||
import React, { Component } from "react";
|
||||
import { Switch, Route } from "react-router-dom";
|
||||
import Loadable from "react-loadable";
|
||||
import Header from './components/Header';
|
||||
import Header from "./components/Header";
|
||||
const LoadableHome = Loadable({
|
||||
loader: () => import("./pages/Home"),
|
||||
loading: () => <h2>Loading</h2>
|
||||
loader: () => import("./pages/Home"),
|
||||
loading: () => <h2>Loading</h2>
|
||||
});
|
||||
|
||||
const LoadableOutfit = Loadable({
|
||||
loader: () => import("./pages/Outfit"),
|
||||
loading: () => <h2>Loading</h2>
|
||||
loader: () => import("./pages/Outfit"),
|
||||
loading: () => <h2>Loading</h2>
|
||||
});
|
||||
|
||||
class App extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div style={{ minHeight: '100%' }}>
|
||||
<Header/>
|
||||
<Switch>
|
||||
<Route exact path='/' component={LoadableHome}/>
|
||||
<Route path='/outfit/:ship' component={LoadableOutfit}/>
|
||||
</Switch>
|
||||
<footer>
|
||||
<div className="right cap">
|
||||
<a href="https://github.com/EDCD/coriolis" target="_blank" rel="noopener noreferrer"
|
||||
title="Coriolis Github Project">{window.CORIOLIS_VERSION} - {window.CORIOLIS_DATE}</a>
|
||||
<br/>
|
||||
<a
|
||||
href={'https://github.com/EDCD/coriolis/compare/edcd:develop@{' + window.CORIOLIS_DATE + '}...edcd:develop'}
|
||||
target="_blank" rel="noopener noreferrer" title={'Coriolis Commits since' + window.CORIOLIS_DATE}>Commits
|
||||
since last release
|
||||
({window.CORIOLIS_DATE})</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<div style={{ minHeight: "100%" }}>
|
||||
<Header />
|
||||
<Switch>
|
||||
<Route exact path="/" component={LoadableHome} />
|
||||
<Route path="/outfit/:ship" component={LoadableOutfit} />
|
||||
</Switch>
|
||||
<footer>
|
||||
<div className="right cap">
|
||||
<a
|
||||
href="https://github.com/EDCD/coriolis"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="Coriolis Github Project"
|
||||
>
|
||||
{window.CORIOLIS_VERSION} - {window.CORIOLIS_DATE}
|
||||
</a>
|
||||
<br />
|
||||
<a
|
||||
href={
|
||||
"https://github.com/EDCD/coriolis/compare/edcd:develop@{" +
|
||||
window.CORIOLIS_DATE +
|
||||
"}...edcd:develop"
|
||||
}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title={
|
||||
"Coriolis Commits since" + window.CORIOLIS_DATE
|
||||
}
|
||||
>
|
||||
Commits since last release ({window.CORIOLIS_DATE})
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default App;
|
||||
|
||||
@@ -1,54 +1,91 @@
|
||||
import React, { Component } from 'react';
|
||||
import {Link} from 'react-router-dom';
|
||||
import { CoriolisLogo, Hammer, Rocket, Cogs, Help, StatsBars } from './SvgIcons';
|
||||
import React, { Component } from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import {
|
||||
CoriolisLogo,
|
||||
Hammer,
|
||||
Rocket,
|
||||
Cogs,
|
||||
Help,
|
||||
StatsBars
|
||||
} from "./SvgIcons";
|
||||
|
||||
const cn = (...args) => args.join(' ')
|
||||
const translate = (args) => args;
|
||||
const hasBuilds = () => false
|
||||
const openedMenu = () => false
|
||||
const cn = (...args) => args.join(" ");
|
||||
const translate = args => args;
|
||||
const hasBuilds = () => false;
|
||||
const openedMenu = () => false;
|
||||
|
||||
class Header extends Component {
|
||||
render() {
|
||||
return (
|
||||
<header className={"header"}>
|
||||
<Link className='l menu' to={'/'}><CoriolisLogo className='icon xl' /></Link>
|
||||
<div className='l menu'>
|
||||
<div className={'menu-header'} onClick={this._openShips}>
|
||||
<Rocket className='warning' /><span className='menu-item-label'>{translate('ships')}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className='l menu'>
|
||||
<div className={'menu-header'} onClick={hasBuilds && this._openBuilds}>
|
||||
<Hammer className={'menu-header'} /><span className='menu-item-label'>{translate('builds')}</span>
|
||||
</div>
|
||||
</div>
|
||||
render() {
|
||||
return (
|
||||
<header className={"header"}>
|
||||
<Link className="l menu" to={"/"}>
|
||||
<CoriolisLogo className="icon xl" />
|
||||
</Link>
|
||||
<div className="l menu">
|
||||
<div className={"menu-header"} onClick={this._openShips}>
|
||||
<Rocket className="warning" />
|
||||
<span className="menu-item-label">
|
||||
{translate("ships")}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="l menu">
|
||||
<div
|
||||
className={"menu-header"}
|
||||
onClick={hasBuilds && this._openBuilds}
|
||||
>
|
||||
<Hammer className={"menu-header"} />
|
||||
<span className="menu-item-label">
|
||||
{translate("builds")}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className='l menu'>
|
||||
<div className={cn('menu-header', { selected: openedMenu == 'comp', disabled: !hasBuilds })} onClick={hasBuilds && this._openComp}>
|
||||
<StatsBars className={'menu-header'} /><span className='menu-item-label'>{translate('compare')}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="l menu">
|
||||
<div
|
||||
className={cn("menu-header", {
|
||||
selected: openedMenu == "comp",
|
||||
disabled: !hasBuilds
|
||||
})}
|
||||
onClick={hasBuilds && this._openComp}
|
||||
>
|
||||
<StatsBars className={"menu-header"} />
|
||||
<span className="menu-item-label">
|
||||
{translate("compare")}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className='l menu'>
|
||||
<div className={'menu-header'}>
|
||||
<span className='menu-item-label'>{translate('announcements')}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className='r menu'>
|
||||
<div className={cn('menu-header', { selected: openedMenu == 'settings' })} onClick={this._openSettings}>
|
||||
<Cogs className='xl warning'/><span className='menu-item-label'>{translate('settings')}</span>
|
||||
</div>
|
||||
{openedMenu == 'settings' ? this._getSettingsMenu() : null}
|
||||
</div>
|
||||
<div className="l menu">
|
||||
<div className={"menu-header"}>
|
||||
<span className="menu-item-label">
|
||||
{translate("announcements")}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="r menu">
|
||||
<div
|
||||
className={cn("menu-header", {
|
||||
selected: openedMenu == "settings"
|
||||
})}
|
||||
onClick={this._openSettings}
|
||||
>
|
||||
<Cogs className="xl warning" />
|
||||
<span className="menu-item-label">
|
||||
{translate("settings")}
|
||||
</span>
|
||||
</div>
|
||||
{openedMenu == "settings" ? this._getSettingsMenu() : null}
|
||||
</div>
|
||||
|
||||
<div className='r menu'>
|
||||
<div className={cn('menu-header')} onClick={this._showHelp}>
|
||||
<Help className='xl warning'/>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
<div className="r menu">
|
||||
<div className={cn("menu-header")} onClick={this._showHelp}>
|
||||
<Help className="xl warning" />
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default Header;
|
||||
|
||||
@@ -1,98 +1,97 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import cn from 'classnames';
|
||||
import {Ship, Module, Factory} from 'ed-forge'
|
||||
import React, { Component } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import cn from "classnames";
|
||||
import { Ship, Module, Factory } from "ed-forge";
|
||||
|
||||
class ShipSummaryTable extends Component {
|
||||
/**
|
||||
* The ShipSummaryTable constructor
|
||||
* @param {Object} props The props
|
||||
*/
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
shieldColour: "blue"
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* The ShipSummaryTable constructor
|
||||
* @param {Object} props The props
|
||||
*/
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
shieldColour: 'blue'
|
||||
};
|
||||
}
|
||||
|
||||
render() {
|
||||
const ship = this.props.ship;
|
||||
console.log(ship)
|
||||
return <div></div>
|
||||
// return <div id='summary'>
|
||||
// <div style={{display: "table", width: "100%"}}>
|
||||
// <div style={{display: "table-row"}}>
|
||||
// <table className={'summaryTable'}>
|
||||
// <thead>
|
||||
// <tr className='main'>
|
||||
// <th rowSpan={2} className={ cn({ 'bg-warning-disabled': !canThrust }) }>{translate('speed')}</th>
|
||||
// <th rowSpan={2} className={ cn({ 'bg-warning-disabled': !canBoost }) }>{translate('boost')}</th>
|
||||
// <th colSpan={5}>{translate('jump range')}</th>
|
||||
// <th rowSpan={2}>{translate('shield')}</th>
|
||||
// <th rowSpan={2}>{translate('integrity')}</th>
|
||||
// <th rowSpan={2}>{translate('DPS')}</th>
|
||||
// <th rowSpan={2}>{translate('EPS')}</th>
|
||||
// <th rowSpan={2}>{translate('TTD')}</th>
|
||||
// {/* <th onMouseEnter={termtip.bind(null, 'heat per second')} onMouseLeave={hide} rowSpan={2}>{translate('HPS')}</th> */}
|
||||
// <th rowSpan={2}>{translate('cargo')}</th>
|
||||
// <th rowSpan={2} onMouseEnter={termtip.bind(null, 'passenger capacity', { cap: 0 })} onMouseLeave={hide}>{translate('pax')}</th>
|
||||
// <th rowSpan={2}>{translate('fuel')}</th>
|
||||
// <th colSpan={3}>{translate('mass')}</th>
|
||||
// <th onMouseEnter={termtip.bind(null, 'hull hardness', { cap: 0 })} onMouseLeave={hide} rowSpan={2}>{translate('hrd')}</th>
|
||||
// <th rowSpan={2}>{translate('crew')}</th>
|
||||
// <th onMouseEnter={termtip.bind(null, 'mass lock factor', { cap: 0 })} onMouseLeave={hide} rowSpan={2}>{translate('MLF')}</th>
|
||||
// <th onMouseEnter={termtip.bind(null, 'TT_SUMMARY_BOOST_TIME', { cap: 0 })} onMouseLeave={hide} rowSpan={2}>{translate('boost time')}</th>
|
||||
// <th rowSpan={2}>{translate('resting heat (Beta)')}</th>
|
||||
// </tr>
|
||||
// <tr>
|
||||
// <th className='lft'>{translate('max')}</th>
|
||||
// <th>{translate('unladen')}</th>
|
||||
// <th>{translate('laden')}</th>
|
||||
// <th>{translate('total unladen')}</th>
|
||||
// <th>{translate('total laden')}</th>
|
||||
// <th className='lft'>{translate('hull')}</th>
|
||||
// <th>{translate('unladen')}</th>
|
||||
// <th>{translate('laden')}</th>
|
||||
// </tr>
|
||||
// </thead>
|
||||
// <tbody>
|
||||
// <tr>
|
||||
// <td onMouseEnter={termtip.bind(null, speedTooltip, { cap: 0 })} onMouseLeave={hide}>{ canThrust ? <span>{int(ship.calcSpeed(4, ship.fuelCapacity, 0, false))}{u['m/s']}</span> : <span className='warning'>0 <Warning/></span> }</td>
|
||||
// <td onMouseEnter={termtip.bind(null, boostTooltip, { cap: 0 })} onMouseLeave={hide}>{ canBoost ? <span>{int(ship.calcSpeed(4, ship.fuelCapacity, 0, true))}{u['m/s']}</span> : <span className='warning'>0 <Warning/></span> }</td>
|
||||
// <td><span onMouseEnter={termtip.bind(null, 'TT_SUMMARY_MAX_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.jumpRange(ship.unladenMass + ship.standard[2].m.getMaxFuelPerJump(), ship.standard[2].m, ship.standard[2].m.getMaxFuelPerJump(), ship))}{u.LY}</span></td>
|
||||
// <td><span onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.jumpRange(ship.unladenMass + ship.fuelCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span></td>
|
||||
// <td><span onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.jumpRange(ship.unladenMass + ship.fuelCapacity + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span></td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.totalJumpRange(ship.unladenMass + ship.fuelCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.totalJumpRange(ship.unladenMass + ship.fuelCapacity + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</td>
|
||||
// <td className={sgClassNames} onMouseEnter={termtip.bind(null, sgTooltip, { cap: 0 })} onMouseLeave={hide}>{int(ship.shield)}{u.MJ}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_INTEGRITY', { cap: 0 })} onMouseLeave={hide}>{int(ship.armour)}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_DPS', { cap: 0 })} onMouseLeave={hide}>{f1(ship.totalDps)}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_EPS', { cap: 0 })} onMouseLeave={hide}>{f1(ship.totalEps)}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_TTD', { cap: 0 })} onMouseLeave={hide}>{timeToDrain === Infinity ? '∞' : time(timeToDrain)}</td>
|
||||
// {/* <td>{f1(ship.totalHps)}</td> */}
|
||||
// <td>{round(ship.cargoCapacity)}{u.T}</td>
|
||||
// <td>{ship.passengerCapacity}</td>
|
||||
// <td>{round(ship.fuelCapacity)}{u.T}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_HULL_MASS', { cap: 0 })} onMouseLeave={hide}>{ship.hullMass}{u.T}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_MASS', { cap: 0 })} onMouseLeave={hide}>{int(ship.unladenMass)}{u.T}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_MASS', { cap: 0 })} onMouseLeave={hide}>{int(ship.ladenMass)}{u.T}</td>
|
||||
// <td>{int(ship.hardness)}</td>
|
||||
// <td>{ship.crew}</td>
|
||||
// <td>{ship.masslock}</td>
|
||||
// <td>{shipBoost !== 'No Boost' ? formats.time(shipBoost) : 'No Boost'}</td>
|
||||
// <td>{formats.pct(restingHeat)}</td>
|
||||
// </tr>
|
||||
// </tbody>
|
||||
// </table>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>;
|
||||
}
|
||||
render() {
|
||||
const ship = this.props.ship;
|
||||
console.log(ship);
|
||||
return <div />;
|
||||
// return <div id='summary'>
|
||||
// <div style={{display: "table", width: "100%"}}>
|
||||
// <div style={{display: "table-row"}}>
|
||||
// <table className={'summaryTable'}>
|
||||
// <thead>
|
||||
// <tr className='main'>
|
||||
// <th rowSpan={2} className={ cn({ 'bg-warning-disabled': !canThrust }) }>{translate('speed')}</th>
|
||||
// <th rowSpan={2} className={ cn({ 'bg-warning-disabled': !canBoost }) }>{translate('boost')}</th>
|
||||
// <th colSpan={5}>{translate('jump range')}</th>
|
||||
// <th rowSpan={2}>{translate('shield')}</th>
|
||||
// <th rowSpan={2}>{translate('integrity')}</th>
|
||||
// <th rowSpan={2}>{translate('DPS')}</th>
|
||||
// <th rowSpan={2}>{translate('EPS')}</th>
|
||||
// <th rowSpan={2}>{translate('TTD')}</th>
|
||||
// {/* <th onMouseEnter={termtip.bind(null, 'heat per second')} onMouseLeave={hide} rowSpan={2}>{translate('HPS')}</th> */}
|
||||
// <th rowSpan={2}>{translate('cargo')}</th>
|
||||
// <th rowSpan={2} onMouseEnter={termtip.bind(null, 'passenger capacity', { cap: 0 })} onMouseLeave={hide}>{translate('pax')}</th>
|
||||
// <th rowSpan={2}>{translate('fuel')}</th>
|
||||
// <th colSpan={3}>{translate('mass')}</th>
|
||||
// <th onMouseEnter={termtip.bind(null, 'hull hardness', { cap: 0 })} onMouseLeave={hide} rowSpan={2}>{translate('hrd')}</th>
|
||||
// <th rowSpan={2}>{translate('crew')}</th>
|
||||
// <th onMouseEnter={termtip.bind(null, 'mass lock factor', { cap: 0 })} onMouseLeave={hide} rowSpan={2}>{translate('MLF')}</th>
|
||||
// <th onMouseEnter={termtip.bind(null, 'TT_SUMMARY_BOOST_TIME', { cap: 0 })} onMouseLeave={hide} rowSpan={2}>{translate('boost time')}</th>
|
||||
// <th rowSpan={2}>{translate('resting heat (Beta)')}</th>
|
||||
// </tr>
|
||||
// <tr>
|
||||
// <th className='lft'>{translate('max')}</th>
|
||||
// <th>{translate('unladen')}</th>
|
||||
// <th>{translate('laden')}</th>
|
||||
// <th>{translate('total unladen')}</th>
|
||||
// <th>{translate('total laden')}</th>
|
||||
// <th className='lft'>{translate('hull')}</th>
|
||||
// <th>{translate('unladen')}</th>
|
||||
// <th>{translate('laden')}</th>
|
||||
// </tr>
|
||||
// </thead>
|
||||
// <tbody>
|
||||
// <tr>
|
||||
// <td onMouseEnter={termtip.bind(null, speedTooltip, { cap: 0 })} onMouseLeave={hide}>{ canThrust ? <span>{int(ship.calcSpeed(4, ship.fuelCapacity, 0, false))}{u['m/s']}</span> : <span className='warning'>0 <Warning/></span> }</td>
|
||||
// <td onMouseEnter={termtip.bind(null, boostTooltip, { cap: 0 })} onMouseLeave={hide}>{ canBoost ? <span>{int(ship.calcSpeed(4, ship.fuelCapacity, 0, true))}{u['m/s']}</span> : <span className='warning'>0 <Warning/></span> }</td>
|
||||
// <td><span onMouseEnter={termtip.bind(null, 'TT_SUMMARY_MAX_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.jumpRange(ship.unladenMass + ship.standard[2].m.getMaxFuelPerJump(), ship.standard[2].m, ship.standard[2].m.getMaxFuelPerJump(), ship))}{u.LY}</span></td>
|
||||
// <td><span onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.jumpRange(ship.unladenMass + ship.fuelCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span></td>
|
||||
// <td><span onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_SINGLE_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.jumpRange(ship.unladenMass + ship.fuelCapacity + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</span></td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.totalJumpRange(ship.unladenMass + ship.fuelCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_TOTAL_JUMP', { cap: 0 })} onMouseLeave={hide}>{f2(Calc.totalJumpRange(ship.unladenMass + ship.fuelCapacity + ship.cargoCapacity, ship.standard[2].m, ship.fuelCapacity, ship))}{u.LY}</td>
|
||||
// <td className={sgClassNames} onMouseEnter={termtip.bind(null, sgTooltip, { cap: 0 })} onMouseLeave={hide}>{int(ship.shield)}{u.MJ}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_INTEGRITY', { cap: 0 })} onMouseLeave={hide}>{int(ship.armour)}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_DPS', { cap: 0 })} onMouseLeave={hide}>{f1(ship.totalDps)}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_EPS', { cap: 0 })} onMouseLeave={hide}>{f1(ship.totalEps)}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_TTD', { cap: 0 })} onMouseLeave={hide}>{timeToDrain === Infinity ? '∞' : time(timeToDrain)}</td>
|
||||
// {/* <td>{f1(ship.totalHps)}</td> */}
|
||||
// <td>{round(ship.cargoCapacity)}{u.T}</td>
|
||||
// <td>{ship.passengerCapacity}</td>
|
||||
// <td>{round(ship.fuelCapacity)}{u.T}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_HULL_MASS', { cap: 0 })} onMouseLeave={hide}>{ship.hullMass}{u.T}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_UNLADEN_MASS', { cap: 0 })} onMouseLeave={hide}>{int(ship.unladenMass)}{u.T}</td>
|
||||
// <td onMouseEnter={termtip.bind(null, 'TT_SUMMARY_LADEN_MASS', { cap: 0 })} onMouseLeave={hide}>{int(ship.ladenMass)}{u.T}</td>
|
||||
// <td>{int(ship.hardness)}</td>
|
||||
// <td>{ship.crew}</td>
|
||||
// <td>{ship.masslock}</td>
|
||||
// <td>{shipBoost !== 'No Boost' ? formats.time(shipBoost) : 'No Boost'}</td>
|
||||
// <td>{formats.pct(restingHeat)}</td>
|
||||
// </tr>
|
||||
// </tbody>
|
||||
// </table>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>;
|
||||
}
|
||||
}
|
||||
|
||||
ShipSummaryTable.propTypes = {
|
||||
ship: PropTypes.any.isRequired,
|
||||
ship: PropTypes.any.isRequired
|
||||
};
|
||||
|
||||
export default ShipSummaryTable;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,48 +1,63 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import cn from 'classnames';
|
||||
import React, { Component } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import cn from "classnames";
|
||||
|
||||
class Slot extends Component {
|
||||
render() {
|
||||
const m = this.props.mod;
|
||||
const warning = () => false;
|
||||
const slot = {};
|
||||
const classRating = 0;
|
||||
const mass = 0;
|
||||
const translate = arg => arg;
|
||||
const formats = {
|
||||
round: a => Math.round(a)
|
||||
};
|
||||
const units = {};
|
||||
return (
|
||||
<div className={'slot'}>
|
||||
<div className={'cb'}>
|
||||
<div className={'r'}>{formats.round(mass)}</div>
|
||||
</div>
|
||||
<div className={cn('slot', { selected: this.props.selected })} onClick={this.props.onOpen}
|
||||
onKeyDown={this._keyDown} tabIndex="0" ref={slotDiv => this.slotDiv = slotDiv}>
|
||||
<div className={cn('details-container', {
|
||||
warning: warning && warning(slot.m),
|
||||
disabled: m.grp !== 'bh' && !slot.enabled
|
||||
})}>
|
||||
<div className={'sz'}>{m.grp == 'bh' ? m.name.charAt(0) : m.getSize()}</div>
|
||||
<div>
|
||||
<div className={'l'}>{classRating} {translate(m.name || m.grp)}{m.mods && Object.keys(m.mods).length > 0 ?
|
||||
<span className='r'></span> : null}</div>
|
||||
<div className={'r'}>{formats.round(mass)}{units.T}</div>
|
||||
<div/>
|
||||
<div className={'cb'}>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
render() {
|
||||
const m = this.props.mod;
|
||||
const warning = () => false;
|
||||
const slot = {};
|
||||
const classRating = 0;
|
||||
const mass = 0;
|
||||
const translate = arg => arg;
|
||||
const formats = {
|
||||
round: a => Math.round(a)
|
||||
};
|
||||
const units = {};
|
||||
return (
|
||||
<div className={"slot"}>
|
||||
<div className={"cb"}>
|
||||
<div className={"r"}>{formats.round(mass)}</div>
|
||||
</div>
|
||||
<div
|
||||
className={cn("slot", { selected: this.props.selected })}
|
||||
onClick={this.props.onOpen}
|
||||
onKeyDown={this._keyDown}
|
||||
tabIndex="0"
|
||||
ref={slotDiv => (this.slotDiv = slotDiv)}
|
||||
>
|
||||
<div
|
||||
className={cn("details-container", {
|
||||
warning: warning && warning(slot.m),
|
||||
disabled: m.grp !== "bh" && !slot.enabled
|
||||
})}
|
||||
>
|
||||
<div className={"sz"}>
|
||||
{m.grp == "bh" ? m.name.charAt(0) : m.getSize()}
|
||||
</div>
|
||||
<div>
|
||||
<div className={"l"}>
|
||||
{classRating} {translate(m.name || m.grp)}
|
||||
{m.mods && Object.keys(m.mods).length > 0 ? (
|
||||
<span className="r" />
|
||||
) : null}
|
||||
</div>
|
||||
<div className={"r"}>
|
||||
{formats.round(mass)}
|
||||
{units.T}
|
||||
</div>
|
||||
<div />
|
||||
<div className={"cb"} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Slot.propTypes = {
|
||||
mod: PropTypes.any
|
||||
mod: PropTypes.any
|
||||
};
|
||||
|
||||
export default Slot;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,14 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import ShipTable from '../components/ShipTable';
|
||||
import React, { Component } from "react";
|
||||
import ShipTable from "../components/ShipTable";
|
||||
|
||||
class Home extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div className="page">
|
||||
<Link className={"link"} to={'/outfit/fer_de_lance'}>Fer De Lance</Link>
|
||||
<ShipTable/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<div className="page">
|
||||
<ShipTable />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default Home;
|
||||
|
||||
@@ -1,36 +1,32 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Factory } from 'ed-forge';
|
||||
import Slot from '../components/Slot';
|
||||
import ShipSummaryTable from '../components/ShipSummaryTable';
|
||||
import React, { Component } from "react";
|
||||
import { Factory } from "ed-forge";
|
||||
import Slot from "../components/Slot";
|
||||
import ShipSummaryTable from "../components/ShipSummaryTable";
|
||||
|
||||
class Outfit extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
const ship = Factory.newShip(this.props.match.params.ship);
|
||||
const ship = Factory.newShip(this.props.match.params.ship);
|
||||
|
||||
this.state = {
|
||||
ship
|
||||
};
|
||||
this.state = {
|
||||
ship
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div
|
||||
id="outfit"
|
||||
className={'page'}
|
||||
>
|
||||
<ShipSummaryTable ship={this.state.ship}/>
|
||||
{this.state.ship.getCoreModules().map(core =>
|
||||
<Slot mod={core}/>
|
||||
)}
|
||||
{this.state.ship.getHardpoints().map(core =>
|
||||
<Slot mod={core}/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<div id="outfit" className={"page"}>
|
||||
<ShipSummaryTable ship={this.state.ship} />
|
||||
{this.state.ship.getCoreModules().map(core => (
|
||||
<Slot mod={core} />
|
||||
))}
|
||||
{this.state.ship.getHardpoints().map(core => (
|
||||
<Slot mod={core} />
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default Outfit;
|
||||
|
||||
334
yarn.lock
334
yarn.lock
@@ -817,11 +817,340 @@
|
||||
"@svgr/core" "^2.4.1"
|
||||
loader-utils "^1.1.0"
|
||||
|
||||
"@types/anymatch@*":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.0.tgz#d1d55958d1fccc5527d4aba29fc9c4b942f563ff"
|
||||
integrity sha512-7WcbyctkE8GTzogDb0ulRAEw7v8oIS54ft9mQTU7PfM0hp5e+8kpa+HeQ7IQrFbKtJXBKcZ4bh+Em9dTw5L6AQ==
|
||||
|
||||
"@types/babel-core@6.25.5":
|
||||
version "6.25.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel-core/-/babel-core-6.25.5.tgz#7598b1287c2cb5a8e9150d60e4d4a8f2dbe29982"
|
||||
integrity sha512-pecvyMrc46zY0AFYXVZWNmm/gekr7f32OBYCd9baOiIpOTFtNN0ormeWpJaG7p+MEzncUvNtJdYql94dZYZGsw==
|
||||
dependencies:
|
||||
"@types/babel-generator" "*"
|
||||
"@types/babel-template" "*"
|
||||
"@types/babel-traverse" "*"
|
||||
"@types/babel-types" "*"
|
||||
"@types/babylon" "*"
|
||||
|
||||
"@types/babel-generator@*":
|
||||
version "6.25.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel-generator/-/babel-generator-6.25.2.tgz#fa13653ec2d34a4037be9c34dec32ae75bea04cc"
|
||||
integrity sha512-W7PQkeDlYOqJblfNeqZARwj4W8nO+ZhQQZksU8+wbaKuHeUdIVUAdREO/Qb0FfNr3CY5Sq1gNtqsyFeZfS3iSw==
|
||||
dependencies:
|
||||
"@types/babel-types" "*"
|
||||
|
||||
"@types/babel-template@*":
|
||||
version "6.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel-template/-/babel-template-6.25.1.tgz#03e23a893c16bab2ec00200ab51feccf488cae78"
|
||||
integrity sha512-teJYxh35PbBaf9OY6YwLSQ7pRiWRnHCHmlqwfVSfexOsqHUf6hpNZ4FG9PfgnpBM1VRzRJVQF3SqqOtkcNrBZQ==
|
||||
dependencies:
|
||||
"@types/babel-types" "*"
|
||||
"@types/babylon" "*"
|
||||
|
||||
"@types/babel-traverse@*":
|
||||
version "6.25.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel-traverse/-/babel-traverse-6.25.4.tgz#269af6a25c80419b635c8fa29ae42b0d5ce2418c"
|
||||
integrity sha512-+/670NaZE7qPvdh8EtGds32/2uHFKE5JeS+7ePH6nGwF8Wj8r671/RkTiJQP2k22nFntWEb9xQ11MFj7xEqI0g==
|
||||
dependencies:
|
||||
"@types/babel-types" "*"
|
||||
|
||||
"@types/babel-types@*":
|
||||
version "7.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.4.tgz#bfd5b0d0d1ba13e351dff65b6e52783b816826c8"
|
||||
integrity sha512-WiZhq3SVJHFRgRYLXvpf65XnV6ipVHhnNaNvE8yCimejrGglkg38kEj0JcizqwSHxmPSjcTlig/6JouxLGEhGw==
|
||||
|
||||
"@types/babel__core@^7.0.4":
|
||||
version "7.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.0.4.tgz#14b30c11113bad353cabfaea73e327b48edb0f0e"
|
||||
integrity sha512-2Y2RK1BN5BRFfhneGfQA8mmFmTANbzGgS5uQPluoRqGNWb6uAcefqxzNbqgxPpmPkLqKapQfmYcyyl5iAQV+fA==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.1.0"
|
||||
"@babel/types" "^7.0.0"
|
||||
|
||||
"@types/babylon@*":
|
||||
version "6.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.4.tgz#d3df72518b34a6a015d0dc58745cd238b5bb8ad2"
|
||||
integrity sha512-8dZMcGPno3g7pJ/d0AyJERo+lXh9i1JhDuCUs+4lNIN9eUe5Yh6UCLrpgSEi05Ve2JMLauL2aozdvKwNL0px1Q==
|
||||
dependencies:
|
||||
"@types/babel-types" "*"
|
||||
|
||||
"@types/body-parser@*":
|
||||
version "1.17.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c"
|
||||
integrity sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==
|
||||
dependencies:
|
||||
"@types/connect" "*"
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/case-sensitive-paths-webpack-plugin@2.1.2":
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#8fbac6359d31f75861f3c2f93a60768c8293c563"
|
||||
integrity sha512-ah/PG3Iz3CLuHk8bczITiGvDcNLogZQfJDL+e7pcJXKdD/5Qp1FB6lxSjPsfXw8fHbhEfaJIq9om3hK6ir391g==
|
||||
dependencies:
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/classnames@^2.2.7":
|
||||
version "2.2.7"
|
||||
resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.7.tgz#fb68cc9be8487e6ea5b13700e759bfbab7e0fefd"
|
||||
integrity sha512-rzOhiQ55WzAiFgXRtitP/ZUT8iVNyllEpylJ5zHzR4vArUvMB39GTk+Zon/uAM0JxEFAWnwsxC2gH8s+tZ3Myg==
|
||||
|
||||
"@types/clean-css@*":
|
||||
version "3.4.30"
|
||||
resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-3.4.30.tgz#0052c136f5248002428e3638b37de4a39818641d"
|
||||
integrity sha1-AFLBNvUkgAJCjjY4s33ko5gYZB0=
|
||||
|
||||
"@types/connect@*":
|
||||
version "3.4.32"
|
||||
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28"
|
||||
integrity sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/dotenv@6.1.0":
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/dotenv/-/dotenv-6.1.0.tgz#fba2bfd1f28a46eadaa049f3313ebb89bdedfc53"
|
||||
integrity sha512-gmbNb7V1LbJQA4MmH0hVFgqY1cyKsa6RvKC1Xrq0WBnZ0JuuvXKciXx/s8dN0LVXCJd8xO6wIaSFSyUIoGph9g==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/eslint@4.16.5":
|
||||
version "4.16.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-4.16.5.tgz#f0b56e011a3f7d01a380a568776f93ec56d7c911"
|
||||
integrity sha512-103C3Adr8UaucsjYBDdKzL9AZk6c6F2gKIlyZOxv48KtmnvNcXoDsEddF4N/DZJNoVFg6NGSbzYodvxix3Md2g==
|
||||
dependencies:
|
||||
"@types/estree" "*"
|
||||
"@types/json-schema" "*"
|
||||
|
||||
"@types/estree@*":
|
||||
version "0.0.39"
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
|
||||
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
|
||||
|
||||
"@types/events@*":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86"
|
||||
integrity sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==
|
||||
|
||||
"@types/express-serve-static-core@*":
|
||||
version "4.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz#fdfe777594ddc1fe8eb8eccce52e261b496e43e7"
|
||||
integrity sha512-lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w==
|
||||
dependencies:
|
||||
"@types/events" "*"
|
||||
"@types/node" "*"
|
||||
"@types/range-parser" "*"
|
||||
|
||||
"@types/express@*":
|
||||
version "4.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19"
|
||||
integrity sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w==
|
||||
dependencies:
|
||||
"@types/body-parser" "*"
|
||||
"@types/express-serve-static-core" "*"
|
||||
"@types/serve-static" "*"
|
||||
|
||||
"@types/fs-extra@5.0.4":
|
||||
version "5.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599"
|
||||
integrity sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/history@*":
|
||||
version "4.7.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220"
|
||||
integrity sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q==
|
||||
|
||||
"@types/html-minifier@*":
|
||||
version "3.5.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/html-minifier/-/html-minifier-3.5.2.tgz#f897a13d847a774e9b6fd91497e9b0e0ead71c35"
|
||||
integrity sha512-yikK28/KlVyf8g9i/k+TDFlteLuZ6QQTUdVqvKtzEB+8DSLCTjxfh6IK45KnW4rYFI3Y8T4LWpYJMTmfJleWaQ==
|
||||
dependencies:
|
||||
"@types/clean-css" "*"
|
||||
"@types/relateurl" "*"
|
||||
"@types/uglify-js" "*"
|
||||
|
||||
"@types/html-webpack-plugin@3.2.0":
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#26b20854124bbcccbc22ccec715a1ba74583526c"
|
||||
integrity sha512-in9rViBsTRB4ZApndZ12It68nGzSMHVK30JD7c49iLIHMFeTPbP7I7wevzMv7re2o0k5TlU6Ry/beyrmgWX7Bg==
|
||||
dependencies:
|
||||
"@types/html-minifier" "*"
|
||||
"@types/tapable" "*"
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/http-proxy-middleware@*":
|
||||
version "0.19.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#042559a6c45a8f1694b3119902f92890d6ba0909"
|
||||
integrity sha512-P4zpWTYFp1qXLjEPnjFVBB1KmR+b9Tt+RnzJxQSW4DTyh1lKDnYZi/Q1DzuupocX+7IYi2W7uIrbNybQg91H6A==
|
||||
dependencies:
|
||||
"@types/connect" "*"
|
||||
"@types/http-proxy" "*"
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/http-proxy@*":
|
||||
version "1.16.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.16.2.tgz#16cb373b52fff2aa2f389d23d940ed4a642349e5"
|
||||
integrity sha512-GgqePmC3rlsn1nv+kx5OviPuUBU2omhnlXOaJSXFgOdsTcScNFap+OaCb2ip9Bm4m5L8EOehgT5d9M4uNB90zg==
|
||||
dependencies:
|
||||
"@types/events" "*"
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/jest@23.3.12":
|
||||
version "23.3.12"
|
||||
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.12.tgz#7e0ced251fa94c3bc2d1023d4b84b2992fa06376"
|
||||
integrity sha512-/kQvbVzdEpOq4tEWT79yAHSM4nH4xMlhJv2GrLVQt4Qmo8yYsPdioBM1QpN/2GX1wkfMnyXvdoftvLUr0LBj7Q==
|
||||
|
||||
"@types/json-schema@*":
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.1.tgz#fcaa655260285b8061850789f8268c51a4ec8ee1"
|
||||
integrity sha512-NVQEMviDWjuen3UW+mU1J6fZ0WhOfG1yRce/2OTcbaz+fgmTw2cahx6N2wh0Yl+a+hg2UZj/oElZmtULWyGIsA==
|
||||
|
||||
"@types/less@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/less/-/less-3.0.0.tgz#2b76e6a2fecf7108c1c2b701ad846b605d8f2c7e"
|
||||
integrity sha512-AUO7jdGrDi7x+7w2vYHNCom3NRjkspKSvamYp013Jyd/VYxpm0xtCupRZCdSX2IPx/W9C81Cj7nPXqQUj6MlQQ==
|
||||
|
||||
"@types/mime@*":
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b"
|
||||
integrity sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==
|
||||
|
||||
"@types/mini-css-extract-plugin@0.2.0":
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-0.2.0.tgz#afb037dbbd76f6c13803927c2751d194188b5d47"
|
||||
integrity sha512-oHec+Vasp+K3C1Hb9HpwbA9Iw8ywqDgo9edWQJdBqxu05JH2AQsR56Zo5THpYbu1ieh/xJCvMRIHRdvrUBDmcA==
|
||||
dependencies:
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/node@*", "@types/node@^10.12.18":
|
||||
version "10.12.18"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
|
||||
integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==
|
||||
|
||||
"@types/optimize-css-assets-webpack-plugin@1.3.3":
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-1.3.3.tgz#e2b79784473ac5931ade079e4b70e525b35cd4ad"
|
||||
integrity sha512-pnxKUggSNq3P+OtHkMc72BZ0FHvUCdMW5clkD+9MWcuWvuo+KJg3X5llMXFcDARJnqYfhaa3hVngnnwaSVwimg==
|
||||
dependencies:
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/prop-types@*":
|
||||
version "15.5.8"
|
||||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.5.8.tgz#8ae4e0ea205fe95c3901a5a1df7f66495e3a56ce"
|
||||
integrity sha512-3AQoUxQcQtLHsK25wtTWIoIpgYjH3vSDroZOUr7PpCHw/jLY1RB9z9E8dBT/OSmwStVgkRNvdh+ZHNiomRieaw==
|
||||
|
||||
"@types/range-parser@*":
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
|
||||
integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
|
||||
|
||||
"@types/react-dom@^16.0.11":
|
||||
version "16.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.0.11.tgz#bd10ccb0d9260343f4b9a49d4f7a8330a5c1f081"
|
||||
integrity sha512-x6zUx9/42B5Kl2Vl9HlopV8JF64wLpX3c+Pst9kc1HgzrsH+mkehe/zmHMQTplIrR48H2gpU7ZqurQolYu8XBA==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-loadable@^5.4.3":
|
||||
version "5.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-loadable/-/react-loadable-5.4.3.tgz#b3891da6609a869b021319494b27ba85aaa83634"
|
||||
integrity sha512-tmBmYSY1Ba0BgogDsWOA4W1Ml1P95Fk2XaxVXLYMEcocHmqseaibQOdKxkVii/TI9Pl+fJQGv4985E03sPa21A==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/react-router-dom@^4.3.1":
|
||||
version "4.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.1.tgz#71fe2918f8f60474a891520def40a63997dafe04"
|
||||
integrity sha512-GbztJAScOmQ/7RsQfO4cd55RuH1W4g6V1gDW3j4riLlt+8yxYLqqsiMzmyuXBLzdFmDtX/uU2Bpcm0cmudv44A==
|
||||
dependencies:
|
||||
"@types/history" "*"
|
||||
"@types/react" "*"
|
||||
"@types/react-router" "*"
|
||||
|
||||
"@types/react-router@*":
|
||||
version "4.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-4.4.3.tgz#ea68b4021cb576866f83365b2201411537423d50"
|
||||
integrity sha512-8GmjakEBFNCLJbpg9jtDp1EDvFP0VkIPPKBpVwmB3Q+9whFoHu8rluMUXUE5SoGkEQvVOtgJzWmUsJojNpFMQQ==
|
||||
dependencies:
|
||||
"@types/history" "*"
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react@*", "@types/react@^16.7.18":
|
||||
version "16.7.18"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.7.18.tgz#f4ce0d539a893dd61e36cd11ae3a5e54f5a48337"
|
||||
integrity sha512-Tx4uu3ppK53/iHk6VpamMP3f3ahfDLEVt3ZQc8TFm30a1H3v9lMsCntBREswZIW/SKrvJjkb3Hq8UwO6GREBng==
|
||||
dependencies:
|
||||
"@types/prop-types" "*"
|
||||
csstype "^2.2.0"
|
||||
|
||||
"@types/relateurl@*":
|
||||
version "0.2.28"
|
||||
resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.28.tgz#6bda7db8653fa62643f5ee69e9f69c11a392e3a6"
|
||||
integrity sha1-a9p9uGU/piZD9e5p6facEaOS46Y=
|
||||
|
||||
"@types/resolve@0.0.8":
|
||||
version "0.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
|
||||
integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/serve-static@*":
|
||||
version "1.13.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48"
|
||||
integrity sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==
|
||||
dependencies:
|
||||
"@types/express-serve-static-core" "*"
|
||||
"@types/mime" "*"
|
||||
|
||||
"@types/tapable@*":
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370"
|
||||
integrity sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==
|
||||
|
||||
"@types/tapable@1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.2.tgz#e13182e1b69871a422d7863e11a4a6f5b814a4bd"
|
||||
integrity sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ==
|
||||
|
||||
"@types/uglify-js@*":
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082"
|
||||
integrity sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==
|
||||
dependencies:
|
||||
source-map "^0.6.1"
|
||||
|
||||
"@types/webpack-dev-server@3.1.1":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.1.1.tgz#12ae26194b3e1b8a317559592659921f282583c2"
|
||||
integrity sha512-TnEQPT+OZjWV2kRyNs0RPMDQmBCiLrr/ZhKSgFNF6aM4O/moUAfo2Yu3MIMUjoi3aE/02RH1iVR+Y6mWmXOlVA==
|
||||
dependencies:
|
||||
"@types/express" "*"
|
||||
"@types/http-proxy-middleware" "*"
|
||||
"@types/serve-static" "*"
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/webpack-manifest-plugin@2.0.0":
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.0.tgz#243674dde09b8f80c9709f2340a0614cfbeb4f94"
|
||||
integrity sha512-ApcFwlQVwS5UI/uzESw8lO4wDdAY4PIj4ZX0SZv7MnbR9JSmStBNrpkniDvERB/CTTEHPaXDvTZwG1fCPV9h4g==
|
||||
dependencies:
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/webpack@*", "@types/webpack@4.4.22":
|
||||
version "4.4.22"
|
||||
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.22.tgz#c4a5ea8b74a31b579537515bcfe86d2b2a34382c"
|
||||
integrity sha512-PxAAzli3krZX9rCeONSR5Z9v4CR/2HPsKsiVRFNDo9OZefN+dTemteMHZnYkddOu4bqoYqJTJ724gLy0ZySXOw==
|
||||
dependencies:
|
||||
"@types/anymatch" "*"
|
||||
"@types/node" "*"
|
||||
"@types/tapable" "*"
|
||||
"@types/uglify-js" "*"
|
||||
source-map "^0.6.0"
|
||||
|
||||
"@webassemblyjs/ast@1.7.6":
|
||||
version "1.7.6"
|
||||
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.6.tgz#3ef8c45b3e5e943a153a05281317474fef63e21e"
|
||||
@@ -2689,6 +3018,11 @@ cssstyle@^1.0.0, cssstyle@^1.1.1:
|
||||
dependencies:
|
||||
cssom "0.3.x"
|
||||
|
||||
csstype@^2.2.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.0.tgz#6cf7b2fa7fc32aab3d746802c244d4eda71371a2"
|
||||
integrity sha512-by8hi8BlLbowQq0qtkx54d9aN73R9oUW20HISpka5kmgsR9F7nnxgfsemuR2sdCKZh+CDNf5egW9UZMm4mgJRg==
|
||||
|
||||
cyclist@~0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
|
||||
|
||||
Reference in New Issue
Block a user