diff --git a/reposilite-backend/src/main/kotlin/com/reposilite/ui/views/IndexView.kt b/reposilite-backend/src/main/kotlin/com/reposilite/ui/views/IndexView.kt
index 3ff9d3b7f..b3b6fcea8 100644
--- a/reposilite-backend/src/main/kotlin/com/reposilite/ui/views/IndexView.kt
+++ b/reposilite-backend/src/main/kotlin/com/reposilite/ui/views/IndexView.kt
@@ -39,4 +39,14 @@ data class IndexView(
val name: String,
) : Entry
}
+ data class GroupedRepository(
+ val type: String,
+ val repositories: List
+ )
+ fun getGroupedRepositories(): List =
+ repositories
+ .groupBy { it.type }
+ .entries
+ .map { GroupedRepository(type = it.key, repositories = it.value) }
+ .sortedByDescending { it.repositories.size }
}
\ No newline at end of file
diff --git a/reposilite-test/workspace/ui/component/Head.jte b/reposilite-test/workspace/ui/component/Head.jte
index fee44eb0d..4e9392503 100755
--- a/reposilite-test/workspace/ui/component/Head.jte
+++ b/reposilite-test/workspace/ui/component/Head.jte
@@ -3,6 +3,8 @@
+
+
${title}
@template.lib.Theme()
diff --git a/reposilite-test/workspace/ui/component/Header.jte b/reposilite-test/workspace/ui/component/Header.jte
index 365722145..0807079cf 100755
--- a/reposilite-test/workspace/ui/component/Header.jte
+++ b/reposilite-test/workspace/ui/component/Header.jte
@@ -8,16 +8,22 @@
@template.lib.icons.SearchIcon()
-
+
-
diff --git a/reposilite-test/workspace/ui/index.jte b/reposilite-test/workspace/ui/index.jte
index faca6fe86..67b3a683f 100755
--- a/reposilite-test/workspace/ui/index.jte
+++ b/reposilite-test/workspace/ui/index.jte
@@ -25,24 +25,29 @@
-
+
@for(Project project : view.getHighlightedProjects())
-
+
${project.getName()}
${project.getDescription()}
@for(String packageName : project.getSupportedPackages())
-
+
@if(packageName.equals("Generic"))
- Generic
+ Generic
@elseif(packageName.equals("Maven"))
- Maven
+ Maven
@elseif(packageName.equals("Docker"))
- Docker
+ Docker
@elseif(packageName.equals("NPM"))
- NPM
+ NPM
@endif
@endfor
@@ -54,56 +59,34 @@
-
- @for(IndexView.Repository repository : view.getRepositories())
-