diff --git a/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/ItineraryModal.tsx b/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/ItineraryModal.tsx index 40f67b5916e..45c478382b1 100644 --- a/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/ItineraryModal.tsx +++ b/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/ItineraryModal.tsx @@ -126,15 +126,14 @@ const ItineraryModal = ({ commitSelectionForStep(stepId, formatChosenValue(suggestion, chosenCh)); resetOpSuggestions(); }; - - const isOnlyStep = pathSteps.filter((s) => !isEmptyStep(s, getInputForStep(s.id))).length <= 1; + const hasSingleStepWithTrailing = + pathSteps.length === 2 && isEmptyStep(pathSteps[1], getInputForStep(pathSteps[1].id)); const hasInvalidPathStep = pathSteps.some((step) => { if (isEmptyStep(step, getInputForStep(step.id))) return false; const meta = pathStepsMetadataById.get(step.id); return !meta || meta.isInvalid; }); - const handleDeletePathStep = (stepId: string) => { resetOpSuggestions(); @@ -482,7 +481,6 @@ const ItineraryModal = ({ (isInvalid || !!previousPathStepMetadata?.isInvalid) } onDelete={() => { - if (isOnlyStep) return; handleDeletePathStep(pathStep.id); }} onOpFocus={() => markEditing(pathStep.id)} @@ -522,7 +520,7 @@ const ItineraryModal = ({ resetOpSuggestions={resetOpSuggestions} connectorLong={hoveredGapIndex === i} isTrailingPlaceHolder={isTrailingPlaceholder} - isOnlyStep={isOnlyStep} + hasSingleStepWithTrailing={hasSingleStepWithTrailing} isInvalidAndIsEditing={isInvalid} /> diff --git a/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/PathStepItem.tsx b/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/PathStepItem.tsx index 2b1776fa6ec..636964bdd60 100644 --- a/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/PathStepItem.tsx +++ b/front/src/applications/operationalStudies/views/Scenario/components/ManageTimetableItem/Itinerary/PathStepItem.tsx @@ -50,7 +50,7 @@ type PathStepProps = { connectorLong: boolean; onDelete: () => void; isTrailingPlaceHolder: boolean; - isOnlyStep: boolean; + hasSingleStepWithTrailing: boolean; }; const PathStepItem = ({ @@ -73,7 +73,7 @@ const PathStepItem = ({ connectorLong, onDelete, isTrailingPlaceHolder, - isOnlyStep, + hasSingleStepWithTrailing, }: PathStepProps) => { const { t } = useTranslation('operational-studies', { keyPrefix: 'manageTimetableItem.itineraryModal', @@ -253,7 +253,7 @@ const PathStepItem = ({ type="button" className={cx('path-step-counter', { invalid: isInvalidAndIsEditing, - 'is-only-step': isOnlyStep, + 'has-single-step-with-trailing': hasSingleStepWithTrailing, 'is-trailing-placeholder': isTrailingPlaceHolder, index: isIndexed, 'pathfinding-line': !hidePathfindingLine, @@ -278,10 +278,11 @@ const PathStepItem = ({ }} > {!isTrailingPlaceHolder && index} - - - - + {!hasSingleStepWithTrailing && ( + + + + )}