Clerk Blocks

organization-form-1

An editable organization form.

Recommend size 1:1, up to 8MB

Installation

npx shadcn@latest add https://shadcn-ui-clerk-blocks.vercel.app/r/organization-form-1.json

Usage

Basic

import OrganizationForm1 from "@/components/organization-form-1";
<OrganizationForm1 />

With Manual Fetching

Server

page.tsx
import OrganizationForm1 from "@/components/organization-form-1";
import { formatOrganization } from "@/registry/lib/format-organization";
import { auth, clerkClient } from "@clerk/nextjs/server";

export default async function Page() {
  const { isAuthenticated, orgId } = await auth();

  const client = await clerkClient();

  if (!isAuthenticated || !orgId) return;

  const organization = await client.organizations.getOrganization({
    organizationId: orgId,
  });

  return <OrganizationForm1 organization={formatOrganization(organization)} />;
}

Client

page.tsx
"use client";

import OrganizationForm1 from "@/components/organization-form-1";
import { useOrganization } from "@clerk/nextjs";

import { Spinner } from "@/components/ui/spinner";

export default function Page() {
  const { organization, isLoaded } = useOrganization();

  if (!isLoaded) {
    return <Spinner />;
  }

  if (!organization) return;

  return <OrganizationForm1 organization={organization} />;
}

Props

Prop

Type