Skip to content

Commit cf22485

Browse files
authored
Merge pull request #511 from microsoft/macae-v3-fr-dev-92
Refactor PlanPanelRight to use CSS classes
2 parents 9244519 + 3b9c92c commit cf22485

File tree

2 files changed

+294
-107
lines changed

2 files changed

+294
-107
lines changed

src/frontend/src/components/content/PlanPanelRight.tsx

Lines changed: 22 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ import {
66
ArrowTurnDownRightRegular,
77
} from "@fluentui/react-icons";
88
import { MPlanData, PlanDetailsProps } from "../../models";
9-
import { getAgentIcon, getAgentDisplayNameWithSuffix } from '../../utils/agentIconUtils';
9+
import { getAgentIcon, getAgentDisplayNameWithSuffix } from '../../utils/agentIconUtils';
1010
import ContentNotFound from "../NotFound/ContentNotFound";
11+
import "../../styles/planpanelright.css";
1112

1213

1314
const PlanPanelRight: React.FC<PlanDetailsProps> = ({
@@ -22,18 +23,7 @@ const PlanPanelRight: React.FC<PlanDetailsProps> = ({
2223

2324
if (!planApprovalRequest) {
2425
return (
25-
<div style={{
26-
width: '280px',
27-
height: '100vh',
28-
padding: '20px',
29-
display: 'flex',
30-
alignItems: 'center',
31-
justifyContent: 'center',
32-
borderLeft: '1px solid var(--colorNeutralStroke1)',
33-
color: 'var(--colorNeutralForeground3)',
34-
fontSize: '14px',
35-
fontStyle: 'italic'
36-
}}>
26+
<div className="plan-panel-right__no-data">
3727
No plan available
3828
</div>
3929
);
@@ -48,7 +38,7 @@ const PlanPanelRight: React.FC<PlanDetailsProps> = ({
4838
return planApprovalRequest.steps.map((step, index) => {
4939
const action = step.action || step.cleanAction || '';
5040
const isHeading = action.trim().endsWith(':');
51-
41+
5242
return {
5343
text: action.trim(),
5444
isHeading,
@@ -62,63 +52,29 @@ const PlanPanelRight: React.FC<PlanDetailsProps> = ({
6252
const planSteps = extractPlanSteps();
6353

6454
return (
65-
<div style={{
66-
marginBottom: '24px',
67-
paddingBottom: '20px',
68-
borderBottom: '1px solid var(--colorNeutralStroke1)'
69-
}}>
70-
<Body1 style={{
71-
marginBottom: '16px',
72-
fontSize: '14px',
73-
fontWeight: 600,
74-
color: 'var(--colorNeutralForeground1)'
75-
}}>
55+
<div className="plan-section">
56+
<Body1 className="plan-section__title">
7657
Plan Overview
7758
</Body1>
7859

7960
{planSteps.length === 0 ? (
80-
<div style={{
81-
textAlign: 'center',
82-
color: 'var(--colorNeutralForeground3)',
83-
fontSize: '14px',
84-
fontStyle: 'italic',
85-
padding: '20px'
86-
}}>
61+
<div className="plan-section__empty">
8762
Plan is being generated...
8863
</div>
8964
) : (
90-
<div style={{ display: 'flex', flexDirection: 'column', gap: '8px' }}>
65+
<div className="plan-steps">
9166
{planSteps.map((step, index) => (
92-
<div key={step.key} style={{ display: 'flex', flexDirection: 'column' }}>
67+
<div key={step.key} className="plan-step">
9368
{step.isHeading ? (
9469
// Heading - larger text, bold
95-
<Body1 style={{
96-
fontSize: '14px',
97-
fontWeight: 600,
98-
color: 'var(--colorNeutralForeground1)',
99-
marginBottom: '4px'
100-
}}>
70+
<Body1 className="plan-step__heading">
10171
{step.text}
10272
</Body1>
10373
) : (
10474
// Sub-step - with arrow
105-
<div style={{
106-
display: 'flex',
107-
alignItems: 'flex-start',
108-
gap: '8px',
109-
marginBottom: '4px'
110-
}}>
111-
<ArrowTurnDownRightRegular style={{
112-
fontSize: '16px',
113-
color: 'var(--colorNeutralForeground2)',
114-
marginTop: '2px',
115-
flexShrink: 0
116-
}} />
117-
<Body1 style={{
118-
fontSize: '14px',
119-
color: 'var(--colorNeutralForeground1)',
120-
lineHeight: 1.4
121-
}}>
75+
<div className="plan-step__content">
76+
<ArrowTurnDownRightRegular className="plan-step__arrow" />
77+
<Body1 className="plan-step__text">
12278
{step.text}
12379
</Body1>
12480
</div>
@@ -136,59 +92,27 @@ const PlanPanelRight: React.FC<PlanDetailsProps> = ({
13692
const agents = planApprovalRequest?.team || [];
13793

13894
return (
139-
<div style={{
140-
flex: 1,
141-
overflow: 'auto'
142-
}}>
143-
<Body1 style={{
144-
marginBottom: '16px',
145-
fontSize: '14px',
146-
fontWeight: 600,
147-
color: 'var(--colorNeutralForeground1)'
148-
}}>
95+
<div className="agents-section">
96+
<Body1 className="agents-section__title">
14997
Agent Team
15098
</Body1>
15199

152100
{agents.length === 0 ? (
153-
<div style={{
154-
textAlign: 'center',
155-
color: 'var(--colorNeutralForeground3)',
156-
fontSize: '14px',
157-
fontStyle: 'italic',
158-
padding: '20px'
159-
}}>
101+
<div className="agents-section__empty">
160102
No agents assigned yet...
161103
</div>
162104
) : (
163-
<div style={{ display: 'flex', flexDirection: 'column', gap: '12px' }}>
105+
<div className="agents-list">
164106
{agents.map((agentName, index) => (
165-
<div key={`${agentName}-${index}`} style={{
166-
display: 'flex',
167-
alignItems: 'center',
168-
gap: '12px',
169-
padding: '8px 0'
170-
}}>
107+
<div key={`${agentName}-${index}`} className="agent-item">
171108
{/* Agent Icon */}
172-
<div style={{
173-
width: '32px',
174-
height: '32px',
175-
borderRadius: '50%',
176-
backgroundColor: 'var(--colorNeutralBackground3)',
177-
display: 'flex',
178-
alignItems: 'center',
179-
justifyContent: 'center',
180-
flexShrink: 0
181-
}}>
109+
<div className="agent-item__icon">
182110
{getAgentIcon(agentName, planData, planApprovalRequest)}
183111
</div>
184112

185113
{/* Agent Info - just name */}
186-
<div style={{ flex: 1 }}>
187-
<Body1 style={{
188-
fontWeight: 600,
189-
fontSize: '14px',
190-
color: 'var(--colorNeutralForeground1)'
191-
}}>
114+
<div className="agent-item__info">
115+
<Body1 className="agent-item__name">
192116
{getAgentDisplayNameWithSuffix(agentName)}
193117
</Body1>
194118
</div>
@@ -202,16 +126,7 @@ const PlanPanelRight: React.FC<PlanDetailsProps> = ({
202126

203127
// Main render
204128
return (
205-
<div style={{
206-
width: '280px',
207-
height: '100vh',
208-
padding: '20px',
209-
display: 'flex',
210-
flexDirection: 'column',
211-
overflow: 'hidden',
212-
borderLeft: '1px solid var(--colorNeutralStroke1)',
213-
// backgroundColor: 'var(--colorNeutralBackground1)'
214-
}}>
129+
<div className="plan-panel-right">
215130
{/* Plan section on top */}
216131
{renderPlanSection()}
217132

0 commit comments

Comments
 (0)