debian-image-builder-frontend/src/Components/CreateImageWizard/EditImageWizard.tsx
regexowl 4fb37c187e src: Rename "V2" folders to just Wizard
This replaces all occurences of "CreateImageWizardV2" with just "CreateImageWizard" as it is the only version now.
2024-07-17 11:17:06 +02:00

45 lines
1.2 KiB
TypeScript

import React, { useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import CreateImageWizard from './CreateImageWizard';
import { mapRequestToState } from './utilities/requestMapper';
import { useAppDispatch } from '../../store/hooks';
import { useGetBlueprintQuery } from '../../store/imageBuilderApi';
import { loadWizardState } from '../../store/wizardSlice';
import { resolveRelPath } from '../../Utilities/path';
type EditImageWizardProps = {
blueprintId: string;
};
const EditImageWizard = ({ blueprintId }: EditImageWizardProps) => {
const dispatch = useAppDispatch();
const navigate = useNavigate();
const {
data: blueprintDetails,
error,
isSuccess,
} = useGetBlueprintQuery({
id: blueprintId,
});
useEffect(() => {
if (blueprintId && blueprintDetails) {
const editBlueprintState = mapRequestToState(blueprintDetails);
dispatch(loadWizardState(editBlueprintState));
}
}, [blueprintId, blueprintDetails, dispatch]);
useEffect(() => {
// redirect to the main page if the composeId is invalid
if (error) {
navigate(resolveRelPath(''));
}
}, [error, navigate]);
return isSuccess ? <CreateImageWizard isEdit /> : undefined;
};
export default EditImageWizard;