From e65820969771187cf3b8da5e51538e33c4f362bb Mon Sep 17 00:00:00 2001 From: Tim Cosgrove Date: Tue, 5 Nov 2024 10:09:25 -0800 Subject: [PATCH] Handle edge case where menu is not defined. (#804) --- src/data/queries/pressReleaseListing.ts | 11 +++++++---- src/data/queries/storyListing.ts | 12 +++++++----- src/lib/drupal/facilitySideNav.ts | 2 +- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/data/queries/pressReleaseListing.ts b/src/data/queries/pressReleaseListing.ts index 8a7a0ae7b..2a97dfd1c 100644 --- a/src/data/queries/pressReleaseListing.ts +++ b/src/data/queries/pressReleaseListing.ts @@ -70,10 +70,13 @@ export const data: QueryData< ) // Fetch the menu name dynamically off of the field_office reference - const menu = await getMenu( - entity.field_office.field_system_menu.resourceIdObjMeta - .drupal_internal__target_id - ) + let menu = null + if (entity.field_office.field_system_menu) { + menu = await getMenu( + entity.field_office.field_system_menu.resourceIdObjMeta + ?.drupal_internal__target_id + ) + } return { entity, diff --git a/src/data/queries/storyListing.ts b/src/data/queries/storyListing.ts index 0cb5ca225..18fa16b32 100644 --- a/src/data/queries/storyListing.ts +++ b/src/data/queries/storyListing.ts @@ -66,12 +66,14 @@ export const data: QueryData = async ( listingParams(entity.id), PAGE_SIZE ) - // Fetch the menu name dynamically off of the field_office reference - const menu = await getMenu( - entity.field_office.field_system_menu.resourceIdObjMeta - .drupal_internal__target_id - ) + let menu = null + if (entity.field_office.field_system_menu) { + menu = await getMenu( + entity.field_office.field_system_menu.resourceIdObjMeta + ?.drupal_internal__target_id + ) + } return { entity, diff --git a/src/lib/drupal/facilitySideNav.ts b/src/lib/drupal/facilitySideNav.ts index 9ad757da1..f55526bd1 100644 --- a/src/lib/drupal/facilitySideNav.ts +++ b/src/lib/drupal/facilitySideNav.ts @@ -24,7 +24,7 @@ const normalizeMenuItem = (item: MenuItem): SideNavItem => { const normalizeMenuData = (menu: Menu): SideNavData => { // Bail early if no tree is provided - if (!menu.tree || menu.tree.length === 0) return null + if (!menu || !menu.tree || menu.tree.length === 0) return null const links = [] menu.tree.forEach((item) => {