@@ -25,6 +25,35 @@ import {
2525import { useTheme } from "@mui/material/styles" ;
2626import { useGitHubAuth } from "../../hooks/useGitHubAuth" ;
2727import { useGitHubData } from "../../hooks/useGitHubData" ;
28+ // Helper to extract PR type from title
29+ function getPRType ( title : string ) : string {
30+ const lower = title . toLowerCase ( ) ;
31+ if ( lower . includes ( "feature" ) ) return "Feature" ;
32+ if ( lower . includes ( "fix" ) ) return "Fix" ;
33+ if ( lower . includes ( "cleanup" ) || lower . includes ( "refactor" ) ) return "Cleanup" ;
34+ if ( lower . includes ( "docs" ) ) return "Docs" ;
35+ if ( lower . includes ( "test" ) ) return "Test" ;
36+ return "Other" ;
37+ }
38+
39+ // Tailwind class based on PR type
40+ function getBadgeStyle ( type : string ) : string {
41+ switch ( type ) {
42+ case "Feature" :
43+ return "bg-green-100 text-green-800" ;
44+ case "Fix" :
45+ return "bg-red-100 text-red-800" ;
46+ case "Cleanup" :
47+ return "bg-yellow-100 text-yellow-800" ;
48+ case "Docs" :
49+ return "bg-blue-100 text-blue-800" ;
50+ case "Test" :
51+ return "bg-purple-100 text-purple-800" ;
52+ default :
53+ return "bg-gray-100 text-gray-800" ;
54+ }
55+ }
56+
2857
2958const ROWS_PER_PAGE = 10 ;
3059
@@ -51,7 +80,7 @@ const Home: React.FC = () => {
5180 getOctokit,
5281 } = useGitHubAuth ( ) ;
5382
54- //const octokit = getOctokit();
83+ //const octokit = getOctokit();
5584
5685 const {
5786 issues,
@@ -262,9 +291,14 @@ const Home: React.FC = () => {
262291 < TableCell > Title</ TableCell >
263292 < TableCell align = "center" > Repository</ TableCell >
264293 < TableCell align = "center" > State</ TableCell >
294+ < TableCell > Type</ TableCell >
265295 < TableCell > Created</ TableCell >
296+ { tab === 1 && < TableCell align = "center" > Merged</ TableCell > }
297+ { tab === 1 && < TableCell > Merged Date</ TableCell > }
266298 </ TableRow >
267299 </ TableHead >
300+
301+
268302 < TableBody >
269303 { currentFilteredData . map ( ( item ) => (
270304 < TableRow key = { item . id } >
@@ -285,10 +319,32 @@ const Home: React.FC = () => {
285319 < TableCell align = "center" >
286320 { item . pull_request ?. merged_at ? "merged" : item . state }
287321 </ TableCell >
322+
323+ { /* 🆕 PR Type Label */ }
324+ < TableCell >
325+ < span className = { `px-2 py-1 rounded-full text-xs font-semibold ${ getBadgeStyle ( getPRType ( item . title ) ) } ` } >
326+ { getPRType ( item . title ) }
327+ </ span >
328+ </ TableCell >
329+
288330 < TableCell > { formatDate ( item . created_at ) } </ TableCell >
331+
332+ { tab === 1 && (
333+ < TableCell align = "center" >
334+ { item . pull_request ?. merged_at ? "Yes" : "No" }
335+ </ TableCell >
336+ ) }
337+ { tab === 1 && (
338+ < TableCell >
339+ { item . pull_request ?. merged_at
340+ ? formatDate ( item . pull_request . merged_at )
341+ : "-" }
342+ </ TableCell >
343+ ) }
289344 </ TableRow >
290345 ) ) }
291346 </ TableBody >
347+
292348 </ Table >
293349 < TablePagination
294350 component = "div"
0 commit comments