diff --git a/frontend/src/app/category-view/page.tsx b/frontend/src/app/category-view/page.tsx
index aec49a34..08474eb1 100644
--- a/frontend/src/app/category-view/page.tsx
+++ b/frontend/src/app/category-view/page.tsx
@@ -52,8 +52,9 @@ const CategoryView = () => {
: text;
};
- const getRandomLogos = (scripts: any[], count: number) => {
- return scripts.sort(() => Math.random() - 0.5).slice(0, count);
+ const getRandomScripts = (scripts: any[]) => {
+ if (!scripts || scripts.length <= 5) return scripts;
+ return scripts.sort(() => 0.5 - Math.random()).slice(0, 5);
};
return (
@@ -66,12 +67,16 @@ const CategoryView = () => {
-
{selectedCategory.name}
+ {selectedCategory.name}
{selectedCategory.scripts
.sort((a, b) => a.name.localeCompare(b.name))
.map((script) => (
-
handleScriptClick(script.slug)}>
+ handleScriptClick(script.slug)}
+ >
{
/>
{script.name}
-
Created at: {script.date_created || "No date available"}
+
+ Created at: {script.date_created || "No date available"}
+
{truncateDescription(script.description || "No description available.")}
- CPU: {script.install_methods[0]?.resources.cpu || "N/A"}vCPU | RAM: {script.install_methods[0]?.resources.ram || "N/A"}MB | HDD: {script.install_methods[0]?.resources.hdd || "N/A"}GB
+ CPU: {script.install_methods[0]?.resources.cpu || "N/A"}vCPU |{" "}
+ RAM: {script.install_methods[0]?.resources.ram || "N/A"}MB |{" "}
+ HDD: {script.install_methods[0]?.resources.hdd || "N/A"}GB
@@ -98,12 +107,12 @@ const CategoryView = () => {
) : (
-
Categories
+
Categories
{categories.reduce((acc, cat) => acc + (cat.scripts?.length || 0), 0)} Total scripts
-
+
{categories.map((category) => (
{
className="cursor-pointer hover:shadow-lg flex flex-col items-center justify-center"
>
-
- {category.scripts && getRandomLogos(category.scripts, 5).map((script, index) => (
-
- ))}
+
+ {category.scripts &&
+ getRandomScripts(category.scripts).map((script, index) => (
+
+ ))}
-
{category.name}
+
{category.name}
{category.description || "No description available."}