diff --git a/CHANGELOG.md b/CHANGELOG.md index 9baecb2c80..d7bf037cba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# [1.222.0](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.221.4...v1.222.0) (2025-01-10) + +### Features + +- add sprint done to columns checked for merge conflict ([d58cebf](https://github.com/bcgov/CONN-CCBC-portal/commit/d58cebf9e6ccaf00266c292c9ad7ddd0f88fcc82)) + ## [1.221.4](https://github.com/bcgov/CONN-CCBC-portal/compare/v1.221.3...v1.221.4) (2025-01-06) ### Bug Fixes diff --git a/app/components/Analyst/ApplicationHeader.tsx b/app/components/Analyst/ApplicationHeader.tsx index 43c7bb4817..1b98f46f6c 100644 --- a/app/components/Analyst/ApplicationHeader.tsx +++ b/app/components/Analyst/ApplicationHeader.tsx @@ -6,7 +6,6 @@ import ChangeStatus from 'components/Analyst/ChangeStatus'; import { useFeature } from '@growthbook/growthbook-react'; import EditProjectDescription from './EditProjectDescription'; import StatusInformationIcon from './StatusInformationIcon'; -import StatusInformationModal from './StatusInformationModal'; import AssignProjectType from './AssignProjectType'; import PendingChangeRequest from './PendingChangeRequest/PendingChangeRequest'; @@ -175,7 +174,7 @@ const ApplicationHeader: React.FC = ({ query }) => { } statusList={allApplicationStatusTypes?.nodes} /> - + External Status diff --git a/app/components/Analyst/CBC/CbcHeader.tsx b/app/components/Analyst/CBC/CbcHeader.tsx index c742b149b9..8284469a9b 100644 --- a/app/components/Analyst/CBC/CbcHeader.tsx +++ b/app/components/Analyst/CBC/CbcHeader.tsx @@ -6,7 +6,6 @@ import CbcEditProjectDescription from './CbcEditProjectDescription'; import CbcAssignProjectType from './CbcAssignProjectType'; import CbcEditProjectNumber from './CbcEditProjectNumber'; import StatusInformationIcon from '../StatusInformationIcon'; -import CbcStatusInformationModal from './CbcStatusInformationModal'; const StyledCallout = styled.div` margin-bottom: 0.5em; @@ -142,7 +141,7 @@ const CbcHeader: React.FC = ({ query, isFormEditable = false }) => { ]} isFormEditable={isFormEditable} /> - + Project Type diff --git a/app/components/Analyst/CBC/CbcStatusInformationModal.tsx b/app/components/Analyst/CBC/CbcStatusInformation.tsx similarity index 78% rename from app/components/Analyst/CBC/CbcStatusInformationModal.tsx rename to app/components/Analyst/CBC/CbcStatusInformation.tsx index 59c4763a27..e8365f9c0b 100644 --- a/app/components/Analyst/CBC/CbcStatusInformationModal.tsx +++ b/app/components/Analyst/CBC/CbcStatusInformation.tsx @@ -1,22 +1,13 @@ import Image from 'next/image'; import styled from 'styled-components'; import Chip from '@mui/material/Chip'; -import Modal from 'components/Modal'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faLightbulb } from '@fortawesome/free-solid-svg-icons'; -interface Props { - id?: string; - title?: string; - close: () => void; - isOpen: boolean; -} - const StyledIcon = styled(FontAwesomeIcon)` color: ${(props) => props.theme.color.primaryYellow}; `; -// Styled div whose children are split to two columns const TwoColumnDiv = styled.div` display: grid; grid-template-columns: 100px 1fr; @@ -24,16 +15,11 @@ const TwoColumnDiv = styled.div` align-items: center; `; -const CbcStatusInformationModal: React.FC = ({ - id = 'cbc-status-information-modal', - title = 'Description of Statuses and Triggers', - isOpen, - close, -}) => { +const CbcStatusInformation = () => { const infoGraphicUrl = '/images/cbcStateMachine.svg'; return ( - + <> -
+
{' '} The internal status for CBC projects mirrors the external status and @@ -66,8 +52,8 @@ const CbcStatusInformationModal: React.FC = ({ /> Applicant has withdrawn their submitted application - + ); }; -export default CbcStatusInformationModal; +export default CbcStatusInformation; diff --git a/app/components/Analyst/CcbcStatusInformation.tsx b/app/components/Analyst/CcbcStatusInformation.tsx new file mode 100644 index 0000000000..d53d8357e9 --- /dev/null +++ b/app/components/Analyst/CcbcStatusInformation.tsx @@ -0,0 +1,150 @@ +import Image from 'next/image'; +import styled from 'styled-components'; +import Chip from '@mui/material/Chip'; + +const StyledTable = styled.table` + border: none; + margin-left: auto; + margin-right: auto; + max-width: 1000px; + padding-right: 75px; + padding-left: 75px; + margin-bottom: 52px; + th, + td { + border: none; + padding-bottom: 2px; + padding-top: 2px; + } +`; + +const CcbcStatusInformation = () => { + const infoGraphicUrl = '/images/stateMachine.svg'; + return ( + <> +
+ + The happy path for a project from application to completion. The external status is what an applicant sees and the internal status is what you the analyst sees. After an intake closes, both internal and external status are Received. After eligibility screening is assigned, the internal status can be changed to Screening but the external status remains Received. After it is determined to be eligible, the internal status can be changed to Assessment but the external status remains Received. If it is in the selection package for the Minister, the internal status can be changed to Recommendation but the external status remains Received. After the Minister states Approved in Annex A of the selection package, the internal status can be changed to Conditionally Approved. The external status can only be changed to Conditionally Approved when the applicant responds to the Letter of Conditional Approval, accepting the offer. When the Funding Agreement is signed by both the Recipient and the Province, the internal and external statuses can be changed to Agreement Signed. After a final implementation report is received and the final claim is processed, both statuses can be changed to Complete. + +
+
+ + + + + Other statuses + + + + + + + + + + Application is not rejected, but is not being actively reviewed. + For example, an applicant has been given 30 days to send a + community letter of support, and they haven't finished by + the deadline. + + + + + + + + Application was not selected by the BC Minister for conditional + approval and is no longer being considered as a CCBC project. + + + + + + + + Applicant has withdrawn their submitted application and should + not be reviewed or assessed by NWBC and ISED. + + + + + + + Project deliverables not achieved. + + + + + + + Applicant has created an application, visible only to + applicants. + + + + + + + + Application submitted on final page of form, but can still be + edited until the intake closes. + + + + +
+ + ); +}; + +export default CcbcStatusInformation; diff --git a/app/components/Analyst/StatusInformationIcon.tsx b/app/components/Analyst/StatusInformationIcon.tsx index df08466b76..62a415a4f1 100644 --- a/app/components/Analyst/StatusInformationIcon.tsx +++ b/app/components/Analyst/StatusInformationIcon.tsx @@ -2,12 +2,17 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faCircleInfo } from '@fortawesome/free-solid-svg-icons'; import styled from 'styled-components'; import useModal from 'lib/helpers/useModal'; +import StatusInformationModal from './StatusInformationModal'; const StyledFontAwesome = styled(FontAwesomeIcon)` margin-left: 4px; `; -const StatusInformationIcon = ({ ModalComponent }) => { +interface StatusInformationIconProps { + type?: 'cbc' | 'ccbc'; +} + +const StatusInformationIcon = ({ type }: StatusInformationIconProps) => { const modalProps = useModal(); const handleClick = () => { @@ -22,7 +27,7 @@ const StatusInformationIcon = ({ ModalComponent }) => { return ( <> - +
void; isOpen: boolean; } @@ -28,135 +18,22 @@ interface Props { const StatusInformationModal: React.FC = ({ id = 'status-information-modal', title = 'Description of Statuses and Triggers', + type, isOpen, close, -}) => { - const infoGraphicUrl = '/images/stateMachine.svg'; - return ( - -
- - The happy path for a project from application to completion. The external status is what an applicant sees and the internal status is what you the analyst sees. After an intake closes, both internal and external status are Received. After eligibility screening is assigned, the internal status can be changed to Screening but the external status remains Received. After it is determined to be eligible, the internal status can be changed to Assessment but the external status remains Received. If it is in the selection package for the Minister, the internal status can be changed to Recommendation but the external status remains Received. After the Minister states Approved in Annex A of the selection package, the internal status can be changed to Conditionally Approved. The external status can only be changed to Conditionally Approved when the applicant responds to the Letter of Conditional Approval, accepting the offer. When the Funding Agreement is signed by both the Recipient and the Province, the internal and external statuses can be changed to Agreement Signed. After a final implementation report is received and the final claim is processed, both statuses can be changed to Complete. - -
-
- - - - - Other statuses - - - - - - - - - - Application is not rejected, but is not being actively reviewed. - For example, an applicant has been given 30 days to send a - community letter of support, and they haven't finished by - the deadline. - - - - - - - - Application was not selected by the BC Minister for conditional - approval and is no longer being considered as a CCBC project. - - - - - - - - Applicant has withdrawn their submitted application and should - not be reviewed or assessed by NWBC and ISED. - - - - - - - Project deliverables not achieved. - - - - - - - Applicant has created an application, visible only to - applicants. - - - - - - - - Application submitted on final page of form, but can still be - edited until the intake closes. - - - - -
-
- ); -}; +}) => ( + + {!type && ( + <> + CCBC + + CBC + + + )} + {type === 'ccbc' && } + {type === 'cbc' && } + +); export default StatusInformationModal; diff --git a/app/components/AnalystDashboard/AllDashboard.tsx b/app/components/AnalystDashboard/AllDashboard.tsx index 50ad19e5f4..eaf92a5213 100644 --- a/app/components/AnalystDashboard/AllDashboard.tsx +++ b/app/components/AnalystDashboard/AllDashboard.tsx @@ -32,7 +32,6 @@ import type { AllDashboardTable_query$key } from '__generated__/AllDashboardTabl import { Box, IconButton, TableCellProps } from '@mui/material'; import { useFeature } from '@growthbook/growthbook-react'; import getConfig from 'next/config'; -import StatusInformationModal from 'components/Analyst/StatusInformationModal'; import { filterZones, sortStatus, @@ -747,7 +746,7 @@ const AllDashboardTable: React.FC = ({ query }) => { renderToolbarInternalActions: ({ table }) => ( - + diff --git a/db/sqitch.plan b/db/sqitch.plan index 1cc3afb15b..306faea892 100644 --- a/db/sqitch.plan +++ b/db/sqitch.plan @@ -778,3 +778,4 @@ types/assessment_form_result 2024-12-20T14:51:59Z ,,, # add mutations/create_assessment_form [mutations/create_assessment_form@1.217.0] 2024-12-20T15:09:15Z ,,, # update create_assessment_form mutation @1.221.3 2025-01-06T21:34:27Z CCBC Service Account # release v1.221.3 @1.221.4 2025-01-06T22:46:18Z CCBC Service Account # release v1.221.4 +@1.222.0 2025-01-10T16:34:19Z CCBC Service Account # release v1.222.0 diff --git a/package.json b/package.json index 64c15a6483..5ecc334ff9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "CONN-CCBC-portal", - "version": "1.221.4", + "version": "1.222.0", "main": "index.js", "repository": "https://github.com/bcgov/CONN-CCBC-portal.git", "author": "Romer, Meherzad CITZ:EX ",