feat(twenty-front): generalize the page primary/secondary bars (flat redesign) (#21308)

Replaces #21279 and #21282 with one clean PR from `main`.

Generalizes the settings primary-bar / secondary-bar card chrome to the
record index, record show and standalone pages via a shared
`PageCardLayout` + `PageCardHeader` (the side panel sits as a sibling of
the content card), and applies the new flat design direction: square
corners on the card, side panel and loading skeletons.

Iterating toward the new design (Figma node 102282-221623); the
confirmed direction and the explicit "remove rounded corners" change are
in, remaining designer specifics to follow.
This commit is contained in:
Félix Malfait
2026-06-08 22:47:05 +02:00
committed by GitHub
parent a48c158a66
commit bfefcd3755
29 changed files with 528 additions and 517 deletions
@@ -37,8 +37,6 @@ const StyledSidePanelWrapper = styled.div<{
const StyledSidePanel = styled.aside`
background: ${themeCssVariables.background.primary};
border: 1px solid ${themeCssVariables.border.color.medium};
border-radius: ${themeCssVariables.border.radius.md};
box-sizing: border-box;
display: flex;
flex-direction: column;
@@ -58,8 +56,6 @@ const StyledModalContainer = styled.div`
z-index: 1;
`;
const GAP_WIDTH = 8;
export const SidePanelForDesktop = () => {
const isSidePanelOpened = useAtomStateValue(isSidePanelOpenedState);
const isSidePanelClosing = useAtomStateValue(isSidePanelClosingState);
@@ -130,7 +126,7 @@ export const SidePanelForDesktop = () => {
currentWidth={sidePanelWidth}
onWidthChange={handleWidthChange}
onCollapse={handleCollapse}
gapWidth={isSidePanelOpened ? GAP_WIDTH : 0}
gapWidth={0}
cssVariableName={SIDE_PANEL_WIDTH_VAR}
onResizeStart={handleResizeStart}
/>
@@ -15,10 +15,7 @@ import {
TooltipPosition,
} from 'twenty-ui-deprecated/display';
import { AnimatedButton } from 'twenty-ui-deprecated/input';
import {
getOsControlSymbol,
useIsMobile,
} from 'twenty-ui-deprecated/utilities';
import { useIsMobile } from 'twenty-ui-deprecated/utilities';
import {
ThemeContext,
themeCssVariables,
@@ -157,7 +154,6 @@ export const SidePanelToggleButton = () => {
size={isMobile ? 'medium' : 'small'}
variant="secondary"
accent="default"
hotkeys={[getOsControlSymbol(), 'K']}
ariaLabel={ariaLabel}
onClick={toggleSidePanelMenu}
animate={{