diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index d0ff154..f5f6fb5 100644 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -25,6 +25,34 @@ import { import { useTheme } from "@mui/material/styles"; import { useGitHubAuth } from "../../hooks/useGitHubAuth"; import { useGitHubData } from "../../hooks/useGitHubData"; +// Helper to extract PR type from title +function getPRType(title: string): string { + const lower = title.toLowerCase(); + if (lower.includes("feature")) return "Feature"; + if (lower.includes("fix")) return "Fix"; + if (lower.includes("cleanup") || lower.includes("refactor")) return "Cleanup"; + if (lower.includes("docs")) return "Docs"; + if (lower.includes("test")) return "Test"; + return "Other"; +} + +// Tailwind class based on PR type +function getBadgeStyle(type: string): string { + switch (type) { + case "Feature": + return "bg-green-100 text-green-800"; + case "Fix": + return "bg-red-100 text-red-800"; + case "Cleanup": + return "bg-yellow-100 text-yellow-800"; + case "Docs": + return "bg-blue-100 text-blue-800"; + case "Test": + return "bg-purple-100 text-purple-800"; + default: + return "bg-gray-100 text-gray-800"; + } +} const ROWS_PER_PAGE = 10; @@ -51,7 +79,7 @@ const Home: React.FC = () => { getOctokit, } = useGitHubAuth(); - //const octokit = getOctokit(); + //const octokit = getOctokit(); const { issues, @@ -262,9 +290,13 @@ const Home: React.FC = () => { Title Repository State + Type Created + {tab === 1 && Merged} + {tab === 1 && Merged Date} + {currentFilteredData.map((item) => ( @@ -285,10 +317,32 @@ const Home: React.FC = () => { {item.pull_request?.merged_at ? "merged" : item.state} + + {/* 🆕 PR Type Label */} + + + {getPRType(item.title)} + + + {formatDate(item.created_at)} + + {tab === 1 && ( + + {item.pull_request?.merged_at ? "Yes" : "No"} + + )} + {tab === 1 && ( + + {item.pull_request?.merged_at + ? formatDate(item.pull_request.merged_at) + : "-"} + + )} ))} +