"use client" import { useContext, useMemo, useState } from "react" import { useIsHydrated } from "../../hooks/use-hydrated" import { AuthUIContext } from "../../lib/auth-ui-provider" import { cn } from "../../lib/utils" import type { SettingsCardProps } from "../settings/shared/settings-card" import { SettingsCard } from "../settings/shared/settings-card" import { SettingsCellSkeleton } from "../settings/skeletons/settings-cell-skeleton" import { CardContent } from "../ui/card" import { CreateOrganizationDialog } from "./create-organization-dialog" import { OrganizationCell } from "./organization-cell" export function OrganizationsCard({ className, classNames, localization, ...props }: SettingsCardProps) { const { hooks: { useListOrganizations }, localization: contextLocalization } = useContext(AuthUIContext) localization = useMemo( () => ({ ...contextLocalization, ...localization }), [contextLocalization, localization] ) const isHydrated = useIsHydrated() const { data: organizations, isPending: organizationsPending } = useListOrganizations() const isPending = !isHydrated || organizationsPending const [createDialogOpen, setCreateDialogOpen] = useState(false) return ( <> setCreateDialogOpen(true)} isPending={isPending} {...props} > {isPending && } {organizations?.map((organization) => ( ))} ) }