@@ -5,21 +5,21 @@ import { TrafficLight } from '../Generic/TrafficLightComponent'
55
66import { Table , TableRow , TableCell } from '../Generic/TableComponent'
77import { KeyDataProgramme } from '@/client/lib/types'
8+ import { useSelector } from 'react-redux'
89
910interface KeyDataTableProps {
10- facultyFilter : string [ ] ,
11- programmeLevelFilter : string ,
11+ facultyFilter : string [ ]
12+ programmeLevelFilter : string
1213 yearFilter : string
1314}
1415
1516const KeyFigureTableComponent = ( {
1617 facultyFilter = [ ] ,
17- programmeLevelFilter = "" ,
18- yearFilter = ""
18+ programmeLevelFilter = '' ,
19+ yearFilter = '' ,
1920} : KeyDataTableProps ) => {
20-
21-
22- const keyData = useFetchKeyData ( )
21+ const lang = useSelector ( ( state : { language : string } ) => state . language )
22+ const keyData = useFetchKeyData ( lang )
2323
2424 if ( ! keyData ) {
2525 return < CircularProgress />
@@ -28,42 +28,40 @@ const KeyFigureTableComponent = ({
2828 const { kandiohjelmat, maisteriohjelmat } = keyData . data
2929 let programmeData : KeyDataProgramme [ ] = [ ...kandiohjelmat , ...maisteriohjelmat ]
3030
31-
3231 // Convert to set for faster lookup
33- const allowedFacultiesSet = new Set ( facultyFilter ) ;
32+ const allowedFacultiesSet = new Set ( facultyFilter )
3433
3534 const filteredData = programmeData . filter ( ( programmeData : KeyDataProgramme ) => {
3635 // This filter assumes that kouluohjelmakoodi is in the format <Level><FacultyCode>_xxx
3736 // example: KH10_001, where K is the level, H10 is the faculty code
3837
39- const code = programmeData . koulutusohjelmakoodi ;
38+ const code = programmeData . koulutusohjelmakoodi
4039
41- let programmeLevelCode = "" ;
40+ let programmeLevelCode = ''
4241 switch ( code . charAt ( 0 ) ) {
43- case "K" :
44- programmeLevelCode = " bachelor" ;
45- break ;
46- case "M" :
47- programmeLevelCode = " master" ;
48- break ;
49- case "D" :
50- programmeLevelCode = " doctoral" ;
51- break ;
52- case "I" :
53- programmeLevelCode = " international" ;
54- break ;
42+ case 'K' :
43+ programmeLevelCode = ' bachelor'
44+ break
45+ case 'M' :
46+ programmeLevelCode = ' master'
47+ break
48+ case 'D' :
49+ programmeLevelCode = ' doctoral'
50+ break
51+ case 'I' :
52+ programmeLevelCode = ' international'
53+ break
5554 default :
56- programmeLevelCode = "" ;
55+ programmeLevelCode = ''
5756 }
5857
59- const facultyCode = code . substring ( 1 , 4 ) ;
60-
61- const facultyMatches = allowedFacultiesSet . has ( facultyCode ) || allowedFacultiesSet . has ( "allFaculties" ) ;
62- const levelMatches = programmeLevelCode === programmeLevelFilter || programmeLevelFilter === "allProgrammes" ;
58+ const facultyCode = code . substring ( 1 , 4 )
6359
64- return facultyMatches && levelMatches ;
65- } ) ;
60+ const facultyMatches = allowedFacultiesSet . has ( facultyCode ) || allowedFacultiesSet . has ( 'allFaculties' )
61+ const levelMatches = programmeLevelCode === programmeLevelFilter || programmeLevelFilter === 'allProgrammes'
6662
63+ return facultyMatches && levelMatches
64+ } )
6765
6866 return (
6967 < div >
@@ -80,7 +78,7 @@ const KeyFigureTableComponent = ({
8078
8179 { filteredData . map ( ( programmeData : KeyDataProgramme ) => (
8280 < TableRow key = { programmeData . koulutusohjelmakoodi } >
83- < TableCell itemAlign = ' left' >
81+ < TableCell itemAlign = " left" >
8482 < Link to = { `/v1/programmes/${ programmeData . koulutusohjelmakoodi } ` } > { programmeData . koulutusohjelma } </ Link >
8583 </ TableCell >
8684 < TableCell >
0 commit comments