Skip to content

Commit 583d675

Browse files
authored
Merge pull request #14 from noworneverev/fix/null-checks-api-drawer
Fix null reference bug
2 parents 335892e + 96ab32d commit 583d675

File tree

1 file changed

+28
-21
lines changed

1 file changed

+28
-21
lines changed

src/app/components/APISearchDrawer.tsx

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,8 @@ const APISearchDrawer: React.FC<APISearchDrawerProps> = ({
216216
</Card>
217217

218218
{/* Context Data Tables */}
219-
{apiSearchResults.context_data &&
219+
{apiSearchResults &&
220+
apiSearchResults.context_data &&
220221
Object.entries(apiSearchResults.context_data).map(
221222
([key, data], index) => (
222223
<Card sx={{ marginTop: 2 }} key={index}>
@@ -238,21 +239,23 @@ const APISearchDrawer: React.FC<APISearchDrawerProps> = ({
238239
unmountOnExit
239240
>
240241
<CardContent>
241-
<TableContainer component={Paper}>
242-
<Table size="small">
243-
<TableHead>
244-
<TableRow>
245-
{Object.keys(data[0]).map((columnName, idx) => (
246-
<TableCell key={idx}>
247-
{columnName.charAt(0).toUpperCase() +
248-
columnName.slice(1)}
249-
</TableCell>
250-
))}
251-
</TableRow>
252-
</TableHead>
253-
<TableBody>
254-
{(data as Array<Record<string, any>>).map(
255-
(row, rowIndex) => (
242+
{Array.isArray(data) && data.length > 0 ? (
243+
<TableContainer component={Paper}>
244+
<Table size="small">
245+
<TableHead>
246+
<TableRow>
247+
{Object.keys(data[0]).map(
248+
(columnName, idx) => (
249+
<TableCell key={idx}>
250+
{columnName.charAt(0).toUpperCase() +
251+
columnName.slice(1)}
252+
</TableCell>
253+
)
254+
)}
255+
</TableRow>
256+
</TableHead>
257+
<TableBody>
258+
{data.map((row, rowIndex) => (
256259
<TableRow key={rowIndex}>
257260
{Object.values(row).map(
258261
(value, cellIndex) => (
@@ -264,11 +267,15 @@ const APISearchDrawer: React.FC<APISearchDrawerProps> = ({
264267
)
265268
)}
266269
</TableRow>
267-
)
268-
)}
269-
</TableBody>
270-
</Table>
271-
</TableContainer>
270+
))}
271+
</TableBody>
272+
</Table>
273+
</TableContainer>
274+
) : (
275+
<Typography variant="body2" color="textSecondary">
276+
No data available
277+
</Typography>
278+
)}
272279
</CardContent>
273280
</Collapse>
274281
</Card>

0 commit comments

Comments
 (0)