+
+ {/* ── Page Heading ── */}
+
+
+ GitHub Activity
+ Tracker
+
+
Monitor issues & pull requests for any GitHub user
+
+
+ {/* ── Auth Form ── */}
+
+
+
+ Authentication
+
+
+
+
+ {/* ── Filters ── */}
+
+
Filters
+
+ setSearchTitle(e.target.value)}
+ sx={{ minWidth: 200, flex: 1 }}
+ />
+ setSelectedRepo(e.target.value)}
+ sx={{ minWidth: 200, flex: 1 }}
+ />
+ setStartDate(e.target.value)}
+ InputLabelProps={{ shrink: true }}
+ sx={{ minWidth: 150 }}
+ />
+ setEndDate(e.target.value)}
+ InputLabelProps={{ shrink: true }}
+ sx={{ minWidth: 150 }}
+ />
+
+
+
+ {/* ── Tabs + State Filter ── */}
+
+
+ {
+ setTab(v);
+ setPage(0);
+ }}
+ sx={{ flex: 1 }}
+ >
+
+
+
+
+
+ State
+
+
+
+
+
+ {/* ── Error Alert ── */}
+ {dataError && (
+
+ {dataError}
+
+ )}
+
+ {/* ── Results Table ── */}
+ {loading ? (
+
+
-
-
-
- {loading ? (
-
-
-
- ) : (
-
-
-
-
-
-
-
-
- Title
- Repository
- State
- Created
-
-
-
-
- {currentFilteredData.map((item) => (
-
-
-
- {getStatusIcon(item)}
-
- {item.title}
-
-
-
-
-
- {(() => {
- const repoName = item.repository_url.split("/").slice(-1)[0];
- const language = getLanguageFromRepo(repoName);
- const color = LANGUAGE_COLORS[language] || "#9ca3af";
-
- return (
-
-
-
- {repoName}
-
-
- );
- })()}
-
-
-
- {item.pull_request?.merged_at ? "merged" : item.state}
-
-
- {formatDate(item.created_at)}
-
-
- ))}
-
-
-
-
-
-
-
-
- )}
-
-
+ ) : (
+
+
+
+
+
+
+ Title
+ Repository
+ State
+ Created
+
+
+
+
+ {currentFilteredData.length === 0 ? (
+
+
+
+
+
+ {username
+ ? "No results found. Try adjusting your filters."
+ : "Enter a GitHub username above and click Fetch Data to get started."}
+
+
+
+
+ ) : (
+ currentFilteredData.map((item) => (
+
+
+ {getStatusIcon(item)}
+
+ {item.title}
+
+
+
+ {item.repository_url.split("/").slice(-1)[0]}
+
+
+ {item.pull_request?.merged_at ? "merged" : item.state}
+
+ {formatDate(item.created_at)}
+
+ ))
+ )}
+
+
+
+
+
+
+
+ )}
+
+
+
);
};