import { Base64Encoder } from "@/components/tools/Base64Encoder";
import { BmiCalculator } from "@/components/tools/BmiCalculator";
import { CaseConverter } from "@/components/tools/CaseConverter";
import { FaviconTester } from "@/components/tools/FaviconTester";
import { JsonFormatter } from "@/components/tools/JsonFormatter";
import { KotschClassicTool } from "@/components/tools/KotschClassicTool";
import { KotschQuickTool } from "@/components/tools/KotschQuickTool";
import { PasswordGenerator } from "@/components/tools/PasswordGenerator";
import { PercentCalculator } from "@/components/tools/PercentCalculator";
import { QrCodeGenerator } from "@/components/tools/QrCodeGenerator";
import { RandomNumberGenerator } from "@/components/tools/RandomNumberGenerator";
import { TimestampConverter } from "@/components/tools/TimestampConverter";
import { UnitConverter } from "@/components/tools/UnitConverter";
import { UuidGenerator } from "@/components/tools/UuidGenerator";
import { WordCounter } from "@/components/tools/WordCounter";
import type { Tool } from "@/tools/registry";

export function ToolRenderer({ tool }: { tool: Tool }) {
  if (tool.component === "qr-code-generator") return <QrCodeGenerator />;
  if (tool.component === "password-generator") return <PasswordGenerator />;
  if (tool.component === "percent-calculator") return <PercentCalculator />;
  if (tool.component === "word-counter") return <WordCounter />;
  if (tool.component === "case-converter") return <CaseConverter />;
  if (tool.component === "base64-encoder") return <Base64Encoder />;
  if (tool.component === "timestamp-converter") return <TimestampConverter />;
  if (tool.component === "bmi-calculator") return <BmiCalculator />;
  if (tool.component === "uuid-generator") return <UuidGenerator />;
  if (tool.component === "random-number-generator") return <RandomNumberGenerator />;
  if (tool.component === "json-formatter") return <JsonFormatter />;
  if (tool.component === "favicon-tester") return <FaviconTester />;
  if (tool.component === "unit-converter") return <UnitConverter />;
  if (tool.component === "kotsch-quick-tool") return <KotschQuickTool tool={tool} />;
  if (tool.component === "kotsch-classic-tool") return <KotschClassicTool tool={tool} />;

  return null;
}
