From cc31e2543b990f3d905bbe0cf25ec20fce07eead Mon Sep 17 00:00:00 2001 From: arvinxx Date: Sat, 13 Feb 2021 16:53:16 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20fix:=20=E6=9B=B4=E6=96=B0=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=BC=98=E5=8C=96=E4=B8=BA=E6=AF=8F=E5=A4=A9=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=B8=80=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activityMap/app/Heatmap/index.tsx | 2 +- .../activityMap/app/useHeatmapData.ts | 19 ++++++++++++++++--- src/utils/activityMap.ts | 3 +-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/contentScripts/activityMap/app/Heatmap/index.tsx b/src/contentScripts/activityMap/app/Heatmap/index.tsx index 1fa6284..ddc9148 100644 --- a/src/contentScripts/activityMap/app/Heatmap/index.tsx +++ b/src/contentScripts/activityMap/app/Heatmap/index.tsx @@ -64,7 +64,7 @@ const DemoHeatmap: FC = ({ data }) => { values: ['日', '一', '二', '三', '四', '五', '六'], }, week: { type: 'cat' }, - commits: { sync: true, alias: '修改次数' }, + commits: { sync: true, alias: '修改文档' }, date: { type: 'cat' }, }, limitInPlot: true, diff --git a/src/contentScripts/activityMap/app/useHeatmapData.ts b/src/contentScripts/activityMap/app/useHeatmapData.ts index f69a2cd..a973c74 100644 --- a/src/contentScripts/activityMap/app/useHeatmapData.ts +++ b/src/contentScripts/activityMap/app/useHeatmapData.ts @@ -1,13 +1,21 @@ import { useEffect, useState } from 'react'; import { getActivityData, mapToHeatData, yuqueToken } from '@/utils'; import { useLocalStorageState } from 'ahooks'; +import dayjs from 'dayjs'; export const useHeatmapData = () => { const [loading, setLoading] = useState(false); - const [data, setData] = useLocalStorageState('HeatmapRowData', []); + const [data, setData] = useLocalStorageState( + 'PY_HEATMAP_RAW_DATA', + [], + ); + const [date, setDate] = useLocalStorageState( + 'PY_HEATMAP_UPDATED_AT', + Date.now(), + ); - const [loginPath, setLoginPath] = useLocalStorageState('LOGIN_PATH', ''); + const [loginPath, setLoginPath] = useLocalStorageState('PY_LOGIN_PATH', ''); /** * 获取数据 @@ -21,11 +29,16 @@ export const useHeatmapData = () => { const { data: activityData, username } = result; setLoginPath(username); setData(activityData!); + setDate(Date.now()); } }; useEffect(() => { - if ((yuqueToken && !loginPath) || data?.length === 0) { + if (!yuqueToken) return; + const isToday = date && dayjs(date).isSame(dayjs(), 'd'); + const isEmpty = data && data.length === 0; + + if (!loginPath || isEmpty || !isToday) { fetchData(); } }, [data]); diff --git a/src/utils/activityMap.ts b/src/utils/activityMap.ts index 34bfb21..91cab0f 100644 --- a/src/utils/activityMap.ts +++ b/src/utils/activityMap.ts @@ -134,8 +134,7 @@ export const mapDataCountToLevel = (count: number) => { if (count === 0) return 0; if (count < 2) return 1; if (count < 5) return 2; - if (count < 10) return 3; - // if (count < 20) return 4; + if (count < 15) return 3; return 4; }; /**