import { createSelector } from 'reselect'; import { selectCalculationsSummary, selectCurrentPeriodName, } from 'app/modules/bunkerAdjustment/store/bunkerAdjustment.selectors'; export const selectBATotalScrubberCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, (summary, periodName) => ({ steps: [ { key: `Bonus for ${periodName}`, value: summary?.scrubber?.bonusCurrentMonth ?? null, isMoney: true, }, { key: `Previous period adjustment`, value: summary?.scrubber?.bonusPreviousMonth ?? null, isMoney: true, operation: '+', }, ], result: { key: `Total Scrubber Bonus for ${periodName}`, value: summary?.scrubber.bonusTotal ?? null, isLarge: true, }, }) ); export const selectBABasketsDifferenceCalculations = createSelector( selectCalculationsSummary, (summary) => ({ steps: [ { key: `Compliant Bunker Basket`, value: summary?.scrubber?.compliantBunkerBasket ?? null, isMoney: true, }, { key: `Scrubber Bunker Basket`, value: summary?.scrubber?.nonCompliantBunkerBasket ?? null, isMoney: true, operation: '-', }, ], result: { key: `Difference`, value: summary?.scrubber.bunkerBasketDifference ?? null, isLarge: false, }, }) ); export const selectBAScrubberConsumptionCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, (summary, periodName) => ({ steps: [ { key: `Total Consumption`, value: summary?.scrubber?.totalConsumption ?? null, isMoney: false, operation: 'x', }, ], result: { key: `Bonus for ${periodName}`, value: summary?.scrubber.bonusTotal ?? null, isLarge: false, }, }) ); export const selectBAScrubberBonusPerDayCalculations = createSelector( selectCalculationsSummary, selectCurrentPeriodName, (summary, periodName) => ({ steps: [ { key: `On-hire scrubber days in ${periodName}`, value: summary?.scrubber?.hireDays ?? null, isMoney: false, operation: '/', }, ], result: { key: `Vessel Scrubber Bonus per day`, value: summary?.scrubber.bonusPerDayTotal ?? null, isLarge: false, }, }) );