# feat\(web\): rebuild the profile list as a table with import targets · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/5f4453cef4be94e824af82be20489c28a45419fe)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 5f4453cef4be94e824af82be20489c28a45419fe

Requested commit: 5f4453cef4be94e824af82be20489c28a45419fe

Commit: 5f4453cef4be94e824af82be20489c28a45419fe

Tree: 29ad967c39a0fa7890da0dbaab95da86815b67ce

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
feat(web): rebuild the profile list as a table with import targets

The list was a loose stack of rows with two competing controls and a separate
"Default browser profile" setting duplicating what the list already showed.

Profiles now render as a table. Which one is default is a badge on its row and
is changed from that row's menu, so the standalone setting is gone. Each row
also gains "Clear cookies and cache", scoped to that profile's partition.

Creating and importing collapse into one "Add profile" menu, because from the
user's side they are one decision: "I want a profile with my Helium logins in
it". Each source offers its targets directly — New profile, or any existing
one — so importing into a fresh profile no longer means creating it first and
then hunting for a second control. Previously import offered no choice of
target at all.

Incognito is not listed. It keeps nothing between launches, so it has no data
to clear, no name to edit, and no state to manage; it belongs in the menu that
opens a tab. It is also excluded as an import target, since importing into it
would be discarded on quit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

```

## Parents

- [6141890c18ddcd1440cb71bbad9ae7c99412275a](https://git.cafe/pingdotgg/t3code/commit/6141890c18ddcd1440cb71bbad9ae7c99412275a?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/5f4453cef4be94e824af82be20489c28a45419fe?format=markdown)
