import React from 'react';

interface SvgTextLogoProps {
  text: string;
  fontSize?: number;
  fontWeight?: number | string;
  fill?: string;
  className?: string;
}

const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
  text,
  fontSize = 24,
  fontWeight = 'bold',
  fill = 'currentColor',
  className = '',
}) => {
  const svgRef = React.useRef<SVGSVGElement>(null);
  const [dimensions, setDimensions] = React.useState({ width: 200, height: 60 });

  React.useEffect(() => {
    if (svgRef.current) {
      const bbox = svgRef.current.getBBox();
      setDimensions({
        width: bbox.width + 20,
        height: bbox.height + 20,
      });
    }
  }, [text]);

  return (
    <svg
      ref={svgRef}
      width={dimensions.width}
      height={dimensions.height}
      viewBox={`0 0 ${dimensions.width} ${dimensions.height}`}
      className={className}
      xmlns="http://www.w3.org/2000/svg"
    >
      <text
        x={dimensions.width / 2}
        y={dimensions.height / 2}
        fontSize={fontSize}
        fontWeight={fontWeight}
        fill={fill}
        textAnchor="middle"
        dominantBaseline="central"
      >
        {text}
      </text>
    </svg>
  );
};

export default SvgTextLogo;