import React, { useMemo } from 'react' import DynamicRenderer from './DynamicRenderer' import { useComponents } from '@/contexts/ComponentContext' import { parseComponentDependencies } from '@/contexts/componentRuntime' import { Loading } from '../shared' import { useLocalization } from '@/utils/hooks/useLocalization' export interface ComponentPreviewProps { componentName?: string className?: string } const ComponentPreview: React.FC = ({ componentName, className = '' }) => { const { translate } = useLocalization() const { components, loading } = useComponents() // Referans olarak sabit tutulmalı: DynamicRenderer bunu effect bağımlılığı olarak kullanıyor. const dependencies = useMemo(() => { const component = components?.find((item) => item.name === componentName && item.isActive) return parseComponentDependencies(component?.dependencies) }, [components, componentName]) if (!componentName) { return (
{translate('::App.DeveloperKit.ComponentPreview.NoComponentName')}
) } if (loading || !Array.isArray(components)) { return (
) } return (
) } export default ComponentPreview