11import GenericDialog from "@components/shared/GenericDialog/GenericDialog" ;
22import GenericSortableTable from "@components/shared/GenericSortableTable/GenericSortableTable" ;
33import { HeadCell } from "@components/shared/GenericSortableTable/GenericSortableTable.types" ;
4+ import DiseaseDetails from "@components/services/DiseaseDetails/DiseaseDetails" ;
45import useDialog from "@hooks/useDialog" ;
56import useFetch from "@hooks/useFetch" ;
6- import { DiseasesResponseModel } from "@models/Disease" ;
7- import { Box , Card , CardContent , Skeleton , Typography } from "@mui/material" ;
7+ import { DiseaseModel , DiseasesResponseModel } from "@models/Disease" ;
8+ import { Box , Skeleton } from "@mui/material" ;
89import { useEffect , useState } from "react" ;
910
1011const DiseasesPage = ( ) => {
1112 const [ diseases , setDiseases ] = useState < DiseaseRow [ ] > ( [ ] ) ;
12- const [ selectedDisease , setSelectedDisease ] = useState < DiseaseRow | null > ( null ) ;
13+ const [ selectedDisease , setSelectedDisease ] = useState < DiseaseModel | undefined > ( undefined ) ;
1314
1415 const { fetchData : getFetchData , response : getResponse , error : getError , loading : getLoading } = useFetch < DiseasesResponseModel > (
1516 `proxy/pdm/api/v1/disease/` ,
@@ -61,7 +62,14 @@ const DiseasesPage = () => {
6162 ] ;
6263
6364 const handleRowClick = ( disease : DiseaseRow ) => {
64- setSelectedDisease ( disease ) ;
65+ setSelectedDisease ( {
66+ id : disease . id ,
67+ name : disease . name ,
68+ base_gdd : disease . baseGDD ,
69+ eppo_code : disease . eppoCode ,
70+ description : disease . description ,
71+ gdd_points : disease . gddPoints
72+ } ) ;
6573 showDialog ( {
6674 title : `Details for ${ disease . name } ` ,
6775 variant : 'empty' ,
@@ -71,7 +79,7 @@ const DiseasesPage = () => {
7179
7280 const handleCloseDialog = ( ) => {
7381 dialogProps . onClose ( ) ;
74- setSelectedDisease ( null ) ;
82+ setSelectedDisease ( undefined ) ;
7583 } ;
7684
7785 return (
@@ -84,29 +92,7 @@ const DiseasesPage = () => {
8492 }
8593 </ Box >
8694 < GenericDialog { ...dialogProps } onClose = { handleCloseDialog } >
87- < >
88- < Box display = { 'flex' } flexDirection = { 'column' } gap = { 2 } >
89- < Typography variant = "body1" >
90- Disease description: { selectedDisease ?. description }
91- </ Typography >
92- < Typography variant = "body1" >
93- EPPO code: { selectedDisease ?. eppoCode }
94- </ Typography >
95- < Typography variant = "body1" >
96- Base GDD: { selectedDisease ?. baseGDD }
97- </ Typography >
98- < Typography variant = "h6" > GDD points</ Typography >
99- { selectedDisease ?. gddPoints . map ( gddp => {
100- return < Card key = { "GDDP-ID-" + gddp . id } >
101- < CardContent >
102- < div > From: { gddp . start } </ div >
103- < div > To: { gddp . end } </ div >
104- < div > Descriptor: { gddp . descriptor } </ div >
105- </ CardContent >
106- </ Card >
107- } ) }
108- </ Box >
109- </ >
95+ < DiseaseDetails disease = { selectedDisease } > </ DiseaseDetails >
11096 </ GenericDialog >
11197 </ >
11298 )
0 commit comments