44 <li
55 v-for =" (project, index) in list"
66 :key =" project.name"
7- class =" project-item "
7+ class =" project-row "
88 >
9- <div class =" project-row" >
10- <div class =" project-row__content" >
11- <ul class =" project-row__meta" >
12- <li v-for =" tag in project.tags" :key =" tag" class =" tech-tag" >
13- {{ tag }}
14- </li >
15- </ul >
9+ <div class =" project-row__content" >
10+ <ul class =" project-row__meta" >
11+ <li v-for =" tag in project.tags" :key =" tag" class =" tech-tag" >
12+ {{ tag }}
13+ </li >
14+ </ul >
1615
17- <div class =" project-row__header" >
18- <component
19- :is =" project.url ? defineNuxtLink({}) : 'span'"
20- :to =" project.url ? project.url : undefined"
21- :target =" project.url?.startsWith('http') ? '_blank' : undefined"
22- class =" project-row__link"
23- >
24- <h3 class =" project-row__title" >{{ project.name }}</h3 >
25- </component >
26- </div >
27-
28- <p class =" project-row__description" >{{ project.description }}</p >
16+ <div class =" project-row__header" >
17+ <component
18+ :is =" project.url ? defineNuxtLink({}) : 'span'"
19+ :to =" project.url ? project.url : undefined"
20+ :target =" project.url?.startsWith('http') ? '_blank' : undefined"
21+ class =" project-row__link"
22+ >
23+ <h3 class =" project-row__title" >{{ project.name }}</h3 >
24+ </component >
2925 </div >
26+
27+ <p class =" project-row__description" >{{ project.description }}</p >
28+ </div >
3029
31- <div v-if =" project.image" class =" lightbox" >
32- <input :id =" `zoom-${index}`" type =" checkbox" class =" lightbox__toggle" aria-label =" Open preview" />
33- <label :for =" `zoom-${index}`" class =" lightbox__trigger" >
34- <img
35- :src =" project.image"
36- :alt =" `${project.name} preview`"
37- class =" thumb"
38- :loading =" index <= props.preloadProjectImages ? 'eager' : 'lazy'"
39- />
40- </label >
41- <label :for =" `zoom-${index}`" class =" lightbox__overlay" >
42- <img :src =" project.image" alt =" " class =" full-view" />
43- </label >
44- </div >
30+ <div v-if =" project.image" class =" lightbox" >
31+ <input :id =" `zoom-${index}`" type =" checkbox" class =" lightbox__toggle" aria-label =" Open preview" />
32+ <label :for =" `zoom-${index}`" class =" lightbox__trigger" >
33+ <img
34+ :src =" project.image"
35+ :alt =" `${project.name} preview`"
36+ class =" thumb"
37+ :loading =" index <= props.preloadProjectImages ? 'eager' : 'lazy'"
38+ />
39+ </label >
40+ <label :for =" `zoom-${index}`" class =" lightbox__overlay" >
41+ <img :src =" project.image" alt =" " class =" full-view" />
42+ </label >
4543 </div >
4644 </li >
4745 </ul >
@@ -177,9 +175,10 @@ $row-padding-h: 1rem;
177175 gap : 1rem ;
178176 padding : $row-padding-v $row-padding-h ;
179177 margin : 0 calc ($row-padding-h * -1 );
180- border-top : 1px solid var (--color-fg2 , #333 );
178+ border-top : 1px solid var (--color-fg1 );
181179 transition : background-color 0.2s ease , opacity 0.3s ease ;
182- border-radius : 0.25rem ;
180+
181+ & :first-of-type { border-top : none ; }
183182
184183 & :hover {
185184 background-color : rgba (255 , 255 , 255 , 0.03 );
@@ -193,10 +192,6 @@ $row-padding-h: 1rem;
193192 margin : 0 -1.5rem ;
194193 }
195194
196- & :last-child {
197- border-bottom : 1px solid var (--color-fg2 , #333 );
198- }
199-
200195 & __content { flex : 1 ; }
201196
202197 & __meta {
@@ -269,7 +264,7 @@ $row-padding-h: 1rem;
269264 height : 100% ;
270265 object-fit : cover ;
271266 border-radius : 0.25rem ;
272- border : 1px solid var (--color-fg2 , #333 );
267+ border : 1px solid var (--color-fg1 );
273268 transition : transform 0.2s ease , opacity 0.3s ease , filter 0.3s ease ;
274269 & :hover { transform : scale (1.02 ); }
275270 }
0 commit comments