Skip to content

Account Settings

Profile, team, API keys and danger zone in one screen — with the destructive panel last, well away from the everyday controls.

5 blocks39 lineslucide-reactAdded 8 Aug 2026

What's included

  • app/settings-account-page.tsx
  • 5 blocks it is built from, installed with it
  • Needs lucide-react

Works with

  • React
  • Next.js
  • Tailwind CSS
  • TypeScript

npx hoverlab add settings-account-page

Or over MCP, from your editor's agent — no account needed.

License

Free to read, copy and install, for personal and non-commercial projects. Shipping it in client work or a paid product needs Pro ($79 once). The source lands in your repo and stops being ours — no attribution, nothing to upgrade.

Was this useful?

Preview

Settings

Manage your account, your workspace and how you sign in.

Profile

This is how you appear to everyone else in the workspace.

JPG, PNG or GIF. 2 MB maximum.

Changing this sends a confirmation link to the new address.

58/160

Members

4 of 10 seats used

  • Ada Lovelace

    ada@acme.com

  • Marco Silva

    marco@acme.com

  • Priya Raman

    priya@acme.com

  • alex@contractor.devInvite pending

API keys

Keys carry full account access. Treat them like passwords.

  • Production server

    sk_live_••••••••••••4f2a

    Created 12 Mar 2026

    Last used 2 hours ago

  • CI pipeline

    sk_live_••••••••••••9c1e

    Created 3 Jun 2026

    Last used Yesterday

  • Local development

    sk_test_••••••••••••b7d0

    Created 28 Jul 2026

    Never used

Danger zone

These actions affect everyone in the workspace.

  • Transfer ownership

    Hand this workspace to another member. You keep admin access, but billing and deletion move to them.

  • Archive workspace

    Make everything read-only and stop billing at the end of the period. You can un-archive at any time.

  • Delete workspace

    Permanently removes all projects, members and history. This cannot be undone and support cannot recover it.

The real page, rendered in your current theme — every section below is a live block, not a screenshot.

Built from

All blocks
  1. Grouped Settings LayoutSidebar-and-panel settings shell that becomes a horizontal scroller on mobile instead of collapsing into a select.
  2. Profile Form With Save BarAvatar, fields and a character counter, with a sticky save bar that only appears once something has genuinely changed.
  3. Team Members & InvitesMember list with role selects, pending invites shown inline, and the last owner locked so a workspace cannot be orphaned.
  4. API Key ManagementMasked keys, a create flow that reveals the secret exactly once, and a revoke that confirms before it fires.
  5. Danger ZoneDestructive actions gated by typing the resource name exactly — the pattern GitHub and Stripe use, and for good reason.

Only want one section? Open it and copy that block instead — browse Settings.

Shipped in these templates

Want the whole project rather than this one screen? A template ships every route, the theme tokens and the layout.

Source

app/settings-account-page.tsx
/**
 * The account settings screen — nav, profile, team, keys, danger zone.
 *
 * Ordering here is a safety property, not a style choice. The danger zone
 * goes last, below the fold, after everything a user actually came to do.
 * Putting "Delete workspace" anywhere near "Change your name" is how it
 * gets clicked.
 *
 * All four panels render at once rather than switching on the nav
 * selection. That is deliberate for a template: it shows every panel in one
 * screenshot and lets you delete the ones you do not need. Wire the nav to
 * routes — `/settings/profile`, `/settings/members` — when you adopt it, so
 * each panel gets its own URL and back button.
 */

import * as React from 'react'
import { SettingsNavLayout } from '@/components/settings-nav-layout'
import { SettingsProfileForm } from '@/components/settings-profile-form'
import { SettingsTeamMembers } from '@/components/settings-team-members'
import { SettingsApiKeys } from '@/components/settings-api-keys'
import { SettingsDangerZone } from '@/components/settings-danger-zone'

export default function SettingsAccountPage() {
  return (
    <main className="min-h-screen bg-background text-foreground">
      <SettingsNavLayout>
        <div className="space-y-6">
          <SettingsProfileForm />
          <SettingsTeamMembers />
          <SettingsApiKeys />

          {/* Last, always. */}
          <SettingsDangerZone />
        </div>
      </SettingsNavLayout>
    </main>
  )
}

How to use it

  1. 1. Copy each of the 5 blocks above into components/ — each block page has its own copy button.
  2. 2. Drop this file at app/settings-account-page.tsx. The imports already point at @/components/…, so they resolve with no edits.
  3. 3. Delete the sections you do not want. Every block takes props, so the copy changes without the layout moving.

For AI

The component, its props, the design tokens it expects and the command that installs it — as one prompt. Paste it into Claude, Cursor, v0 or ChatGPT and what they build around it will match the rest of the catalog instead of inventing its own system.

See the prompt

More Account & Billing

Open the full page for this page

Billing & Usage Screen

Plan, quota meters and invoice history, with the upgrade prompt placed beside a bar that is nearly full rather than on the plan card.

Account & Billing5 blocks44 lines
Open the full page for this page

Usage & Limits

Consumption in the order the questions arrive: the overage warning first because it is time-critical, then the meters, then what actually happens at each limit.

Account & Billing4 blocks66 lines
Open the full page for this page

Invoices

Billing history laid out for finance rather than for the user — a retrieval screen, so the table leads and the payment method comes last.

Account & Billing3 blocks41 lines
Open the full page for this page

Notification Settings

Notifications from the receiving end: the inbox you arrived from, per-event and per-channel control, and the push prompt asked after the decision rather than on arrival.

Account & Billing5 blocks59 lines
Open the full page for this page

Team & Access

The admin screen a security questionnaire is really asking about — seats with the bill shown first, invitations, scopes split from bundles, sharing stated as its consequence, live sessions, and the audit trail underneath.

Account & Billing6 blocks61 lines
Open the full page for this page

Change Plan

Both directions, because only one of them is usually built: a radiogroup with the prorated charge announced as it changes, and a cancellation with the end date, what breaks, and one honest alternative offered once.

Account & Billing3 blocks52 lines