import type { ComponentType } from "react"; import type { Widget } from "@/lib/config/schema"; import { BookmarkWidget } from "./bookmark/Widget"; import { SearchWidget } from "./search/Widget"; import { DockerWidget } from "./docker/Widget"; import { DatabaseWidget } from "./database/Widget"; import { SystemWidget } from "./system/Widget"; import { HttpWidget } from "./http/Widget"; import { ServiceWidget } from "./service/Widget"; type WidgetComponent = ComponentType<{ widget: Extract; widgetId: string; }>; export const widgetRegistry: { [K in Widget["type"]]: WidgetComponent } = { bookmark: BookmarkWidget, search: SearchWidget, docker: DockerWidget, database: DatabaseWidget, system: SystemWidget, http: HttpWidget, service: ServiceWidget, };