mirror of
https://github.com/supabase/supabase.git
synced 2026-05-12 13:19:37 +08:00
This PR migrates the whole monorepo to use Tailwind v4: - Removed `@tailwindcss/container-queries` plugin since it's included by default in v4, - Bump all instances of Tailwind to v4. Made minimal changes to the shared config to remove non-supported features (`alpha` mentions), - Migrate all apps to be compatible with v4 configs, - Fix the `typography.css` import in 3 apps, - Add missing rules which were included by default in v3, - Run `pnpm dlx @tailwindcss/upgrade` on all apps, which renames a lot of classes - Rename all misnamed classes according to https://tailwindcss.com/docs/upgrade-guide#renamed-utilities in all apps. --------- Co-authored-by: Jordi Enric <jordi.err@gmail.com>
40 lines
1.6 KiB
TypeScript
40 lines
1.6 KiB
TypeScript
import { IntegrationCard, IntegrationLoadingCard } from './IntegrationCard'
|
|
import { useInstalledIntegrations } from './useInstalledIntegrations'
|
|
import AlertError from '@/components/ui/AlertError'
|
|
|
|
export const InstalledIntegrations = () => {
|
|
const { installedIntegrations, error, isLoading, isSuccess, isError } = useInstalledIntegrations()
|
|
|
|
return (
|
|
<div className="px-4 md:px-10 py-6 flex flex-col gap-y-5">
|
|
<h2>Installed integrations</h2>
|
|
<div className="grid xl:grid-cols-3 2xl:grid-cols-4 gap-x-4 gap-y-3">
|
|
{isLoading &&
|
|
new Array(3)
|
|
.fill(0)
|
|
.map((_, idx) => <IntegrationLoadingCard key={`integration-loading-${idx}`} />)}
|
|
{isError && (
|
|
<AlertError
|
|
className="xl:col-span-3 2xl:col-span-4"
|
|
subject="Failed to retrieve installed integrations"
|
|
error={error}
|
|
/>
|
|
)}
|
|
{isSuccess && (
|
|
<>
|
|
{installedIntegrations.length === 0 ? (
|
|
<div className="xl:col-span-3 2xl:col-span-4 w-full h-[110px] border rounded-sm flex items-center justify-center">
|
|
{/* [Joshen] Not high priority imo - very low chance this state will be seen cause Vault is always installed */}
|
|
{/* Some placeholder image when no integrations are installed */}
|
|
<p className="text-sm text-foreground-light">No integrations installed yet</p>
|
|
</div>
|
|
) : (
|
|
installedIntegrations.map((i) => <IntegrationCard key={i.id} {...i} />)
|
|
)}
|
|
</>
|
|
)}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|