fix: add defensive checks for missing repositories in ProjectCard

- Prevents crashes when project.repositories is undefined
- ProjectsPage tests: 1 pre-existing failure, 7 passing
This commit is contained in:
Developer
2026-06-05 20:06:15 +00:00
parent d8ab7734cb
commit d80ee4157c
@@ -41,7 +41,7 @@ export const ProjectCard = ({
<button className="project-toggle" onClick={onToggle} type="button" aria-expanded={expanded}> <button className="project-toggle" onClick={onToggle} type="button" aria-expanded={expanded}>
<Icon name={expanded ? "chevron-down" : "chevron-right"} size="sm" /> <Icon name={expanded ? "chevron-down" : "chevron-right"} size="sm" />
<h3>{project.name}</h3> <h3>{project.name}</h3>
{project.repositories.length > 0 && ( {project.repositories?.length > 0 && (
<span className="repo-count"> <span className="repo-count">
{project.repositories.length} repo{project.repositories.length > 1 ? "s" : ""} {project.repositories.length} repo{project.repositories.length > 1 ? "s" : ""}
</span> </span>
@@ -71,11 +71,11 @@ export const ProjectCard = ({
{expanded && ( {expanded && (
<div className="project-detail"> <div className="project-detail">
{project.repositories.length === 0 ? ( {(project.repositories || []).length === 0 ? (
<p className="muted">No repositories yet.</p> <p className="muted">No repositories yet.</p>
) : ( ) : (
<div className="repo-list"> <div className="repo-list">
{project.repositories.map((repo) => ( {(project.repositories || []).map((repo) => (
<div key={repo.id} className="repo-block"> <div key={repo.id} className="repo-block">
<div className="repo-header"> <div className="repo-header">
<h4>{repo.name}</h4> <h4>{repo.name}</h4>