Settings

Account, billing, notification, and profile settings pages.

Profile Settings

User profile edit form with avatar, display name, bio, and social links.

Preview

Profile

Manage your public profile information.

AJ

JPG, PNG or GIF. Max 2MB.

Your publicly visible name.

Lowercase letters, numbers, - and _ only.

Max 160 characters.

Profile Settings.tsx
import { ProfileSettings } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <ProfileSettings      onSave={async (values) => {        console.log(values);      }}    />  );}

Account Settings

Account preferences including email change, password update, and danger zone.

Preview

Account

Manage your account credentials and security.

Email address

Update the email address associated with your account.

We will send a verification link to the new address.

Password

Change your password to keep your account secure.

Minimum 8 characters.

Danger zone

Permanently delete your account and all associated data.

Account Settings.tsx
import { AccountSettings } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <AccountSettings      onEmailChange={async (values) => console.log(values)}      onPasswordChange={async (values) => console.log(values)}      onDeleteAccount={() => console.log("delete account")}    />  );}

Notification Preferences

Granular notification toggle controls grouped by category.

Preview

Notification preferences

Choose what you want to be notified about.

Email notifications

News about new features and improvements.

Sign-ins, password changes, and security alerts.

Special offers, deals, and newsletters.

A summary of your activity each week.

Push notifications

When someone mentions you in a comment.

Replies to your comments and posts.

Scheduled reminders and due-date alerts.

In-app notifications

Show a badge for all new notifications.

Notify when you receive a new direct message.

Maintenance windows and service updates.

Notification Preferences.tsx
import { NotificationPreferences } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <NotificationPreferences      onSave={async (values) => {        console.log(values);      }}    />  );}

Billing Page

Subscription plan comparison, usage meters, payment methods, and invoices.

Preview

Billing

Manage your subscription and payment details.

Pro plan

active

$29 per month

  • Unlimited projects
  • 10GB storage
  • Priority support
  • API access

Usage

Current billing period

Storage4.2 / 10 GB
API calls8400 / 10000 req/mo

Payment method

Visa ending in 4242 • Expires 12/2026

Invoice history

InvoiceDateAmountStatusAction
INV-001Mar 1, 2026$29.00
paid
INV-002Feb 1, 2026$29.00
paid
INV-003Jan 1, 2026$29.00
paid
Billing Page.tsx
import { BillingPage } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <BillingPage      currentPlan="pro"      onUpgrade={(plan) => console.log("upgrade to", plan)}      onManagePayment={() => console.log("manage payment")}    />  );}

Account Overview

Account summary card with user info, plan status, and quick actions.

Preview

No preview available

See the code snippet below for usage.

Account Overview.tsx
import { AccountOverview } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <AccountOverview      user={{ name: "Alice Johnson", email: "alice@example.com", fallbackInitials: "AJ" }}      plan={{ name: "Pro", status: "active", renewsAt: "2025-01-01" }}      onEditProfile={() => console.log("edit")}      onManageBilling={() => console.log("billing")}    />  );}

Appearance Settings

Theme, color scheme, font, and density preferences panel.

Preview

No preview available

See the code snippet below for usage.

Appearance Settings.tsx
import { AppearanceSettings } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <AppearanceSettings      onSave={(appearance) => console.log("save appearance", appearance)}    />  );}

Billing Overview

Current plan summary with renewal date, usage stats, and upgrade CTA.

Preview

No preview available

See the code snippet below for usage.

Billing Overview.tsx
import { BillingOverview } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <BillingOverview      plan={{ name: "Pro", status: "active", price: "$29/mo", renewsAt: "2025-03-01" }}      onUpgrade={() => console.log("upgrade")}      onManage={() => console.log("manage")}    />  );}

Connected Accounts

Manage OAuth provider connections — connect, disconnect, and view scopes.

Preview

No preview available

See the code snippet below for usage.

Connected Accounts.tsx
import { ConnectedAccounts } from "@launchapp/design-system/blocks/settings";const accounts = [  { id: "github", provider: "github", name: "GitHub", username: "alice-dev", connected: true, scopes: ["repo", "user"] },  { id: "google", provider: "google", name: "Google", connected: false },];export default function Page() {  return (    <ConnectedAccounts      accounts={accounts}      onConnect={(provider) => console.log("connect", provider)}      onDisconnect={(id) => console.log("disconnect", id)}    />  );}

Data Export Card

Card for requesting a full account data export in various formats.

Preview

No preview available

See the code snippet below for usage.

Data Export Card.tsx
import { DataExportCard } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <DataExportCard      onExport={(format) => console.log("export", format)}      lastExportDate="2024-01-01"    />  );}

Language Settings

Language, locale, and timezone preferences settings panel.

Preview

No preview available

See the code snippet below for usage.

Language Settings.tsx
import { LanguageSettings } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <LanguageSettings      onSave={(settings) => console.log("save", settings)}    />  );}

Notification Settings Card

Card with grouped notification channel toggles for email, push, and in-app.

Preview

No preview available

See the code snippet below for usage.

Notification Settings Card.tsx
import { NotificationSettingsCard } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <NotificationSettingsCard      onSave={(settings) => console.log("save", settings)}    />  );}

Privacy Settings

Privacy toggles for data sharing, analytics, and personalization.

Preview

No preview available

See the code snippet below for usage.

Privacy Settings.tsx
import { PrivacySettings } from "@launchapp/design-system/blocks/settings";const toggles = [  { id: "analytics", label: "Usage Analytics", description: "Share usage data to improve the product.", enabled: true },  { id: "marketing", label: "Marketing Emails", description: "Receive product updates and offers.", enabled: false },];export default function Page() {  return (    <PrivacySettings      toggles={toggles}      onToggle={(id, value) => console.log(id, value)}    />  );}

Privacy Settings Layout

Full privacy settings page with consent history, data export, and account deletion.

Preview

No preview available

See the code snippet below for usage.

Privacy Settings Layout.tsx
import { PrivacySettingsLayout } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <PrivacySettingsLayout      onExportData={() => console.log("export")}      onDeleteAccount={() => console.log("delete account")}    />  );}

Security Settings

Password change, two-factor authentication, and session management.

Preview

No preview available

See the code snippet below for usage.

Security Settings.tsx
import { SecuritySettings } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <SecuritySettings      hasTwoFactor={false}      onChangePassword={async (current, next) => console.log("change password")}      onEnableTwoFactor={() => console.log("enable 2fa")}      onRevokeSession={(id) => console.log("revoke session", id)}    />  );}

Settings Layout Block

Two-column settings page layout with navigation sidebar and content area.

Preview

No preview available

See the code snippet below for usage.

Settings Layout Block.tsx
import { SettingsLayoutBlock } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <SettingsLayoutBlock      activeSection="profile"      onSectionChange={(id) => console.log("section", id)}    >      <div>Settings content for active section</div>    </SettingsLayoutBlock>  );}

Tabbed Settings

Settings page with horizontal tab navigation for different setting groups.

Preview

No preview available

See the code snippet below for usage.

Tabbed Settings.tsx
import { TabbedSettings } from "@launchapp/design-system/blocks/settings";const tabs = [  { id: "profile", label: "Profile", content: <div>Profile settings</div> },  { id: "account", label: "Account", content: <div>Account settings</div> },  { id: "notifications", label: "Notifications", content: <div>Notification settings</div> },];export default function Page() {  return <TabbedSettings tabs={tabs} />;}

Team Settings

Team management settings with member list, roles, and invite controls.

Preview

No preview available

See the code snippet below for usage.

Team Settings.tsx
import { TeamSettings } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <TeamSettings      onInvite={(email, role) => console.log("invite", email, role)}      onRemoveMember={(id) => console.log("remove", id)}      onChangeRole={(id, role) => console.log("change role", id, role)}    />  );}

Account Deletion Card

Danger zone card for permanently deleting an account with confirmation.

Preview

No preview available

See the code snippet below for usage.

Account Deletion Card.tsx
import { AccountDeletionCard } from "@launchapp/design-system/blocks/settings";export default function Page() {  return (    <AccountDeletionCard      onDelete={async (confirmation) => console.log("delete account", confirmation)}    />  );}