type determineQuickWinsProps = {
	priceIncrease: number;
	volumeIncrease: number;
	cogsCashFlow: number;
	overheadCashFlow: number;
	debtorsDayCashFlow: number;
	reductionInWip: number;
	increaseCreditorsDays: number;
	increaseDeferredRevenueDays: number;
};

const determineQuickWins = (financials: determineQuickWinsProps): string[] => {
	const entries: [keyof determineQuickWinsProps, number][] = [
		['priceIncrease', financials.priceIncrease],
		['volumeIncrease', financials.volumeIncrease],
		['cogsCashFlow', financials.cogsCashFlow],
		['overheadCashFlow', financials.overheadCashFlow],
		['debtorsDayCashFlow', financials.debtorsDayCashFlow],
		['reductionInWip', financials.reductionInWip],
		['increaseCreditorsDays', financials.increaseCreditorsDays],
		['increaseDeferredRevenueDays', financials.increaseDeferredRevenueDays]
	];

	const sortedEntries = entries.sort((a, b) => b[1] - a[1]);
	const topThreeNames = sortedEntries.slice(0, 3).map((entry) => entry[0]);

	return topThreeNames;
};

export default determineQuickWins;
