"use client"; import { useTranslation } from "../../../contexts/MessagesContext"; import Button from "../../buttons/Button"; import Stepper from "../../progress/Stepper"; import type { ModalFooterProps } from "./ModalFooter.types"; export function ModalFooterView({ showBackButton = false, showNextButton = false, onBack, onNext, backButtonText, nextButtonText, nextButtonDisabled = false, currentStep, totalSteps, stepper: stepperProp, footerContent, className = "", }: ModalFooterProps) { const t = useTranslation("common"); // Use localized defaults if text not provided const defaultBackText = backButtonText || t("buttons.back"); const defaultNextText = nextButtonText || t("buttons.next"); // Determine if stepper should be shown // Defaults to true if currentStep and totalSteps are provided, unless explicitly set to false const shouldShowStepper = stepperProp !== undefined ? stepperProp : currentStep !== undefined && totalSteps !== undefined; return (
{/* Back Button - Absolutely positioned bottom left */} {showBackButton && (
)} {/* Stepper (Centered) */} {shouldShowStepper && currentStep && totalSteps && (
)} {/* Next Button - Absolutely positioned bottom right */} {showNextButton && (
)} {/* Custom Footer Content */} {footerContent}
); }