export interface LastOpened {
    [key: string]: string;
}

export type LastOpenedAction =
    | { type: undefined }
    | {
          type: "LAST_OPENED_SET";
          parent: string;
          child: string;
      }
    | {
          type: "RESET";
      };

export function lastOpened(
    state = {} as LastOpened,
    action: LastOpenedAction,
): LastOpened {
    switch (action.type) {
        case "LAST_OPENED_SET": {
            return {
                ...state,
                [action.parent]: action.child,
            };
        }
        case "RESET":
            return {};
        default:
            return state;
    }
}