@@ -24,22 +24,30 @@ const dateRanges: DateRangeType[] = [
2424 { label : 'the month' , value : 'monthly' } ,
2525]
2626
27+ const getInitialDateRange = ( value : string | undefined ) => {
28+ let initialDateRange = dateRanges . find ( ( t ) => t . value === value )
29+ if ( initialDateRange ) return initialDateRange
30+ return dateRanges [ 0 ]
31+ }
32+
2733export function GithubCard ( { meta, withAds } : CardPropsType ) {
2834 const { userSelectedTags, cardsSettings, setCardSettings } = useUserPreferences ( )
2935 const [ selectedTag , setSelectedTag ] = useState < Tag > ( )
30- const [ selectedDateRange , setSelectedDateRange ] = useState < DateRangeType > ( dateRanges [ 0 ] )
36+ const [ selectedDateRange , setSelectedDateRange ] = useState < DateRangeType > (
37+ getInitialDateRange ( cardsSettings ?. github ?. dateRange )
38+ )
3139
3240 useEffect ( ( ) => {
3341 if ( selectedTag ) {
34- setCardSettings ( meta . label . toLowerCase ( ) , { language : selectedTag . label } )
42+ setCardSettings ( meta . value , { language : selectedTag . label } )
3543 }
36- } , [ meta . label , selectedTag , setCardSettings ] )
44+ } , [ meta . value , selectedTag , setCardSettings ] )
3745
3846 useEffect ( ( ) => {
3947 if ( selectedDateRange ) {
40- setCardSettings ( meta . label . toLowerCase ( ) , { language : selectedDateRange . value } )
48+ setCardSettings ( meta . value , { ... cardsSettings . github , dateRange : selectedDateRange . value } )
4149 }
42- } , [ meta . label , selectedDateRange , setCardSettings ] )
50+ } , [ meta . value , selectedDateRange , setCardSettings ] )
4351
4452 const getQueryTags = ( ) => {
4553 if ( ! selectedTag ) {
@@ -59,7 +67,7 @@ export function GithubCard({ meta, withAds }: CardPropsType) {
5967 tags : getQueryTags ( ) ,
6068 dateRange : selectedDateRange . value ,
6169 config : {
62- enabled : ! ! selectedTag ?. githubValues ,
70+ enabled : ! ! selectedTag ?. githubValues
6371 } ,
6472 } )
6573
@@ -93,7 +101,7 @@ export function GithubCard({ meta, withAds }: CardPropsType) {
93101 selectedTag = { selectedTag }
94102 setSelectedTag = { setSelectedTag }
95103 fallbackTag = { GLOBAL_TAG }
96- cardSettings = { cardsSettings ?. repos ?. language }
104+ cardSettings = { cardsSettings ?. github ?. language }
97105 trackEvent = { ( tag : Tag ) => trackCardLanguageSelect ( meta . analyticsTag , tag . value ) }
98106 data = { userSelectedTags . map ( ( tag ) => ( {
99107 label : tag . label ,
@@ -109,7 +117,7 @@ export function GithubCard({ meta, withAds }: CardPropsType) {
109117 trackEvent = { ( tag : DateRangeType ) =>
110118 trackCardDateRangeSelect ( meta . analyticsTag , tag . value )
111119 }
112- cardSettings = { cardsSettings ?. repos ?. dateRange }
120+ cardSettings = { cardsSettings ?. github ?. dateRange }
113121 data = { dateRanges }
114122 />
115123 </ div >
0 commit comments