diff --git a/cvat-ui/src/components/projects-page/project-list.tsx b/cvat-ui/src/components/projects-page/project-list.tsx
index 944e4faa..134286be 100644
--- a/cvat-ui/src/components/projects-page/project-list.tsx
+++ b/cvat-ui/src/components/projects-page/project-list.tsx
@@ -15,7 +15,7 @@ export default function ProjectListComponent(): JSX.Element {
const dispatch = useDispatch();
const projectsCount = useSelector((state: CombinedState) => state.projects.count);
const { page } = useSelector((state: CombinedState) => state.projects.gettingQuery);
- const projectInstances = useSelector((state: CombinedState) => state.projects.current);
+ let projectInstances = useSelector((state: CombinedState) => state.projects.current);
const gettingQuery = useSelector((state: CombinedState) => state.projects.gettingQuery);
function changePage(p: number): void {
@@ -27,19 +27,30 @@ export default function ProjectListComponent(): JSX.Element {
);
}
+ projectInstances = projectInstances.reduce((rows, key, index) => {
+ if (index % 4 === 0) {
+ rows.push([key]);
+ } else {
+ rows[rows.length - 1].push(key);
+ }
+ return rows;
+ }, []);
+
return (
<>
-
- {projectInstances.map(
- (instance: any): JSX.Element => (
-
-
-
- ),
- )}
-
+ {projectInstances.map(
+ (row: any[]): JSX.Element => (
+
+ {row.map((instance: any) => (
+
+
+
+ ))}
+
+ ),
+ )}
diff --git a/cvat-ui/src/components/projects-page/styles.scss b/cvat-ui/src/components/projects-page/styles.scss
index 9b113de4..44fb6615 100644
--- a/cvat-ui/src/components/projects-page/styles.scss
+++ b/cvat-ui/src/components/projects-page/styles.scss
@@ -109,11 +109,11 @@
.cvat-projects-project-item-card {
.ant-empty {
margin: $grid-unit-size;
+ height: $grid-unit-size * 16;
}
img {
- height: 100%;
- max-height: $grid-unit-size * 18;
+ height: $grid-unit-size * 18;
object-fit: cover;
}
}