diff --git a/apps/web/src/components/interviews/dashboard/InterviewsDashboardPage.tsx b/apps/web/src/components/interviews/dashboard/InterviewsDashboardPage.tsx index c9c4e9634..b6fdb5bdc 100644 --- a/apps/web/src/components/interviews/dashboard/InterviewsDashboardPage.tsx +++ b/apps/web/src/components/interviews/dashboard/InterviewsDashboardPage.tsx @@ -112,6 +112,7 @@ export default function InterviewsDashboardPage({ {isLoggedIn && ( diff --git a/apps/web/src/components/interviews/dashboard/InterviewsDashboardPageHeader.tsx b/apps/web/src/components/interviews/dashboard/InterviewsDashboardPageHeader.tsx index b46f98e54..9aac5a25e 100644 --- a/apps/web/src/components/interviews/dashboard/InterviewsDashboardPageHeader.tsx +++ b/apps/web/src/components/interviews/dashboard/InterviewsDashboardPageHeader.tsx @@ -83,9 +83,12 @@ export default function InterviewsDashboardPageHeader({ themeGlassyBorder, [ 'transition-opacity duration-500', - isContributionsLoading || currentMaxConsecutiveDays === 0 - ? 'opacity-0' - : 'opacity-100', + isContributionsLoading ? 'opacity-0' : 'opacity-100', + ], + [ + !isContributionsLoading && + currentMaxConsecutiveDays === 0 && + 'hidden', ], )}> diff --git a/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsChart.tsx b/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsChart.tsx index 7d6137977..9b5db7563 100644 --- a/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsChart.tsx +++ b/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsChart.tsx @@ -20,6 +20,7 @@ const contributionColorMap: Record = { type Props = Readonly<{ contributions?: Record; endTime: Date; + isContributionsLoading: boolean; startTime: Date; }>; @@ -27,6 +28,7 @@ export default function InterviewsDashboardContributionsChart({ contributions, startTime, endTime, + isContributionsLoading, }: Props) { const intl = useIntl(); const months = useMemo( @@ -112,6 +114,10 @@ export default function InterviewsDashboardContributionsChart({ dayOfWeek === 'Friday' && 'row-start-6', dayOfWeek === 'Saturday' && 'row-start-7', ], + [ + 'transition-colors duration-500', + isContributionsLoading && contributionColorMap[0], + ], [ contributionCount >= 4 ? contributionColorMap[4] diff --git a/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsHeatmapCard.tsx b/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsHeatmapCard.tsx index 044d3d30c..c00b598ea 100644 --- a/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsHeatmapCard.tsx +++ b/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardContributionsHeatmapCard.tsx @@ -17,10 +17,12 @@ import { findMaxConsecutiveDays, getDateRangeFromToday } from './utils'; type Props = Readonly<{ contributions?: Record; + isContributionsLoading: boolean; }>; export default function InterviewsDashboardContributionsHeatmapCard({ contributions, + isContributionsLoading, }: Props) { const { startTime, endTime } = useMemo(() => getDateRangeFromToday(), []); const maxConsecutiveDays = findMaxConsecutiveDays(contributions); @@ -39,7 +41,13 @@ export default function InterviewsDashboardContributionsHeatmapCard({
{/* Contributions count */}
- + }> - + }> - +
diff --git a/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardProgressSection.tsx b/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardProgressSection.tsx index 88b2304c2..23ef1d700 100644 --- a/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardProgressSection.tsx +++ b/apps/web/src/components/interviews/dashboard/progress/InterviewsDashboardProgressSection.tsx @@ -12,6 +12,7 @@ import InterviewsDashboardSolvedProblemsCard from './InterviewsDashboardSolvedPr type Props = Readonly<{ contributions?: Record; + isContributionsLoading: boolean; questions: { codingQuestions: ReadonlyArray; quizQuestions: ReadonlyArray; @@ -26,6 +27,7 @@ export default function InterviewsDashboardProgressSection({ questionsProgress, questions, contributions, + isContributionsLoading, }: Props) { return (
@@ -48,6 +50,7 @@ export default function InterviewsDashboardProgressSection({
);