diff --git a/src/pages/client/MyProjects.jsx b/src/pages/client/MyProjects.jsx
index ee1b29e..0c2ef7d 100755
--- a/src/pages/client/MyProjects.jsx
+++ b/src/pages/client/MyProjects.jsx
@@ -193,18 +193,49 @@ export default function MyProjects() {
Submit a request and a project will be created automatically.
+ New Project
- ) : (
- projects.map(project => (
- t.project_id === project.id)}
- submissions={submissions}
- currentUserId={currentUser.id}
- filter={filter}
- />
- ))
- )}
+ ) : (() => {
+ const companies = currentUser.companies || (currentUser.company ? [currentUser.company] : []);
+ const multiCompany = companies.length > 1;
+ const companyMap = Object.fromEntries(companies.map(c => [c.id, c.name]));
+ const grouped = companies
+ .map(c => ({ company: c, projects: projects.filter(p => p.company_id === c.id) }))
+ .filter(g => g.projects.length > 0);
+ const ungrouped = projects.filter(p => !companies.some(c => c.id === p.company_id));
+
+ return (
+ <>
+ {grouped.map(({ company, projects: groupProjects }) => (
+
+ {multiCompany && (
+
+ {company.name}
+
+ )}
+ {groupProjects.map(project => (
+
t.project_id === project.id)}
+ submissions={submissions}
+ currentUserId={currentUser.id}
+ filter={filter}
+ />
+ ))}
+
+ ))}
+ {ungrouped.map(project => (
+ t.project_id === project.id)}
+ submissions={submissions}
+ currentUserId={currentUser.id}
+ filter={filter}
+ />
+ ))}
+ >
+ );
+ })()}
);
}