import React from 'react'; import Slot from './Slot'; import { ListModifications } from './SvgIcons'; import { Modifications } from 'coriolis-data/dist'; /** * Internal Slot */ export default class InternalSlot extends Slot { /** * Generate the slot contents * @param {Object} m Mounted Module * @param {Function} translate Translate function * @param {Object} formats Localized Formats map * @param {Object} u Localized Units Map * @return {React.Component} Slot contents */ _getSlotDetails(m, translate, formats, u) { if (m) { let classRating = m.class + m.rating; let { drag, drop } = this.props; let validMods = Modifications.validity[m.grp] || []; return
{classRating} {translate(m.name || m.grp)}
{m.getMass() || m.cargo || m.fuel || 0}{u.T}
{ m.optmass ?
{translate('optimal mass')}: {m.optmass}{u.T}
: null } { m.maxmass ?
{translate('max mass')}: {m.maxmass}{u.T}
: null } { m.bins ?
{m.bins} {translate('bins')}
: null } { m.bays ?
{translate('bays')}: {m.bays}
: null } { m.rate ?
{translate('rate')}: {m.rate}{u.kgs}   {translate('refuel time')}: {formats.time(this.props.fuel * 1000 / m.rate)}
: null } { m.ammo ?
{translate('ammo')}: {formats.gen(m.ammo)}
: null } { m.cells ?
{translate('cells')}: {m.cells}
: null } { m.recharge ?
{translate('recharge')}: {m.recharge} MJ   {translate('total')}: {m.cells * m.recharge}{u.MJ}
: null } { m.repair ?
{translate('repair')}: {m.repair}
: null } { m.range ?
{translate('range')} {m.range}{u.km}
: null } { m.time ?
{translate('time')}: {formats.time(m.time)}
: null } { m.maximum ?
{translate('max')}: {(m.maximum)}
: null } { m.rangeLS ?
{translate('range')}: {m.rangeLS}{u.Ls}
: null } { m.rangeLS === null ?
∞{u.Ls}
: null } { m.rangeRating ?
{translate('range')}: {m.rangeRating}
: null } { m.armouradd ?
+{m.armouradd} {translate('armour')}
: null } { validMods.length > 0 ?
: null }
; } else { return
{translate('empty')}
; } } }