"use client";

import React from "react";
import { createComponentDefinition } from "../../utils/createComponentDefinition";
import { ComponentCategory } from "@/types/component";
import type { WebType } from "@/types/screen";
import { ImageWidget } from "@/components/screen/widgets/types/ImageWidget";
import { ImageWidgetConfigPanel } from "./ImageWidgetConfigPanel";

/**
 * ImageWidget 컴포넌트 정의
 * image-widget 컴포넌트입니다
 */
export const ImageWidgetDefinition = createComponentDefinition({
  id: "image-widget",
  name: "이미지 위젯 (레거시)",
  nameEng: "Image Widget (Legacy)",
  description: "이미지 표시 및 업로드 (레거시)",
  category: ComponentCategory.INPUT,
  webType: "image",
  component: ImageWidget,
  defaultConfig: {
    type: "image-widget",
    webType: "image",
    maxSize: 5 * 1024 * 1024, // 5MB
    acceptedFormats: ["image/jpeg", "image/png", "image/gif", "image/webp"],
  },
  defaultSize: { width: 200, height: 200 },
  configPanel: ImageWidgetConfigPanel,
  icon: "Image",
  tags: ["image", "upload", "media", "picture", "photo"],
  version: "1.0.0",
  author: "개발팀",
  documentation: "https://docs.example.com/components/image-widget",
  hidden: true, // v2-file-upload 사용으로 패널에서 숨김
});

// 컴포넌트 내보내기
export { ImageWidget } from "@/components/screen/widgets/types/ImageWidget";
export { ImageWidgetRenderer } from "./ImageWidgetRenderer";

