From f2dd1b16416bf66d74f51d2c7af8877ed519623b Mon Sep 17 00:00:00 2001 From: Chouikane Date: Tue, 8 Nov 2022 23:31:50 +0100 Subject: [PATCH] fix default selected cards --- .../cards/components/devtoCard/DevtoCard.tsx | 2 +- .../freecodecampCard/FreecodecampCard.tsx | 6 ++--- .../components/githubCard/GithubCard.tsx | 24 ++++++++++++------- .../components/hashnodeCard/HashnodeCard.tsx | 4 ++-- .../components/mediumCard/MediumCard.tsx | 2 +- 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/features/cards/components/devtoCard/DevtoCard.tsx b/src/features/cards/components/devtoCard/DevtoCard.tsx index 261231f3..dee07aaa 100644 --- a/src/features/cards/components/devtoCard/DevtoCard.tsx +++ b/src/features/cards/components/devtoCard/DevtoCard.tsx @@ -19,7 +19,7 @@ export function DevtoCard({ withAds, meta }: CardPropsType) { useEffect(() => { if (selectedTag) { - setCardSettings(meta.label.toLowerCase(), { language: selectedTag.label }) + setCardSettings(meta.value, { language: selectedTag.label }) } }, [selectedTag, meta, setCardSettings]) diff --git a/src/features/cards/components/freecodecampCard/FreecodecampCard.tsx b/src/features/cards/components/freecodecampCard/FreecodecampCard.tsx index b19fecfc..fc8e8d44 100644 --- a/src/features/cards/components/freecodecampCard/FreecodecampCard.tsx +++ b/src/features/cards/components/freecodecampCard/FreecodecampCard.tsx @@ -19,9 +19,9 @@ export function FreecodecampCard({ meta, withAds }: CardPropsType) { useEffect(() => { if (selectedTag) { - setCardSettings(meta.label.toLowerCase(), { language: selectedTag.label }) + setCardSettings(meta.value, { language: selectedTag.label }) } - }, [meta.label, setCardSettings, selectedTag]) + }, [meta.value, setCardSettings, selectedTag]) const getQueryTags = () => { if (!selectedTag) { @@ -67,7 +67,7 @@ export function FreecodecampCard({ meta, withAds }: CardPropsType) { selectedTag={selectedTag} setSelectedTag={setSelectedTag} fallbackTag={GLOBAL_TAG} - cardSettings={cardsSettings?.devto?.language} + cardSettings={cardsSettings?.freecodecamp?.language} trackEvent={(tag: Tag) => trackCardLanguageSelect(meta.analyticsTag, tag.value)} data={userSelectedTags.map((tag) => ({ label: tag.label, diff --git a/src/features/cards/components/githubCard/GithubCard.tsx b/src/features/cards/components/githubCard/GithubCard.tsx index 69026290..bf8b5ccb 100644 --- a/src/features/cards/components/githubCard/GithubCard.tsx +++ b/src/features/cards/components/githubCard/GithubCard.tsx @@ -24,22 +24,30 @@ const dateRanges: DateRangeType[] = [ { label: 'the month', value: 'monthly' }, ] +const getInitialDateRange = (value: string | undefined) => { + let initialDateRange = dateRanges.find((t) => t.value === value) + if (initialDateRange) return initialDateRange + return dateRanges[0] +} + export function GithubCard({ meta, withAds }: CardPropsType) { const { userSelectedTags, cardsSettings, setCardSettings } = useUserPreferences() const [selectedTag, setSelectedTag] = useState() - const [selectedDateRange, setSelectedDateRange] = useState(dateRanges[0]) + const [selectedDateRange, setSelectedDateRange] = useState( + getInitialDateRange(cardsSettings?.github?.dateRange) + ) useEffect(() => { if (selectedTag) { - setCardSettings(meta.label.toLowerCase(), { language: selectedTag.label }) + setCardSettings(meta.value, { language: selectedTag.label }) } - }, [meta.label, selectedTag, setCardSettings]) + }, [meta.value, selectedTag, setCardSettings]) useEffect(() => { if (selectedDateRange) { - setCardSettings(meta.label.toLowerCase(), { language: selectedDateRange.value }) + setCardSettings(meta.value, { ...cardsSettings.github, dateRange: selectedDateRange.value }) } - }, [meta.label, selectedDateRange, setCardSettings]) + }, [meta.value, selectedDateRange, setCardSettings]) const getQueryTags = () => { if (!selectedTag) { @@ -59,7 +67,7 @@ export function GithubCard({ meta, withAds }: CardPropsType) { tags: getQueryTags(), dateRange: selectedDateRange.value, config: { - enabled: !!selectedTag?.githubValues, + enabled: !!selectedTag?.githubValues }, }) @@ -93,7 +101,7 @@ export function GithubCard({ meta, withAds }: CardPropsType) { selectedTag={selectedTag} setSelectedTag={setSelectedTag} fallbackTag={GLOBAL_TAG} - cardSettings={cardsSettings?.repos?.language} + cardSettings={cardsSettings?.github?.language} trackEvent={(tag: Tag) => trackCardLanguageSelect(meta.analyticsTag, tag.value)} data={userSelectedTags.map((tag) => ({ label: tag.label, @@ -109,7 +117,7 @@ export function GithubCard({ meta, withAds }: CardPropsType) { trackEvent={(tag: DateRangeType) => trackCardDateRangeSelect(meta.analyticsTag, tag.value) } - cardSettings={cardsSettings?.repos?.dateRange} + cardSettings={cardsSettings?.github?.dateRange} data={dateRanges} /> diff --git a/src/features/cards/components/hashnodeCard/HashnodeCard.tsx b/src/features/cards/components/hashnodeCard/HashnodeCard.tsx index 31eee80b..1a016bde 100644 --- a/src/features/cards/components/hashnodeCard/HashnodeCard.tsx +++ b/src/features/cards/components/hashnodeCard/HashnodeCard.tsx @@ -19,9 +19,9 @@ export function HashnodeCard({ withAds, meta }: CardPropsType) { useEffect(() => { if (selectedTag) { - setCardSettings(meta.label.toLowerCase(), { language: selectedTag.label }) + setCardSettings(meta.value, { language: selectedTag.label }) } - }, [selectedTag, meta.label, setCardSettings]) + }, [selectedTag, meta.value, setCardSettings]) const getQueryTags = () => { if (!selectedTag) { diff --git a/src/features/cards/components/mediumCard/MediumCard.tsx b/src/features/cards/components/mediumCard/MediumCard.tsx index 1aea6f11..c5ec004a 100644 --- a/src/features/cards/components/mediumCard/MediumCard.tsx +++ b/src/features/cards/components/mediumCard/MediumCard.tsx @@ -19,7 +19,7 @@ export function MediumCard({ meta, withAds }: CardPropsType) { useEffect(() => { if (selectedTag) { - setCardSettings(meta.label.toLowerCase(), { language: selectedTag.label }) + setCardSettings(meta.value, { language: selectedTag.label }) } }, [selectedTag, meta, setCardSettings])