Skip to content

Commit 4ff03aa

Browse files
committed
feat(panel-header): add metaPlacement prop for inline/stacked layout
1 parent 13c31fd commit 4ff03aa

2 files changed

Lines changed: 22 additions & 3 deletions

File tree

packages/web/src/features/agent-panes/views/shared/session-card.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ export const SessionCard: FC<SessionCardProps> = ({
122122
>
123123
<PanelHeader
124124
title={sessionTitle}
125+
metaPlacement="inline"
125126
status={
126127
<StatusDot
127128
tone={getSessionDotTone(session.state)}

packages/web/src/features/shared/components/panel-header.tsx

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,36 @@ export interface PanelHeaderProps {
55
meta?: ReactNode;
66
status?: ReactNode;
77
actions?: ReactNode;
8+
metaPlacement?: "stacked" | "inline";
89
}
910

10-
export function PanelHeader({ title, meta, status, actions }: PanelHeaderProps) {
11+
export function PanelHeader({
12+
title,
13+
meta,
14+
status,
15+
actions,
16+
metaPlacement = "stacked",
17+
}: PanelHeaderProps) {
18+
const metaNode = meta ? (
19+
<div
20+
className={`panel-header__meta${metaPlacement === "inline" ? " panel-header__meta--inline" : ""}`}
21+
>
22+
{meta}
23+
</div>
24+
) : null;
25+
1126
return (
12-
<div className="panel-header">
27+
<div
28+
className={`panel-header${metaPlacement === "inline" ? " panel-header--inline-meta" : ""}`}
29+
>
1330
<div className="panel-header__leading">
1431
<div className="panel-header__copy">
1532
<div className="panel-header__title-row">
1633
{status ? <div className="panel-header__status">{status}</div> : null}
1734
<div className="panel-header__title">{title}</div>
35+
{metaPlacement === "inline" ? metaNode : null}
1836
</div>
19-
{meta ? <div className="panel-header__meta">{meta}</div> : null}
37+
{metaPlacement === "stacked" ? metaNode : null}
2038
</div>
2139
</div>
2240
{actions ? <div className="panel-header__actions">{actions}</div> : null}

0 commit comments

Comments
 (0)