import { fmgPageValues } from "@/router/router-constants/fmgPage-values"; import { navigationScenarios } from "@/router/router-constants/navigation-scenarios"; // Get store from router/index.js instead of importing it here to get updated values const routingTable = function(store) { return [ { fmgPageValue: fmgPageValues.VEHICLE_YEAR, maps: [ { scenario: navigationScenarios.SELECTED_YEAR, destinationFmgPageValue: fmgPageValues.VEHICLE_MAKE, }, ], }, { fmgPageValue: fmgPageValues.VEHICLE_MAKE, maps: [ { scenario: navigationScenarios.SELECTED_MAKE, destinationFmgPageValue: fmgPageValues.VEHICLE_MODEL, }, { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VEHICLE_YEAR, }, ], }, { fmgPageValue: fmgPageValues.VEHICLE_MODEL, maps: [ { scenario: navigationScenarios.SELECTED_MODEL, destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE, }, { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VEHICLE_MAKE, }, ], }, { fmgPageValue: fmgPageValues.VEHICLE_STYLE, maps: [ { scenario: navigationScenarios.SELECTED_STYLE, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VEHICLE_MODEL, }, ], }, { fmgPageValue: fmgPageValues.VEHICLE_DAMAGE, maps: [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE, }, { scenario: navigationScenarios.CLICKED_FORWARD_WITH_VIN, destinationFmgPageValue: fmgPageValues.VIN_LOOKUP, }, { scenario: navigationScenarios.CLICKED_FORWARD_WITHOUT_VIN, destinationFmgPageValue: fmgPageValues.ESTIMATE, }, ], }, { fmgPageValue: fmgPageValues.REVEAL, maps: [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, ], }, { fmgPageValue: fmgPageValues.VIN_LOOKUP, maps: [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.ESTIMATE, }, { scenario: navigationScenarios.SELECTED_VIN_HAS_MISMATCHED_GLASS, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, { scenario: navigationScenarios.CLICKED_BACK_WITH_VIN, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, { scenario: navigationScenarios.HAS_PART_QUESTIONS, destinationFmgPageValue: fmgPageValues.PART_QUESTIONS }, { scenario: navigationScenarios.HAS_MULTIPLE_PARTS_TO_CHOOSE, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, { scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS }, { scenario: navigationScenarios.HAS_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS } ], }, { fmgPageValue: fmgPageValues.LICENSE_PLATE_LOOKUP, maps: [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.ESTIMATE, }, { scenario: navigationScenarios.CLICKED_FORWARD, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, { scenario: navigationScenarios.HAS_PART_QUESTIONS, destinationFmgPageValue: fmgPageValues.PART_QUESTIONS }, { scenario: navigationScenarios.HAS_MULTIPLE_PARTS_TO_CHOOSE, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, { scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS }, { scenario: navigationScenarios.HAS_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS } ], }, { fmgPageValue: fmgPageValues.ADDRESS_LOOKUP, maps: [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.ESTIMATE, }, { scenario: navigationScenarios.CONTINUING_WITH_MULTIPLE_VEHICLES, destinationFmgPageValue: fmgPageValues.ADDRESS_VEHICLES, }, { scenario: navigationScenarios.SELECTED_VIN_HAS_MISMATCHED_GLASS, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, { scenario: navigationScenarios.HAS_PART_QUESTIONS, destinationFmgPageValue: fmgPageValues.PART_QUESTIONS }, { scenario: navigationScenarios.HAS_MULTIPLE_PARTS_TO_CHOOSE, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, { scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS }, { scenario: navigationScenarios.HAS_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS } ], }, { fmgPageValue: fmgPageValues.ADDRESS_VEHICLES, maps: [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.ADDRESS_LOOKUP, }, { scenario: navigationScenarios.CLICKED_FORWARD, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, { scenario: navigationScenarios.HAS_PART_QUESTIONS, destinationFmgPageValue: fmgPageValues.PART_QUESTIONS }, { scenario: navigationScenarios.HAS_MULTIPLE_PARTS_TO_CHOOSE, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, { scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS }, { scenario: navigationScenarios.HAS_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS }, ], }, { fmgPageValue: fmgPageValues.ESTIMATE, maps: [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, }, { scenario: navigationScenarios.SELECTED_MANUAL_VIN, destinationFmgPageValue: fmgPageValues.VIN_LOOKUP, }, { scenario: navigationScenarios.SELECTED_LICENSE_PLATE, destinationFmgPageValue: fmgPageValues.LICENSE_PLATE_LOOKUP, }, { scenario: navigationScenarios.SELECTED_HOME_ADDRESS, destinationFmgPageValue: fmgPageValues.ADDRESS_LOOKUP, }, ], }, { fmgPageValue: fmgPageValues.PART_QUESTIONS, maps: [ { scenario: navigationScenarios.CLICKED_BACK_WITH_NO_QUESTIONS, destinationFmgPageValue: fmgPageValues.VIN_LOOKUP }, { scenario: navigationScenarios.HAS_MULTIPLE_PARTS_TO_CHOOSE, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, { scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS, }, { scenario: navigationScenarios.HAS_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS, }, { scenario: navigationScenarios.HAS_NO_MORE_QUESTIONS, destinationFmgPageValue: fmgPageValues.QUOTE, }, ] }, { fmgPageValue: fmgPageValues.VEHICLE_PARTS, maps: [ { scenario: navigationScenarios.CLICKED_FORWARD, destinationFmgPageValue: fmgPageValues.REVEAL, }, { scenario: navigationScenarios.CLICKED_BACK_WITH_PART_QUESTIONS, destinationFmgPageValue: fmgPageValues.PART_QUESTIONS, }, { scenario: navigationScenarios.CLICKED_BACK_WITH_NO_QUESTIONS, destinationFmgPageValue: fmgPageValues.VIN_LOOKUP, }, { scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS, }, { scenario: navigationScenarios.HAS_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS, }, { scenario: navigationScenarios.HAS_NO_MORE_QUESTIONS, destinationFmgPageValue: fmgPageValues.QUOTE, }, ], }, { fmgPageValue: fmgPageValues.MOLDING_QUESTIONS, maps: [ { scenario: navigationScenarios.CLICKED_BACK_WITH_NO_QUESTIONS, destinationFmgPageValue: fmgPageValues.VIN_LOOKUP }, { scenario: navigationScenarios.CLICKED_BACK_WITH_PART_QUESTIONS, destinationFmgPageValue: fmgPageValues.PART_QUESTIONS }, { scenario: navigationScenarios.CLICKED_BACK_WITH_MULTIPLE_PARTS_TO_CHOOSE, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, { scenario: navigationScenarios.HAS_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS, }, { scenario: navigationScenarios.HAS_NO_MORE_QUESTIONS, destinationFmgPageValue: fmgPageValues.QUOTE, } ] }, { fmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS, maps: [ { scenario: navigationScenarios.CLICKED_BACK_WITH_NO_QUESTIONS, destinationFmgPageValue: fmgPageValues.VIN_LOOKUP }, { scenario: navigationScenarios.CLICKED_BACK_WITH_PART_QUESTIONS, destinationFmgPageValue: fmgPageValues.PART_QUESTIONS }, { scenario: navigationScenarios.CLICKED_BACK_WITH_MULTIPLE_PARTS_TO_CHOOSE, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, { scenario: navigationScenarios.CLICKED_BACK_WITH_MOLDING_QUESTIONS, destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS }, { scenario: navigationScenarios.HAS_NO_MORE_QUESTIONS, destinationFmgPageValue: fmgPageValues.QUOTE }, ] }, ]; } export { routingTable };