"use client"; import React from "react"; import Image from "next/image"; import { Link } from "@/i18n/routing"; import { useTranslations } from "next-intl"; import { RegistrationLayoutProps, RegistrationStep } from "@/types/registration"; export const RegistrationLayout: React.FC = ({ children, currentStep, totalSteps, className, }) => { const t = useTranslations("LandingPage"); const getStepNumber = (step: RegistrationStep): number => { switch (step) { case "identity": return 1; case "otp": return 2; case "profile": return 3; default: return 1; } }; const currentStepNumber = getStepNumber(currentStep); return (
{/* Left Side - Background */}
MediaHub Logo
Background Vector
{/* Right Side - Form */}
{/* Step Indicator */}
    {Array.from({ length: totalSteps }, (_, index) => { const stepNumber = index + 1; const isActive = stepNumber === currentStepNumber; const isCompleted = stepNumber < currentStepNumber; return (
  • {stepNumber}
  • {stepNumber < totalSteps && (
    )} ); })}
{/* Step Title */}

{currentStep === "identity" && t("registerFirst", { defaultValue: "Registration" })} {currentStep === "otp" && t("enterOTP", { defaultValue: "Enter OTP" })} {currentStep === "profile" && t("userData", { defaultValue: "User Data" })}

{t("alreadyHave", { defaultValue: "Already have an account?" })}{" "} {t("logIn", { defaultValue: "Log In" })}

{/* Form Content */}
{children}
); };