import { selectVesselName } from 'app/modules/vesselDetails/root/store/vesselDetails.selectors'; import { createSelector } from 'reselect'; import { selectCalculationsSummary, selectCurrentPeriodName, } from 'app/modules/bunkerAdjustment/store/bunkerAdjustment.selectors'; export const selectBATotalCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, (summary, periodName) => ({ steps: [ { key: `Bunker Adjustment for ${periodName}`, value: summary?.currentMonthAdjustment ?? null, isMoney: true, }, { key: `Previous period adjustment`, value: summary?.previousMonthsAdjustment ?? null, isMoney: true, operation: '+', }, ], result: { key: `Total bunker adjustment for ${periodName}`, value: summary?.totalAdjustment ?? null, isLarge: true, }, }) ); export const selectBACurrentMonthCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, selectVesselName, (summary, periodName, vesselName) => ({ steps: [ { key: `Bunker basket price for ${periodName} ($/mt)`, value: summary?.bunkerBasket ?? null, isMoney: true, }, { key: `Total difference between ${vesselName} and Virtual Pool Vessel (mt)`, value: summary?.consumptionDifference ?? null, isMoney: false, operation: 'x', }, ], result: { key: `Bunker adjustment for ${periodName}`, value: summary?.currentMonthAdjustment ?? null, isLarge: false, }, }) ); export const selectBATotalPerDayCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, (summary, periodName) => ({ steps: [ { key: `Total Bunker Adjustment for ${periodName}`, value: summary?.totalAdjustment ?? null, isMoney: true, }, { key: `On-hire days in ${periodName}`, value: summary?.currentMonthHireDays ?? null, isMoney: false, operation: '/', }, ], result: { key: `Total Bunker Adjustment for ${periodName} per day`, value: summary?.totalPerDayAdjustment ?? null, isLarge: true, }, }) ); export const selectBACurrentMonthPerDayCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, (summary, periodName) => ({ steps: [ { key: `Bunker Adjustment for ${periodName}`, value: summary?.currentMonthAdjustment ?? null, isMoney: true, }, { key: `On-hire days in ${periodName}`, value: summary?.currentMonthHireDays ?? null, isMoney: false, operation: '/', }, ], result: { key: `Bunker Adjustment per day`, value: summary?.currentMonthPerDayAdjustment ?? null, isLarge: false, }, }) ); export const selectBAPreviousPeriodsPerDayCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, (summary, periodName) => ({ steps: [ { key: `Previous period adjustment`, value: summary?.previousMonthsAdjustment ?? null, isMoney: true, }, { key: `On-hire days in ${periodName}`, value: summary?.currentMonthHireDays ?? null, isMoney: false, operation: '/', }, ], result: { key: `Previous period adjustment per day`, value: summary?.previousMonthsPerDayAdjustment ?? null, isLarge: false, }, }) );