import React from 'react'; import TranslatedComponent from './TranslatedComponent'; import cn from 'classnames'; import { SizeMap } from '../shipyard/Constants'; import { Warning } from './SvgIcons'; /** * Ship Summary Table / Stats */ export default class ShipSummaryTable extends TranslatedComponent { static propTypes = { ship: React.PropTypes.object.isRequired }; /** * Render the table * @return {React.Component} Summary table */ render() { let ship = this.props.ship; let { language, tooltip, termtip } = this.context; let translate = language.translate; let u = language.units; let formats = language.formats; let { time, int, round, f1, f2, pct } = formats; let sgClassNames = cn({ warning: ship.findInternalByGroup('sg') && !ship.shield, muted: !ship.findInternalByGroup('sg') }); let sgRecover = '-'; let sgRecharge = '-'; let hide = tooltip.bind(null, null); if (ship.shield) { sgRecover = time(ship.calcShieldRecovery()); sgRecharge = time(ship.calcShieldRecharge()); } return
{translate('speed')} {translate('boost')} {translate('DPS')} {translate('EPS')} {translate('TTD')} {translate('HPS')} {translate('hrd')} {translate('arm')} {translate('shld')} {translate('mass')} {translate('cargo')} {translate('fuel')} {translate('jump range')} {translate('fastest range')} {translate('MLF')}
{translate('hull')} {translate('unladen')} {translate('laden')} {translate('max')} {translate('full tank')} {translate('laden')} {translate('jumps')} {translate('unladen')} {translate('laden')}
{ ship.canThrust() ? {int(ship.topSpeed)} {u['m/s']} : 0 } { ship.canBoost() ? {int(ship.topBoost)} {u['m/s']} : 0 } {f1(ship.totalDps)} {f1(ship.totalEps)} {ship.timeToDrain === Infinity ? '∞' : time(ship.timeToDrain)} {f1(ship.totalHps)} {int(ship.hardness)} {int(ship.armour)} {int(ship.shield)} {u.MJ} {ship.hullMass} {u.T} {int(ship.unladenMass)} {u.T} {int(ship.ladenMass)} {u.T} {round(ship.cargoCapacity)} {u.T} {round(ship.fuelCapacity)} {u.T} {f2(ship.unladenRange)} {u.LY} {f2(ship.fullTankRange)} {u.LY} {f2(ship.ladenRange)} {u.LY} {int(ship.maxJumpCount)} {f2(ship.unladenFastestRange)} {u.LY} {f2(ship.ladenFastestRange)} {u.LY} {ship.masslock}
; } }