Settings Form
rivelle/settings-01FreeBlock
An account settings form with profile and notification controls.
Install it
npx shadcn@latest add https://rivelle.dev/r/settings-01.jsonSource
1import * as React from "react";2import { Camera, Save } from "lucide-react";34import { Avatar, AvatarFallback } from "@/components/ui/avatar";5import { Button } from "@/components/ui/button";6import { Input } from "@/components/ui/input";7import { Label } from "@/components/ui/label";8import { Separator } from "@/components/ui/separator";9import { Switch } from "@/components/ui/switch";10import { Textarea } from "@/components/ui/textarea";11import { cn } from "@/lib/utils";1213function Settings01({ className, ...props }: React.ComponentProps<"section">) {14 return (15 <section16 className={cn(17 "rounded-[2rem] border border-foreground/10 bg-background p-6 sm:p-10",18 className,19 )}20 {...props}21 >22 <div className="mx-auto max-w-3xl">23 <div>24 <h1 className="text-3xl font-semibold tracking-[-.04em]">25 Account settings26 </h1>27 <p className="mt-2 text-sm text-muted-foreground">28 Manage your public profile and workspace preferences.29 </p>30 </div>31 <Separator className="my-8" />32 <form>33 <div className="grid gap-8 sm:grid-cols-[180px_1fr]">34 <div>35 <p className="text-sm font-semibold">Profile</p>36 <p className="mt-1 text-xs leading-relaxed text-muted-foreground">37 This information appears across your workspace.38 </p>39 </div>40 <div className="space-y-5">41 <div className="flex items-center gap-4">42 <Avatar className="size-16">43 <AvatarFallback className="text-base">MC</AvatarFallback>44 </Avatar>45 <Button size="sm" variant="outline">46 <Camera /> Change photo47 </Button>48 </div>49 <div className="grid gap-5 sm:grid-cols-2">50 <div className="space-y-2">51 <Label htmlFor="settings-name">Display name</Label>52 <Input defaultValue="Maya Chen" id="settings-name" />53 </div>54 <div className="space-y-2">55 <Label htmlFor="settings-role">Role</Label>56 <Input defaultValue="Product designer" id="settings-role" />57 </div>58 </div>59 <div className="space-y-2">60 <Label htmlFor="settings-email">Email</Label>61 <Input62 defaultValue="maya@rivelle.dev"63// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from rivelle
All 83 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Contact Formcontact-form-01 | rivelle | Blocks | Free | 1 dep | |
| Creative Portfoliocreative-portfolio-01 | rivelle | Blocks | Free | 1 dep | |
| Dashboard Shelldashboard-shell-01 | rivelle | Blocks | Free | 1 dep | |
| Empty Project Stateempty-project-01 | rivelle | Blocks | Free | 1 dep | |
| Feature Sectionfeature-section-01 | rivelle | Blocks | Free | 1 dep | |
| Site Footerfooter-01 | rivelle | Blocks | Free | 1 dep | |
| Herohero-01 | rivelle | Blocks | Free | 1 dep | |
| Loginlogin-01 | rivelle | Blocks | Free | 1 dep |
