feat: multiple identity profiles

Identity tab now supports multiple named profiles:
- Dropdown selector to switch between profiles
- "+" button to add a new profile (prompts for name)
- Pencil button to rename
- X button to delete (can't delete the last one)
- Toggle to enable/disable each profile independently

Default profile is "Personal". All active profiles are merged
and substituted simultaneously — so "Personal" (your name) and
"Work" (your work email, company domain) both get caught.

Storage model: profiles are stored as an array under ss_identity.
getIdentity() merges all active profiles into a single identity
object for the substitution engine.

https://claude.ai/code/session_01Dvgwe7XMoSxnWXkih8p1Cw
This commit is contained in:
Claude
2026-03-26 02:56:00 +00:00
parent 6303ecb86b
commit c4356c3c6a
4 changed files with 235 additions and 44 deletions
+22
View File
@@ -276,6 +276,28 @@ body {
font-weight: 600;
}
/* Profile bar */
.profile-bar {
display: flex;
align-items: center;
gap: 4px;
margin-bottom: 8px;
}
.profile-bar .select {
font-weight: 500;
}
.profile-bar .btn-icon {
width: 28px;
height: 28px;
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
}
/* Identity tab */
.id-section {
margin-bottom: 12px;