GitHub

Templates / Settings

Settings beta

An account settings page: a section rail, a profile form with photo, notification switches, a language select and a danger zone — composed from form parts.

Preview
app.acme.studio/settings

Profile

How you appear across the workspace.

AK

PNG or JPG, at least 256 × 256.

Used for sign-in and receipts.

Notifications & language

What reaches your inbox, and in which language.

Mentions

Email me when someone mentions me in a comment or a doc.

Product updates

A short email when new features ship. About once a month.

Weekly summary

Every Monday: what shipped, what is blocked, what is next.

Language

The interface language for this workspace.

Danger zone

Irreversible actions live here.

Deleting the workspace removes everything.

Projects, invoices and files are gone for every member. There is no undo and no grace period.

Built from: Parts: Field, Input, Textarea, Select, Switch, Button, Avatar, Alert — include their CSS alongside this template.

<div class="k-tpl2">
  <aside class="k-tpl2-side">
    <h2>Settings</h2>
    <p class="k-tpl2-sub">Workspace preferences for Acme Studio.</p>
    <nav class="k-tpl2-nav">
      <a href="#" class="on">Profile</a>
      <a href="#">Account</a>
      <a href="#">Notifications</a>
      <a href="#">Billing</a>
      <a href="#">API keys</a>
    </nav>
  </aside>
  <div class="k-tpl2-main">
    <section class="k-tpl2-card">
      <h3>Profile</h3>
      <p class="k-tpl2-csub">How you appear across the workspace.</p>
      <div class="k-tpl2-avarow"><span class="k-avatar" data-size="lg">AK</span><div><button class="btn btn-sec btn-sm" type="button">Change photo</button><p class="k-tpl2-note">PNG or JPG, at least 256 × 256.</p></div></div>
      <div class="k-tpl2-form">
        <div class="k-field">
          <label class="lab" for="sp-name">Display name</label>
          <input class="input" id="sp-name" type="text" value="Aoi Kimura">
        </div>
        <div class="k-field">
          <label class="lab" for="sp-mail">Email</label>
          <input class="input" id="sp-mail" type="email" value="[email protected]">
          <p class="hint">Used for sign-in and receipts.</p>
        </div>
        <div class="k-field">
          <label class="lab" for="sp-bio">Bio <span class="opt">Optional</span></label>
          <textarea class="k-textarea" id="sp-bio" rows="3">Product designer. I keep the design system honest.</textarea>
        </div>
      </div>
      <div class="k-tpl2-actions"><button class="btn btn-pri" type="button">Save changes</button><button class="btn btn-ghost" type="button">Cancel</button></div>
    </section>
    <section class="k-tpl2-card">
      <h3>Notifications &amp; language</h3>
      <p class="k-tpl2-csub">What reaches your inbox, and in which language.</p>
      <div class="k-tpl2-row"><div><b>Mentions</b><p>Email me when someone mentions me in a comment or a doc.</p></div><label class="switch"><input type="checkbox" checked><span class="tr"></span></label></div><div class="k-tpl2-row"><div><b>Product updates</b><p>A short email when new features ship. About once a month.</p></div><label class="switch"><input type="checkbox"><span class="tr"></span></label></div><div class="k-tpl2-row"><div><b>Weekly summary</b><p>Every Monday: what shipped, what is blocked, what is next.</p></div><label class="switch"><input type="checkbox" checked><span class="tr"></span></label></div><div class="k-tpl2-row"><div><b>Language</b><p>The interface language for this workspace.</p></div><span class="k-select"><select aria-label="Language"><option selected>English</option><option>Japanese</option><option>German</option></select><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></div>
    </section>
    <section class="k-tpl2-card">
      <h3>Danger zone</h3>
      <p class="k-tpl2-csub">Irreversible actions live here.</p>
      <div class="k-alert" data-tone="warning"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4 2.8 20h18.4L12 4Z"/><path d="M12 10v4.4M12 17.2h.01"/></svg><div><b>Deleting the workspace removes everything.</b><p>Projects, invoices and files are gone for every member. There is no undo and no grace period.</p></div></div>
      <div class="k-tpl2-actions"><button class="btn btn-danger" type="button">Delete workspace</button></div>
    </section>
  </div>
</div>
.k-tpl2{display:grid;grid-template-columns:216px 1fr;background:var(--k-bg);color:var(--k-ink);border:1px solid var(--k-line);border-radius:16px;overflow:hidden;min-height:660px;font-family:var(--k-font);text-align:left}
.k-tpl2-side{padding:24px 18px;border-right:1px solid var(--k-line);background:var(--k-zinc-50)}
.k-tpl2-side h2{font-size:19px;font-weight:600;letter-spacing:-.02em}
.k-tpl2-sub{margin-top:5px;font-size:12.5px;color:var(--k-ink-2);line-height:1.6}
.k-tpl2-nav{display:grid;gap:2px;margin-top:18px}
.k-tpl2-nav a{padding:7px 10px;border-radius:8px;color:var(--k-ink-2);text-decoration:none;font-size:13.5px}
.k-tpl2-nav a:hover{background:color-mix(in srgb,var(--k-ink) 5%,transparent);color:var(--k-ink)}
.k-tpl2-nav a.on{background:color-mix(in srgb,var(--k-ink) 7%,transparent);color:var(--k-ink);font-weight:550}
.k-tpl2-main{padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0;background:var(--k-bg)}
.k-tpl2-card{border:1px solid var(--k-line);border-radius:12px;padding:20px 22px}
.k-tpl2-card h3{font-size:15.5px;font-weight:600}
.k-tpl2-csub{margin-top:4px;font-size:13px;color:var(--k-ink-2)}
.k-tpl2-avarow{display:flex;align-items:center;gap:14px;margin-top:16px}
.k-tpl2-note{margin-top:5px;font-size:12px;color:var(--k-ink-3)}
.k-tpl2-form{display:grid;gap:16px;margin-top:18px;max-width:520px}
.k-tpl2-actions{display:flex;gap:9px;margin-top:18px}
.k-tpl2-row{display:flex;align-items:center;gap:16px;padding:13px 0;border-top:1px solid var(--k-line)}
.k-tpl2-row:first-of-type{margin-top:8px}
.k-tpl2-row b{font-size:13.5px;font-weight:550}
.k-tpl2-row p{margin-top:2px;font-size:12.5px;color:var(--k-ink-2);line-height:1.55}
.k-tpl2-row>:last-child{margin-left:auto;flex:none}
.k-tpl2-card .k-alert{margin-top:14px}
@media (max-width:560px){.k-tpl2{grid-template-columns:1fr}.k-tpl2-side{display:none}}

Usage

The rail switches the section; each card is an independent form. Every control is a catalog part — Field wraps Input and Textarea with labels and hints, the switches are the Switch part, the danger zone is an Alert plus a danger Button. Wire the save buttons to your backend; the page itself holds no state.