Redux Road Negative values

Hi, I have completed the small Redux Road Project but I have a problem with regards to stopping the game from entering into negative values.

I think I have placed the condition if block for travel as follows below.

case 'travel': {
      if (state.supplies < 0) {
        return state;
      }
      return {
        ...state,
        supplies: state.supplies - 20 * action.payload,
        distance: state.distance + 10 * action.payload,
        days: state.days + action.payload
      }
    }

I dont know where I am wrong where should I have putted the if statement? Inline with supplies: ?
like this: supplies: (state.supplies - 20 * action.payload) > 0 ? state.supplies : state,
tried but no results

the whole redux road program:

const initialWagonState = {
  supplies: 100,
  distance: 0,
  days: 0
}

const gameReducer = (state = initialWagonState, action) => {
  switch (action.type) {
    case 'gather': {
      return {
        ...state,
        supplies: state.supplies + 15,
        distance: state.distance,
        days: state.days + 1
      }
    }
    case 'travel': {
      if (state.supplies < 0) {
        return state;
      }
      return {
        ...state,
        supplies: state.supplies - 20 * action.payload,
        distance: state.distance + 10 * action.payload,
        days: state.days + action.payload
      }
    }
    case 'tippedWagon': {
      return {
        ...state,
        supplies: state.supplies - 30,
        distance: state.distance,
        days: state.days + 1
      }
    }
    default: {
      return state;
    }
  }
}

let wagon = gameReducer(undefined, {});
console.log(wagon);

let action = { type: 'travel', payload: 1 };
wagon = gameReducer(wagon, action);
console.log(wagon);

action = { type: 'gather', payload: 0 };
wagon = gameReducer(wagon, action);
console.log(wagon);

action = { type: 'tippedWagon', payload: null };
wagon = gameReducer(wagon, action);
console.log(wagon);

action = { type: 'travel', payload: 3 };
wagon = gameReducer(wagon, action);
console.log(wagon);

action = { type: 'travel', payload: 1 };
wagon = gameReducer(wagon, action);
console.log(wagon);

And here is my output it goes into negative values:

{ supplies: 100, distance: 0, days: 0 }
{ supplies: 80, distance: 10, days: 1 }
{ supplies: 95, distance: 10, days: 2 }
{ supplies: 65, distance: 10, days: 3 }
{ supplies: 5, distance: 40, days: 6 }
{ supplies: -15, distance: 50, days: 7 }

I fixed it by putting the whole calculation of state.supplies in the initial first if statement but I had to repeat the calculation into the supplies: obj is there a cleaner way to do it than having to repeat the code?

 case 'travel': {
      if (state.supplies - 20 * action.payload < 0) { /// this text i repeat it below
        return state;
      }
      return {
        ...state,
        supplies: state.supplies - 20 * action.payload, /// repeated it here is there a quicker way to do it that makes me not repeat code the DRY
        distance: state.distance + 10 * action.payload,
        days: state.days + action.payload,
        cash: state.cash
      }
    }