Commit 431f6ae
authored
feat(settings): move settings chrome into a single rounded card (#21131)
## What
Replaces `SubMenuTopBarContainer` with a settings-specific
`SettingsPageLayout` that puts the whole page chrome — breadcrumb,
centered title, actions, an optional secondary bar (tabs or wizard
step), and the 760px body — inside **one rounded card**, with
`SidePanelForDesktop` as a sibling. Title, tabs and body content share
one centered vertical axis at every card width.
Supersedes #21122. One PR, no feature flag.
## New components (`@/settings/components/layout/`)
- **SettingsPageLayout** — owns the rounded card + side-panel sibling,
`useCommandMenuHotKeys`, mobile command menu
- **SettingsPageHeader** — breadcrumb · centered title · actions in a
symmetric `1fr auto 1fr` grid (symmetric padding throughout)
- **SettingsSecondaryBar** — the secondary row, bracketed by top +
bottom borders
- **SettingsTabBar** — centered tabs reusing `activeTabIdComponentState`
+ `TabListFromUrlOptionalEffect` for URL-hash sync (does not touch the
shared `TabList`)
- **SettingsWizardStepBar** — back arrow · "N. Label" · optional
trailing slot
## Migrations
- Bulk rename across ~80 call sites (`SubMenuTopBarContainer` →
`SettingsPageLayout`); old component deleted.
- 5 tab pages (AI, APIs & Webhooks, Applications, Members, Role) + the
Data Model object-detail page render their tabs in `secondaryBar`
(object-detail keeps "See records" / "New Field" in the header actions).
- The 2 role object-level steps render the wizard step bar with working
back navigation.
- Accounts consolidated into **General / Emails / Calendars** tabs;
standalone `SettingsAccountsEmails` / `SettingsAccountsCalendars` pages
+ routes + stories removed. `SettingsPath.AccountsEmails` /
`AccountsCalendars` now resolve to `accounts#emails` /
`accounts#calendars`, so existing `getSettingsPath()` links deep-link to
the right tab via the existing hash sync — no call-site changes.
## Verification
- `nx typecheck twenty-front` and `nx lint twenty-front` both clean.
- Browser (logged-in workspace): title / tab / body / card centers align
on a single axis at multiple widths — width-invariant, so alignment
holds when the AI side panel (a sibling) shrinks the card. Rounded card
with even gaps on all four sides; tab row bracketed by two 1px lines;
no-tab pages render header → body with no lines; wizard back navigation
works; `…/accounts#emails` opens the Emails tab.
The shared `PageHeader` and `TabList` are untouched. The settings side
panel itself isn't wired to open yet — that's a follow-up PR.1 parent e721ebe commit 431f6ae
107 files changed
Lines changed: 1363 additions & 1004 deletions
File tree
- packages
- twenty-front/src
- modules
- app/components
- settings
- accounts/components
- components
- layout
- developers/components
- domains/components
- hooks
- roles
- role-permissions/object-level-permissions/object-form/components
- role/components
- security/components
- ui
- layout/page/components
- pages/settings
- __stories__
- accounts
- admin-panel
- ai
- api-webhooks
- constants
- applications
- __tests__
- components
- billing
- community
- data-model
- new-field
- new-index
- developers
- api-keys
- playground
- webhooks/components
- emailing-domains
- email
- enterprise
- general
- layout
- components
- logic-functions
- members
- roles
- profile
- appearance/components
- security
- event-logs
- updates
- utils
- twenty-server/src/engine/workspace-manager/twenty-standard-application/constants
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 49 additions & 47 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | 27 | | |
42 | 28 | | |
43 | 29 | | |
| |||
122 | 108 | | |
123 | 109 | | |
124 | 110 | | |
125 | | - | |
126 | | - | |
127 | | - | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
128 | 114 | | |
129 | 115 | | |
130 | 116 | | |
131 | 117 | | |
132 | | - | |
| 118 | + | |
133 | 119 | | |
134 | 120 | | |
135 | 121 | | |
136 | 122 | | |
137 | 123 | | |
138 | | - | |
| 124 | + | |
139 | 125 | | |
140 | 126 | | |
141 | 127 | | |
| |||
157 | 143 | | |
158 | 144 | | |
159 | 145 | | |
160 | | - | |
161 | | - | |
162 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
163 | 151 | | |
164 | 152 | | |
165 | 153 | | |
| |||
319 | 307 | | |
320 | 308 | | |
321 | 309 | | |
322 | | - | |
| 310 | + | |
323 | 311 | | |
324 | 312 | | |
325 | 313 | | |
326 | 314 | | |
327 | 315 | | |
328 | | - | |
| 316 | + | |
329 | 317 | | |
330 | 318 | | |
331 | 319 | | |
| |||
346 | 334 | | |
347 | 335 | | |
348 | 336 | | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
349 | 351 | | |
350 | | - | |
| 352 | + | |
351 | 353 | | |
352 | 354 | | |
353 | 355 | | |
354 | 356 | | |
355 | 357 | | |
356 | | - | |
| 358 | + | |
357 | 359 | | |
358 | 360 | | |
359 | 361 | | |
360 | 362 | | |
361 | 363 | | |
362 | | - | |
| 364 | + | |
363 | 365 | | |
364 | 366 | | |
365 | 367 | | |
| |||
417 | 419 | | |
418 | 420 | | |
419 | 421 | | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | 422 | | |
427 | 423 | | |
428 | 424 | | |
| |||
565 | 561 | | |
566 | 562 | | |
567 | 563 | | |
568 | | - | |
569 | | - | |
570 | | - | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
571 | 567 | | |
572 | 568 | | |
573 | 569 | | |
| |||
624 | 620 | | |
625 | 621 | | |
626 | 622 | | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
| 623 | + | |
| 624 | + | |
633 | 625 | | |
634 | 626 | | |
635 | 627 | | |
636 | 628 | | |
637 | 629 | | |
638 | 630 | | |
639 | | - | |
640 | | - | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
641 | 637 | | |
642 | 638 | | |
643 | 639 | | |
| |||
655 | 651 | | |
656 | 652 | | |
657 | 653 | | |
658 | | - | |
| 654 | + | |
659 | 655 | | |
660 | 656 | | |
661 | 657 | | |
| |||
916 | 912 | | |
917 | 913 | | |
918 | 914 | | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
919 | 922 | | |
920 | 923 | | |
921 | 924 | | |
922 | 925 | | |
923 | 926 | | |
924 | 927 | | |
925 | 928 | | |
926 | | - | |
927 | 929 | | |
928 | 930 | | |
929 | 931 | | |
| |||
1018 | 1020 | | |
1019 | 1021 | | |
1020 | 1022 | | |
1021 | | - | |
| 1023 | + | |
1022 | 1024 | | |
1023 | 1025 | | |
1024 | 1026 | | |
| |||
Lines changed: 11 additions & 49 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
3 | 2 | | |
4 | | - | |
5 | 3 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
| 4 | + | |
10 | 5 | | |
11 | | - | |
12 | | - | |
13 | 6 | | |
14 | | - | |
15 | | - | |
16 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
17 | 10 | | |
18 | | - | |
19 | | - | |
20 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
21 | 15 | | |
| 16 | + | |
22 | 17 | | |
23 | 18 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | 19 | | |
43 | 20 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | 21 | | |
55 | 22 | | |
56 | | - | |
57 | | - | |
| 23 | + | |
58 | 24 | | |
59 | 25 | | |
60 | 26 | | |
61 | 27 | | |
62 | 28 | | |
63 | 29 | | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | 30 | | |
69 | 31 | | |
70 | 32 | | |
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
| 67 | + | |
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| |||
0 commit comments