MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / renderEntry

Function renderEntry

packages/react/src/pages/integrations.tsx:562–598  ·  view source on GitHub ↗
(integration: Integration)

Source from the content-addressed store, hash-verified

560 const items = useMemo(() => groupIntegrations(props.integrations), [props.integrations]);
561
562 const renderEntry = (integration: Integration) => {
563 const pluginKey = KIND_TO_PLUGIN_KEY[integration.kind] ?? integration.kind;
564 const plugin = pluginByKind.get(pluginKey);
565 const SummaryComponent = plugin?.summary;
566 const slug = String(integration.slug);
567 const name = integration.name || slug;
568 return (
569 <CardStackEntry key={slug} asChild searchText={`${name} ${slug} ${integration.kind}`}>
570 <Link
571 to="/{-$orgSlug}/integrations/$namespace"
572 params={{ namespace: slug }}
573 data-testid={`integration-entry-${slug}`}
574 >
575 <IntegrationIconWithAccount
576 icon={integrationPresetIconUrl(
577 { id: slug, kind: integration.kind, name, url: integration.displayUrl },
578 integrationPlugins,
579 )}
580 integrationId={slug}
581 url={integration.displayUrl ?? integrationInferredUrl({ id: slug, name }) ?? undefined}
582 />
583 <CardStackEntryContent>
584 <CardStackEntryTitle>{name}</CardStackEntryTitle>
585 <CardStackEntryDescription>{slug}</CardStackEntryDescription>
586 </CardStackEntryContent>
587 <CardStackEntryActions>
588 {SummaryComponent && (
589 <Suspense fallback={null}>
590 <SummaryComponent integrationId={slug} />
591 </Suspense>
592 )}
593 <IntegrationHealthSummary integration={integration.slug} />
594 </CardStackEntryActions>
595 </Link>
596 </CardStackEntry>
597 );
598 };
599
600 const rendered: ReactNode[] = [];
601 let flatRun: Integration[] = [];

Callers

nothing calls this directly

Calls 3

integrationPresetIconUrlFunction · 0.90
integrationInferredUrlFunction · 0.90
getMethod · 0.65

Tested by

no test coverage detected