Clerk Blocks

profile-form-1

An editable user profile form.

Recommend size 1:1, up to 8MB

Installation

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

Usage

Basic

import ProfileForm1 from "@/components/profile-form-1";
<ProfileForm1 />

With Manual Fetching

Server

page.tsx
import ProfileForm1 from "@/components/profile-form-1";
import { formatUser } from "@/lib/format-user";
import { currentUser } from "@clerk/nextjs/server";

export default async function Page() {
  const user = await currentUser();

  if (!user) return;

  return <ProfileForm1 user={formatUser(user)} />;
}

Client

page.tsx
"use client";

import ProfileForm1 from "@/components/profile-form-1";
import { useUser } from "@clerk/nextjs";

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

export default function Page() {
  const { user, isLoaded } = useUser();

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

  if (!user) return;

  return <ProfileForm1 user={user} />;
}

Props

Prop

Type