Skip to content

Commit edf2da8

Browse files
authored
Refactor project display and add technical skills section
Refactored project display to use dynamic mapping from projects data. Added section for technical skills with dynamic rendering.
1 parent d714f29 commit edf2da8

1 file changed

Lines changed: 28 additions & 54 deletions

File tree

src/pages/research.astro

Lines changed: 28 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
import Layout from "@/layouts/Layout.astro";
33
import { profile } from "@/settings";
44
import BetterIcon from "@/components/ui/BetterIcon.astro";
5-
import {RESEARCH_ICONS} from "@/data/researchIcons";
5+
import { RESEARCH_ICONS } from "@/data/researchIcons";
6+
import { skills, projects } from "@/data/cv";
67
78
const { research_areas } = profile;
89
---
@@ -22,59 +23,20 @@ const { research_areas } = profile;
2223

2324
<h2 class="text-2xl font-bold mb-6">Current Projects</h2>
2425
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-12 not-prose">
25-
26-
<!-- Project 1 -->
27-
<div class="border border-base-300 rounded-xl p-5 flex flex-col gap-3 hover:shadow-md transition-shadow bg-base-100">
28-
<div class="text-2xl">🧬</div>
29-
<h3 class="font-semibold text-base leading-snug">Project Title One</h3>
30-
<p class="text-sm text-base-content/70 leading-relaxed flex-1">
31-
Brief description of what you are currently working on.
32-
</p>
33-
<div class="flex flex-wrap gap-1 pt-1">
34-
<span class="badge badge-sm badge-ghost">Tag</span>
35-
</div>
36-
</div>
37-
38-
<!-- Project 2 -->
39-
<div class="border border-base-300 rounded-xl p-5 flex flex-col gap-3 hover:shadow-md transition-shadow bg-base-100">
40-
<div class="text-2xl">💊</div>
41-
<h3 class="font-semibold text-base leading-snug">Project Title Two</h3>
42-
<p class="text-sm text-base-content/70 leading-relaxed flex-1">
43-
Brief description of what you are currently working on.
44-
</p>
45-
<div class="flex flex-wrap gap-1 pt-1">
46-
<span class="badge badge-sm badge-ghost">Tag</span>
47-
</div>
48-
</div>
49-
50-
<!-- Placeholder 3 — remove comment and fill in when ready -->
51-
<!--
52-
<div class="border border-base-300 rounded-xl p-5 flex flex-col gap-3 hover:shadow-md transition-shadow bg-base-100">
53-
<div class="text-2xl">🔬</div>
54-
<h3 class="font-semibold text-base leading-snug">Project Title Three</h3>
55-
<p class="text-sm text-base-content/70 leading-relaxed flex-1">
56-
Brief description of what you are currently working on.
57-
</p>
58-
<div class="flex flex-wrap gap-1 pt-1">
59-
<span class="badge badge-sm badge-ghost">Tag</span>
60-
</div>
61-
</div>
62-
-->
63-
64-
<!-- Placeholder 4 — remove comment and fill in when ready -->
65-
<!--
66-
<div class="border border-base-300 rounded-xl p-5 flex flex-col gap-3 hover:shadow-md transition-shadow bg-base-100">
67-
<div class="text-2xl">🤖</div>
68-
<h3 class="font-semibold text-base leading-snug">Project Title Four</h3>
69-
<p class="text-sm text-base-content/70 leading-relaxed flex-1">
70-
Brief description of what you are currently working on.
71-
</p>
72-
<div class="flex flex-wrap gap-1 pt-1">
73-
<span class="badge badge-sm badge-ghost">Tag</span>
74-
</div>
75-
</div>
76-
-->
77-
26+
{
27+
projects.map((project) => (
28+
<div class="border border-base-300 rounded-xl p-5 flex flex-col gap-3 hover:shadow-md transition-shadow bg-base-100">
29+
<div class="text-2xl">{project.icon}</div>
30+
<h3 class="font-semibold text-base leading-snug">{project.title}</h3>
31+
<p class="text-sm text-base-content/70 leading-relaxed flex-1">{project.description}</p>
32+
<div class="flex flex-wrap gap-1 pt-1">
33+
{project.tags.map((tag) => (
34+
<span class="badge badge-sm badge-ghost">{tag}</span>
35+
))}
36+
</div>
37+
</div>
38+
))
39+
}
7840
</div>
7941

8042
<h2 class="text-2xl font-bold mb-6">Research Areas</h2>
@@ -106,5 +68,17 @@ const { research_areas } = profile;
10668
}
10769
</div>
10870

71+
<h2 class="text-2xl font-bold mb-6">Technical Skills</h2>
72+
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 mb-12 not-prose">
73+
{
74+
skills.map((skill) => (
75+
<div class="border border-base-300 rounded-xl p-4 bg-base-100">
76+
<h3 class="font-semibold text-sm mb-2">{skill.title}</h3>
77+
<p class="text-sm text-base-content/70">{skill.description}</p>
78+
</div>
79+
))
80+
}
81+
</div>
82+
10983
</div>
11084
</Layout>

0 commit comments

Comments
 (0)