Files
cosscom__coss/apps/origin/components/component-loader-server.tsx
pasqualevitiello f9c0ecccbb coss.com - day 0
2025-10-10 16:54:13 +02:00

27 lines
667 B
TypeScript

import { ComponentType } from "react"
import type { RegistryItem } from "shadcn/registry"
interface ComponentLoaderProps {
component: RegistryItem
}
export default async function ComponentLoader<TProps extends object>({
component,
...props
}: ComponentLoaderProps & TProps) {
if (!component?.name) {
return null
}
try {
const Component = (
await import(`@/registry/default/components/${component.name}`)
).default as ComponentType<TProps>
return <Component {...(props as TProps)} currentPage={1} totalPages={10} />
} catch (error) {
console.error(`Failed to load component ${component.name}:`, error)
return null
}
}