diff --git a/messages/en.json b/messages/en.json
index 7f71d16..fd2b0ac 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -60,10 +60,10 @@
}
},
"TechStack": {
- "badge": "Tech Arsenal",
- "title": "Technology Stack",
+ "badge": "Technologies",
+ "title": "Skills & Technologies",
"seeMore": "See more",
- "subtitle": "A comprehensive toolkit forged through years of enterprise development, from backend infrastructure to mobile interfaces.",
+ "subtitle": "The core technologies and tools I use to build robust and scalable enterprise applications.",
"categories": {
"backend": {
"title": "Enterprise Backend",
diff --git a/messages/id.json b/messages/id.json
index 9a594b9..05d1722 100644
--- a/messages/id.json
+++ b/messages/id.json
@@ -60,10 +60,10 @@
}
},
"TechStack": {
- "badge": "Arsenal Teknologi",
- "title": "Tech Stack",
+ "badge": "Teknologi",
+ "title": "Keahlian & Teknologi",
"seeMore": "Lihat semua",
- "subtitle": "Perangkat komprehensif yang ditempa dari pengalaman pengembangan enterprise, mulai dari infrastruktur backend hingga antarmuka mobile.",
+ "subtitle": "Kumpulan teknologi dan perangkat utama yang saya gunakan sehari-hari untuk mengembangkan aplikasi berskala enterprise.",
"categories": {
"backend": {
"title": "Enterprise Backend",
diff --git a/prisma/migrations/20260403104002_add_skill_sort_order/migration.sql b/prisma/migrations/20260403104002_add_skill_sort_order/migration.sql
new file mode 100644
index 0000000..8df7701
--- /dev/null
+++ b/prisma/migrations/20260403104002_add_skill_sort_order/migration.sql
@@ -0,0 +1,2 @@
+-- AlterTable
+ALTER TABLE "skills" ADD COLUMN "sort_order" INTEGER NOT NULL DEFAULT 0;
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index e9bc09a..317b33b 100644
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -38,6 +38,7 @@ model Skill {
name String
iconName String? @map("icon_name")
category String
+ sortOrder Int @default(0) @map("sort_order")
projects ProjectSkill[]
diff --git a/src/app/[locale]/admin/dashboard/skills/page.tsx b/src/app/[locale]/admin/dashboard/skills/page.tsx
index f0f094c..9cabe64 100644
--- a/src/app/[locale]/admin/dashboard/skills/page.tsx
+++ b/src/app/[locale]/admin/dashboard/skills/page.tsx
@@ -29,7 +29,7 @@ export default async function AdminSkillsPage() {
}
const skills = await prisma.skill.findMany({
- orderBy: [{ category: "asc" }, { name: "asc" }],
+ orderBy: [{ category: "asc" }, { sortOrder: "asc" }, { name: "asc" }],
});
return (
@@ -84,13 +84,18 @@ export default async function AdminSkillsPage() {
{skill.name}
- - {CATEGORY_LABELS[skill.category] ?? skill.category} - +