Skip to content

Commit 965951f

Browse files
committed
consistent parameters display between single and batch request
1 parent a8dbe55 commit 965951f

File tree

1 file changed

+42
-55
lines changed

1 file changed

+42
-55
lines changed

apps/debugger-extension/entrypoints/devtools-panel/components/EventDetails.tsx

Lines changed: 42 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { useTheme } from '../contexts/ThemeContext';
88
import { cn } from '@/lib/utils';
99
import { Badge } from '@/components/ui/badge';
1010
import { PARAMETER_DESCRIPTION, type ParameterName } from '../data/parameterDescription';
11+
import { QueryParam } from '@/lib/types';
1112

1213
type EventDetailsProps = {
1314
selectedMessage: Entry;
@@ -53,8 +54,6 @@ type EventDetailProps = {
5354
selectedMessage: Entry;
5455
};
5556
function EventDetail({ selectedMessage }: EventDetailProps) {
56-
const { theme } = useTheme();
57-
5857
switch (selectedMessage.type) {
5958
case 'PAQ_ENTRY':
6059
case 'PPAS_ENTRY': {
@@ -126,63 +125,12 @@ function EventDetail({ selectedMessage }: EventDetailProps) {
126125
case 'PAQ_NETWORK_EVENT':
127126
case 'PPAS_NETWORK_EVENT': {
128127
if (selectedMessage.payload.type === 'SINGLE') {
129-
const eventType = getEventType(selectedMessage.payload.params);
130-
return (
131-
<div>
132-
Network event: <span className="font-bold">{eventType}</span>
133-
{eventType === 'Broken Event' && selectedMessage.payload.params.length == 0 && (
134-
<div className="mt-2 font-bold">
135-
This may be Last heartbeat ping, these are currently not supported and displayed as
136-
broken events.
137-
</div>
138-
)}
139-
<div className="mt-2">
140-
<b>Parameters:</b>
141-
<Separator />
142-
{selectedMessage.payload.params.map((e, i) => (
143-
<div key={i} className="flex">
144-
<span
145-
className={cn(
146-
'font-bold',
147-
theme === 'light' ? 'text-slate-600' : 'text-slate-400'
148-
)}
149-
title={
150-
PARAMETER_DESCRIPTION[e.name as ParameterName] ||
151-
(e.name.startsWith('dimension') && PARAMETER_DESCRIPTION['dimensionID']) ||
152-
''
153-
}
154-
>
155-
{e.name}:{' '}
156-
</span>
157-
<span className="ml-[1ch] break-words">
158-
{import.meta.env.CHROME ? decodeURIComponent(e.value) : e.value}
159-
</span>
160-
</div>
161-
))}
162-
</div>
163-
</div>
164-
);
128+
return <NetworkEvent eventParams={selectedMessage.payload.params} />;
165129
} else {
166130
return selectedMessage.payload.requestsParams.map((params, i) => {
167-
const eventType = getEventType(params);
168131
return (
169132
<Fragment key={i}>
170-
<div>
171-
network event: <span className="font-bold">{eventType}</span>
172-
{eventType === 'Broken Event' && params.length == 0 && (
173-
<div className="mt-2 font-bold">
174-
This may be Last heartbeat ping, these are currently not supported and displayed
175-
as broken events.
176-
</div>
177-
)}
178-
<div>
179-
{params.map((e, i) => (
180-
<div key={i}>
181-
{e.name}: <span className="font-bold">{e.value}</span>
182-
</div>
183-
))}
184-
</div>
185-
</div>
133+
<NetworkEvent eventParams={params} />
186134
<Separator className="my-3" />
187135
</Fragment>
188136
);
@@ -194,3 +142,42 @@ function EventDetail({ selectedMessage }: EventDetailProps) {
194142
}
195143
}
196144
}
145+
146+
function NetworkEvent({ eventParams }: { eventParams: QueryParam[] }) {
147+
const { theme } = useTheme();
148+
149+
const eventType = getEventType(eventParams);
150+
151+
return (
152+
<div>
153+
Network event: <span className="font-bold">{eventType}</span>
154+
{eventType === 'Broken Event' && eventParams.length == 0 && (
155+
<div className="mt-2 font-bold">
156+
This may be Last heartbeat ping, these are currently not supported and displayed as broken
157+
events.
158+
</div>
159+
)}
160+
<div className="mt-2">
161+
<b>Parameters:</b>
162+
<Separator />
163+
{eventParams.map((e, i) => (
164+
<div key={i} className="flex">
165+
<span
166+
className={cn('font-bold', theme === 'light' ? 'text-slate-600' : 'text-slate-400')}
167+
title={
168+
PARAMETER_DESCRIPTION[e.name as ParameterName] ||
169+
(e.name.startsWith('dimension') && PARAMETER_DESCRIPTION['dimensionID']) ||
170+
''
171+
}
172+
>
173+
{e.name}:{' '}
174+
</span>
175+
<span className="ml-[1ch] break-words">
176+
{import.meta.env.CHROME ? decodeURIComponent(e.value) : e.value}
177+
</span>
178+
</div>
179+
))}
180+
</div>
181+
</div>
182+
);
183+
}

0 commit comments

Comments
 (0)