From 7624eaca7e37efc5185ff28e9db88d82421fbecc Mon Sep 17 00:00:00 2001 From: DESIREDDY MOHITH REDDY Date: Mon, 22 Jun 2026 23:43:29 +0530 Subject: [PATCH 1/4] [FEAT] Add reusable empty states to dashboard widgets #2646 --- src/app/leaderboard/page.tsx | 13 +++++++------ src/components/EmptyState.tsx | 18 +++++++++++++++--- src/components/GoalTracker.tsx | 4 ++-- src/components/PRBreakdownChart.tsx | 13 ++++++++++--- src/components/TopRepos.tsx | 28 +++++++++------------------- 5 files changed, 43 insertions(+), 33 deletions(-) diff --git a/src/app/leaderboard/page.tsx b/src/app/leaderboard/page.tsx index b78b24560..f1bc7545e 100644 --- a/src/app/leaderboard/page.tsx +++ b/src/app/leaderboard/page.tsx @@ -92,12 +92,13 @@ async function LeaderboardTable({
{!leaderboard ? ( -
-

Leaderboard data is temporarily unavailable.

- - Retry - -
+ ) : rows.length === 0 ? ( void; } export default function EmptyState({ @@ -14,10 +16,11 @@ export default function EmptyState({ description, actionLabel, actionHref, + actionOnClick, }: EmptyStateProps) { return (
-
+
{icon}

@@ -26,7 +29,7 @@ export default function EmptyState({

{description}

- {actionLabel && actionHref && ( + {actionLabel && actionHref && !actionOnClick && ( )} + {actionLabel && actionOnClick && ( + + )}

); } \ No newline at end of file diff --git a/src/components/GoalTracker.tsx b/src/components/GoalTracker.tsx index 1098c698b..ac695ce3a 100644 --- a/src/components/GoalTracker.tsx +++ b/src/components/GoalTracker.tsx @@ -522,8 +522,8 @@ export default function GoalTracker() {
diff --git a/src/components/PRBreakdownChart.tsx b/src/components/PRBreakdownChart.tsx index 15f98d641..c8e48cade 100644 --- a/src/components/PRBreakdownChart.tsx +++ b/src/components/PRBreakdownChart.tsx @@ -4,6 +4,7 @@ import { useCallback, useEffect, useState } from "react"; import { PieChart, Pie, Cell, Tooltip, ResponsiveContainer } from "recharts"; import { useAccount } from "@/components/AccountContext"; import WidgetSkeleton, { SkeletonBlock } from "./WidgetSkeleton"; +import EmptyState from "@/components/EmptyState"; interface PRBreakdown { draft: number; @@ -90,9 +91,15 @@ export default function PRBreakdownChart() {

PR Breakdown

{total === 0 ? ( -

- No pull requests found. -

+
+ +
) : ( <> diff --git a/src/components/TopRepos.tsx b/src/components/TopRepos.tsx index cfe475d85..0981c3820 100644 --- a/src/components/TopRepos.tsx +++ b/src/components/TopRepos.tsx @@ -1,5 +1,6 @@ "use client"; import SectionHeader from "./SectionHeader"; +import EmptyState from "@/components/EmptyState"; import { useCallback, useEffect, useState, memo, useMemo } from "react"; import { useAccount } from "@/components/AccountContext"; @@ -564,25 +565,14 @@ const togglePin = useCallback((repoFullName: string) => {
) : repos.length === 0 ? ( -
-
📦
- -

- No repositories found -

- -

- Push your first commit on GitHub to get started and see repository activity here. -

- - - Create Repository - +
+
) : ( <> From e4ffd11f35eb710a70d82f695ba4245740d66f4d Mon Sep 17 00:00:00 2001 From: DESIREDDY MOHITH REDDY Date: Mon, 13 Jul 2026 19:24:26 +0530 Subject: [PATCH 2/4] fix(ci): fix github actions versions and add contents:read permission for stargazers API --- .github/workflows/auto-unassign.yml | 2 +- .github/workflows/automated-tests.yml | 4 ++-- .github/workflows/ci.yml | 24 ++++++++++----------- .github/workflows/codeql.yml | 2 +- .github/workflows/duplicate-issue-check.yml | 2 +- .github/workflows/e2e.yml | 4 ++-- .github/workflows/gssoc-labels.yml | 8 +++---- .github/workflows/issue-assignment.yml | 2 +- .github/workflows/issue-closed-star.yml | 2 +- .github/workflows/labeler.yml | 4 ++-- .github/workflows/pr-merged-star.yml | 2 +- .github/workflows/pr-star-required.yml | 3 ++- .github/workflows/stale.yml | 2 +- .github/workflows/visual-regression.yml | 6 +++--- .github/workflows/welcome.yml | 2 +- 15 files changed, 35 insertions(+), 34 deletions(-) diff --git a/.github/workflows/auto-unassign.yml b/.github/workflows/auto-unassign.yml index 82f18a74f..55cc2f4a9 100644 --- a/.github/workflows/auto-unassign.yml +++ b/.github/workflows/auto-unassign.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check assigned issues and unassign stale ones - uses: actions/github-script@v9 + uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/automated-tests.yml b/.github/workflows/automated-tests.yml index 79b6f658c..5cec74b47 100644 --- a/.github/workflows/automated-tests.yml +++ b/.github/workflows/automated-tests.yml @@ -13,13 +13,13 @@ jobs: steps: - name: Checkout Code Repository Layers - uses: actions/checkout@v7 + uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - name: Initialize Node.js Environment - uses: actions/setup-node@v6 + uses: actions/setup-node@v4 with: node-version: 22 cache: 'pnpm' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7aebf142d..e60885a2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,11 +17,11 @@ jobs: name: Type check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -36,11 +36,11 @@ jobs: name: Lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -58,11 +58,11 @@ jobs: contents: read id-token: write steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -81,7 +81,7 @@ jobs: - name: Upload coverage to Codecov if: hashFiles('coverage/lcov.info') != '' - uses: codecov/codecov-action@v7 + uses: codecov/codecov-action@v4 with: files: ./coverage/lcov.info flags: unit @@ -103,11 +103,11 @@ jobs: SUPABASE_SERVICE_ROLE_KEY: placeholder-service-key NEXT_PUBLIC_APP_URL: http://localhost:3000 steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -122,11 +122,11 @@ jobs: name: Dependency audit runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -141,7 +141,7 @@ jobs: name: Environment security check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Check SERVICE_ROLE_KEY exposure run: bash scripts/check-env-security.sh diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 75e41c1a0..1c03ae1bc 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v4 diff --git a/.github/workflows/duplicate-issue-check.yml b/.github/workflows/duplicate-issue-check.yml index 0baeb6a23..916f67a6f 100644 --- a/.github/workflows/duplicate-issue-check.yml +++ b/.github/workflows/duplicate-issue-check.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check for duplicate issues - uses: actions/github-script@v9 + uses: actions/github-script@v7 with: script: | const issue = context.payload.issue; diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 5cb34abaa..4ed616386 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -26,11 +26,11 @@ jobs: PLAYWRIGHT_SERVER_MODE: start CI: true steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm diff --git a/.github/workflows/gssoc-labels.yml b/.github/workflows/gssoc-labels.yml index ed7795dfd..d7db1c705 100644 --- a/.github/workflows/gssoc-labels.yml +++ b/.github/workflows/gssoc-labels.yml @@ -18,12 +18,12 @@ jobs: if: github.event_name == 'pull_request_target' steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Detect and apply type labels - uses: actions/github-script@v9 + uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -106,7 +106,7 @@ jobs: } - name: Post admin checklist comment - uses: actions/github-script@v9 + uses: actions/github-script@v7 if: github.event.action == 'opened' with: github-token: ${{ secrets.GITHUB_TOKEN }} @@ -147,7 +147,7 @@ jobs: github.event.review.state == 'approved' steps: - name: Check for gssoc:approved label - uses: actions/github-script@v9 + uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/issue-assignment.yml b/.github/workflows/issue-assignment.yml index 64966cf2b..17e0d8a31 100644 --- a/.github/workflows/issue-assignment.yml +++ b/.github/workflows/issue-assignment.yml @@ -15,7 +15,7 @@ jobs: if: github.event.issue.pull_request == null steps: - name: Handle assignment request - uses: actions/github-script@v9 + uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/issue-closed-star.yml b/.github/workflows/issue-closed-star.yml index 11a85ec2b..a676483bf 100644 --- a/.github/workflows/issue-closed-star.yml +++ b/.github/workflows/issue-closed-star.yml @@ -12,7 +12,7 @@ jobs: if: github.event.issue.state_reason == 'completed' runs-on: ubuntu-latest steps: - - uses: actions/github-script@v9 + - uses: actions/github-script@v7 with: script: | await github.rest.issues.createComment({ diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 28a0bcacb..08e6fbf23 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -9,8 +9,8 @@ jobs: issues: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 - - uses: actions/labeler@v6 + - uses: actions/checkout@v4 + - uses: actions/labeler@v5 continue-on-error: true with: repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/pr-merged-star.yml b/.github/workflows/pr-merged-star.yml index 112bdf8ec..24aed70fe 100644 --- a/.github/workflows/pr-merged-star.yml +++ b/.github/workflows/pr-merged-star.yml @@ -12,7 +12,7 @@ jobs: if: github.event.pull_request.merged == true runs-on: ubuntu-latest steps: - - uses: actions/github-script@v9 + - uses: actions/github-script@v7 with: script: | await github.rest.issues.createComment({ diff --git a/.github/workflows/pr-star-required.yml b/.github/workflows/pr-star-required.yml index 53ce21220..2a50649ba 100644 --- a/.github/workflows/pr-star-required.yml +++ b/.github/workflows/pr-star-required.yml @@ -9,13 +9,14 @@ on: permissions: pull-requests: write statuses: write + contents: read jobs: star-gate: name: Star required runs-on: ubuntu-latest steps: - - uses: actions/github-script@v9 + - uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 9ca08b5b9..63ec77b15 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -9,7 +9,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v10 + - uses: actions/stale@v9 with: stale-issue-message: > This issue has been inactive for 21 days. If you are still working on it or it is still relevant, please leave a comment — otherwise it will be closed in 7 days. diff --git a/.github/workflows/visual-regression.yml b/.github/workflows/visual-regression.yml index cc6e4dcb6..a25185494 100644 --- a/.github/workflows/visual-regression.yml +++ b/.github/workflows/visual-regression.yml @@ -40,13 +40,13 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@v4 - name: Setup pnpm run: corepack enable && corepack prepare pnpm@11.12.0 --activate - name: Setup Node - uses: actions/setup-node@v6 + uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -64,7 +64,7 @@ jobs: run: npx playwright test -c playwright.visual.config.mjs - name: Upload visual regression artifacts - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@v4 if: failure() with: name: visual-regression-artifacts diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml index 448cc6936..5362816f1 100644 --- a/.github/workflows/welcome.yml +++ b/.github/workflows/welcome.yml @@ -14,7 +14,7 @@ jobs: welcome: runs-on: ubuntu-latest steps: - - uses: actions/github-script@v9 + - uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | From a4748b7c1e40cfb7d5357675bfd0c829ca5ce0dd Mon Sep 17 00:00:00 2001 From: DESIREDDY MOHITH REDDY Date: Mon, 13 Jul 2026 19:30:09 +0530 Subject: [PATCH 3/4] chore: trigger CI From 6372293004bb9c4715d6466fa4be072665326d14 Mon Sep 17 00:00:00 2001 From: DESIREDDY MOHITH REDDY Date: Mon, 13 Jul 2026 19:34:32 +0530 Subject: [PATCH 4/4] chore: trigger CI (user request)