"use client" import type { Organization } from "better-auth/plugins/organization" import { useContext, useMemo, useState } from "react" import { useCurrentOrganization } from "../../hooks/use-current-organization" import { AuthUIContext } from "../../lib/auth-ui-provider" import type { SettingsCardProps } from "../settings/shared/settings-card" import { SettingsCard } from "../settings/shared/settings-card" import { DeleteOrganizationDialog } from "./delete-organization-dialog" export function DeleteOrganizationCard({ className, classNames, localization: localizationProp, slug, ...props }: SettingsCardProps & { slug?: string }) { const { localization: contextLocalization } = useContext(AuthUIContext) const localization = useMemo( () => ({ ...contextLocalization, ...localizationProp }), [contextLocalization, localizationProp] ) const { data: organization } = useCurrentOrganization({ slug }) if (!organization) return ( ) return ( ) } function DeleteOrganizationForm({ className, classNames, localization: localizationProp, organization }: SettingsCardProps & { organization: Organization }) { const { localization: contextLocalization, hooks: { useHasPermission } } = useContext(AuthUIContext) const localization = useMemo( () => ({ ...contextLocalization, ...localizationProp }), [contextLocalization, localizationProp] ) const { data: hasPermission, isPending } = useHasPermission({ organizationId: organization.id, permissions: { organization: ["delete"] } }) const [showDialog, setShowDialog] = useState(false) if (!hasPermission?.success) return null return ( <> setShowDialog(true)} /> ) }