diff --git a/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/Buttons/ViewExistingResponsesButton.tsx b/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/Buttons/ViewExistingResponsesButton.tsx index 4615ec2c7..0b3e85e9b 100644 --- a/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/Buttons/ViewExistingResponsesButton.tsx +++ b/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/Buttons/ViewExistingResponsesButton.tsx @@ -46,6 +46,15 @@ function ViewExistingResponsesButton() { navigate('/dashboard/responses'); } + let responseMessage; + if (isFetching && selectedQuestionnaire) { + responseMessage = 'Loading responses'; + } else if (existingResponses.length === 0) { + responseMessage = 'No responses found'; + } else { + responseMessage = 'View responses'; + } + const buttonIsDisabled = !selectedQuestionnaire || existingResponses.length === 0 || isFetching; return ( @@ -70,11 +79,7 @@ function ViewExistingResponsesButton() { color={buttonIsDisabled ? 'text.disabled' : 'primary'} textAlign="center" sx={{ mt: -0.5, mb: 0.5 }}> - {isFetching && selectedQuestionnaire - ? 'Loading responses' - : existingResponses.length === 0 - ? 'No responses found' - : 'View responses'} + {responseMessage} ); diff --git a/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/TableComponents/QuestionnaireListToolbar.styles.ts b/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/TableComponents/QuestionnaireListToolbar.styles.ts index c17af3cbb..1dfc5aa00 100644 --- a/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/TableComponents/QuestionnaireListToolbar.styles.ts +++ b/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/QuestionnairePage/TableComponents/QuestionnaireListToolbar.styles.ts @@ -65,19 +65,21 @@ export function getResponseToolBarColors( selectedQuestionnaire: Questionnaire | null, existingResponses: QuestionnaireResponse[] ) { - return { - ...(selected - ? { - color: 'primary.main', - bgcolor: 'pale.primary' - } - : selectedQuestionnaire && existingResponses.length > 0 - ? { - color: 'secondary.main', - bgcolor: 'pale.secondary' - } - : null) - }; + if (selected) { + return { + color: 'primary.main', + bgcolor: 'pale.primary' + }; + } + + if (selectedQuestionnaire && existingResponses.length > 0) { + return { + color: 'secondary.main', + bgcolor: 'pale.secondary' + }; + } + + return {}; } export function getQuestionnaireToolBarColors(selected: Questionnaire | null) { diff --git a/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/ResponsesPage/TableComponents/ResponseListToolbar.tsx b/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/ResponsesPage/TableComponents/ResponseListToolbar.tsx index e8a862b54..d76066beb 100644 --- a/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/ResponsesPage/TableComponents/ResponseListToolbar.tsx +++ b/apps/smart-forms-app/src/features/dashboard/components/DashboardPages/ResponsesPage/TableComponents/ResponseListToolbar.tsx @@ -21,8 +21,7 @@ import { StyledRoot } from '../../QuestionnairePage/TableComponents/QuestionnaireListToolbar.styles.ts'; import ResponseListToolbarButtons from './ResponseListToolbarButtons.tsx'; -import type { QuestionnaireResponse } from 'fhir/r4'; -import type { Questionnaire } from 'fhir/r4'; +import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4'; import ResponseListToolbarLeftSection from './ResponseListToolbarLeftSection.tsx'; import useSelectedQuestionnaire from '../../../../hooks/useSelectedQuestionnaire.ts';