"use client" import { PropsWithChildren, useEffect } from "react" import { login } from "@/constants/routes/handleAuth" import Link from "@/components/TempDesignSystem/Link" import { LinkProps } from "@/components/TempDesignSystem/Link/link" import useLang from "@/hooks/useLang" import { useLazyPathname } from "@/hooks/useLazyPathname" import { trackLoginClick } from "@/utils/tracking" import { TrackingPosition } from "@/types/components/tracking" export default function LoginButton({ className, position, trackingId, children, color = "black", variant = "navigation", }: PropsWithChildren<{ className: string trackingId: string position: TrackingPosition color?: LinkProps["color"] variant?: "navigation" | "signupVerification" }>) { const lang = useLang() const pathName = useLazyPathname({ includeSearchParams: true }) const href = pathName ? `${login[lang]}?redirectTo=${encodeURIComponent(pathName)}` : login[lang] useEffect(() => { document .getElementById(trackingId) ?.addEventListener("click", () => trackLoginClick(position)) return () => { document .getElementById(trackingId) ?.removeEventListener("click", () => trackLoginClick(position)) } }, [position, trackingId]) return ( {children} ) }