diff --git a/src/features/HelpAndKnowledge/Articles/SixPagerMeeting/index.tsx b/src/features/HelpAndKnowledge/Articles/SixPagerMeeting/index.tsx index 8f07d53fb8..f1594ab45d 100644 --- a/src/features/HelpAndKnowledge/Articles/SixPagerMeeting/index.tsx +++ b/src/features/HelpAndKnowledge/Articles/SixPagerMeeting/index.tsx @@ -120,7 +120,7 @@ const SixPagerMeeting = () => { )} diff --git a/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.test.tsx b/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.test.tsx index 65e6b51dfd..da422e0eb8 100644 --- a/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.test.tsx +++ b/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { MemoryRouter, Route } from 'react-router-dom'; -import { render } from '@testing-library/react'; +import { render, waitForElementToBeRemoved } from '@testing-library/react'; import { possibleSolutionsMock } from 'tests/mock/solutions'; import VerboseMockedProvider from 'tests/MockedProvider'; @@ -9,8 +9,8 @@ import TwoPagerMeeting from './index'; const mocks = [...possibleSolutionsMock]; describe('TwoPagerMeeting', () => { - it('matches the snapshot', () => { - const { asFragment } = render( + it('matches the snapshot', async () => { + const { asFragment, getByTestId } = render( { ); + + await waitForElementToBeRemoved(() => getByTestId('page-loading')); + expect(asFragment()).toMatchSnapshot(); }); }); diff --git a/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.tsx b/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.tsx index ae58819e88..eddbeba3ba 100644 --- a/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.tsx +++ b/src/features/HelpAndKnowledge/Articles/TwoPagerMeeting/index.tsx @@ -1,5 +1,6 @@ -import React from 'react'; +import React, { useState } from 'react'; import { Trans, useTranslation } from 'react-i18next'; +import { useLocation } from 'react-router-dom'; import { Grid, GridContainer, @@ -10,16 +11,16 @@ import { import HelpBreadcrumb from 'features/HelpAndKnowledge/Articles/_components/HelpBreadcrumb'; import HelpCategoryTag from 'features/HelpAndKnowledge/Articles/_components/HelpCategoryTag'; import RelatedArticles from 'features/HelpAndKnowledge/Articles/_components/RelatedArticles'; -import { findSolutionByRouteParam } from 'features/HelpAndKnowledge/SolutionsHelp'; import SolutionDetailsModal from 'features/HelpAndKnowledge/SolutionsHelp/SolutionDetails/Modal'; +import { OperationalSolutionKey } from 'gql/generated/graphql'; import Alert from 'components/Alert'; import ExternalLink from 'components/ExternalLink'; import UswdsReactLink from 'components/LinkWrapper'; import MainContent from 'components/MainContent'; import PageHeading from 'components/PageHeading'; +import PageLoading from 'components/PageLoading'; import ScrollLink from 'components/ScrollLink'; -import useHelpSolution from 'hooks/useHelpSolutions'; import useModalSolutionState from 'hooks/useModalSolutionState'; import { getKeys } from 'types/translation'; import { tArray, tObject } from 'utils/translation'; @@ -48,6 +49,17 @@ type StepThreeListType = { const TwoPagerMeeting = () => { const { t: twoPageMeetingT } = useTranslation('twoPageMeeting'); + const location = useLocation(); + + const [initLocation] = useState(location.pathname); + + const { prevPathname, selectedSolution, renderModal, loading } = + useModalSolutionState(OperationalSolutionKey.LDG); + + const ldgRoute = `${initLocation}${location.search}${ + location.search ? '&' : '?' + }solution=learning-and-diffusion-group§ion=about`; + const summaryboxListItems: string[] = tArray( 'twoPageMeeting:summaryBox.list' ); @@ -92,25 +104,20 @@ const TwoPagerMeeting = () => { 'twoPageMeeting:about.stepThree.list' ); - const { helpSolutions } = useHelpSolution(); - const { prevPathname, selectedSolution: solution } = - useModalSolutionState(null); - - // Solution to render in modal - const selectedSolution = findSolutionByRouteParam( - solution?.route || null, - helpSolutions - ); + if (loading) { + return ; + } return ( <> - {selectedSolution && ( + {renderModal && selectedSolution && ( )} + @@ -462,7 +469,7 @@ const TwoPagerMeeting = () => { ml: ( {k} diff --git a/src/features/HelpAndKnowledge/Articles/index.tsx b/src/features/HelpAndKnowledge/Articles/index.tsx index 77f50d7f33..f821d26899 100644 --- a/src/features/HelpAndKnowledge/Articles/index.tsx +++ b/src/features/HelpAndKnowledge/Articles/index.tsx @@ -60,7 +60,7 @@ const helpAndKnowledgeArticles: ArticleProps[] = [ }, { key: HelpArticle.SIX_PAGER_MEETING, - route: '/about-six-page-concept-papers-and-review-meeting', + route: '/about-6-page-concept-papers-and-review-meeting', translation: 'sixPageMeeting', type: ArticleCategories.MODEL_CONCEPT_AND_DESIGN }, diff --git a/src/features/HelpAndKnowledge/index.tsx b/src/features/HelpAndKnowledge/index.tsx index 2941ffad72..72e9d151e2 100644 --- a/src/features/HelpAndKnowledge/index.tsx +++ b/src/features/HelpAndKnowledge/index.tsx @@ -48,7 +48,7 @@ export const HelpAndKnowledge = () => { diff --git a/src/i18n/en-US/routes.ts b/src/i18n/en-US/routes.ts index 24d0aaed08..e03fe35e4b 100644 --- a/src/i18n/en-US/routes.ts +++ b/src/i18n/en-US/routes.ts @@ -136,7 +136,7 @@ const routes = { 'Help and knowledge center - High level project plan', '/about-2-page-concept-papers-and-review-meetings': 'Help and knowledge center - About 2-page concept papers and review meetings', - '/about-six-page-concept-papers-and-review-meeting': + '/about-6-page-concept-papers-and-review-meeting': 'Help and knowledge center - About 6-page concept papers and review meetings', '/utilizing-solutions': 'Help and knowledge center - Utilizing solutions', '/model-and-solution-implementation':