IntegrationInstallation() — supabase Function Reference
Architecture documentation for the IntegrationInstallation() function in IntegrationPanels.tsx from the supabase codebase.
Entity Profile
Relationship Graph
Source Code
apps/studio/components/interfaces/Integrations/VercelGithub/IntegrationPanels.tsx lines 76–136
({ integration, disabled, ...props }, ref) => {
const IntegrationIconBlock = () => {
return (
<div className="bg-black text-white w-8 h-8 rounded flex items-center justify-center">
<HandleIcon type={integration.integration.name} />
</div>
)
}
return (
<li
ref={ref}
key={integration.id}
className="bg-surface-100 border shadow-sm flex justify-between items-center px-8 py-4 rounded-lg"
{...props}
>
<div className="flex gap-6 items-center">
<div className="flex gap-3 items-center">
<div className="flex -space-x-1">
<IntegrationIconBlock />
<Avatar src={integration?.metadata?.account.avatar} />
</div>
</div>
<div className="flex flex-col gap-0">
<div className="flex items-center gap-2">
<span className="text-foreground text-sm font-medium">
{integration.metadata?.account.name ||
(integration.metadata !== undefined &&
'gitHubConnectionOwner' in integration.metadata &&
integration.metadata?.gitHubConnectionOwner)}
</span>
<Badge>{integration.metadata?.account.type}</Badge>
</div>
<div className="flex flex-col gap-0">
<span className="text-foreground-lighter text-xs">
Created {dayjs(integration.inserted_at).fromNow()}
</span>
<span className="text-foreground-lighter text-xs">
Added by {integration?.added_by?.primary_email}
</span>
</div>
</div>
</div>
<Button asChild disabled={disabled} type="default" iconRight={<ExternalLink />}>
{disabled ? (
<p>Manage</p>
) : (
<Link
href={getIntegrationConfigurationUrl(integration)}
target="_blank"
rel="noopener noreferrer"
>
Manage
</Link>
)}
</Button>
</li>
)
}
Domain
Subdomains
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free