"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) => (
))}
>
)
}