@@ -3,39 +3,31 @@ import { useTranslate } from '../../lib/i18n';
33import { Time } from '../time' ;
44import s from './style.module.css' ;
55
6- /**
7- * @typedef {import('../../locales/en.json') } Translations
8- */
9-
106export default function BlogOverview ( ) {
117 const translate = useTranslate ( ) ;
128
13- const posts = [ ] ;
14- for ( const post in blogPosts ) {
15- const translatedBlog = translate (
16- 'blogPosts' ,
17- /** @type {keyof Translations['blogPosts'] } */ ( blogPosts [ post ] . label )
18- ) ;
19-
20- posts . push (
21- < article class = { s . post } >
22- < div class = { s . meta } >
23- < Time value = { blogPosts [ post ] . date } />
24- </ div >
25- < h2 class = { s . title } >
26- < a href = { post } > { translatedBlog . label } </ a >
27- </ h2 >
28- < p class = { s . excerpt } > { translatedBlog . excerpt } </ p >
29- < a href = { post } class = "btn-small" >
30- { translate ( 'i18n' , 'continueReading' ) } →
31- </ a >
32- </ article >
33- ) ;
34- }
35-
369 return (
3710 < div >
38- < div class = { s . postList } > { posts } </ div >
11+ < div class = { s . postList } >
12+ { Object . entries ( blogPosts ) . map ( ( [ postPath , post ] ) => {
13+ const translatedBlog = translate ( 'blogPosts' , post . label ) ;
14+
15+ return (
16+ < article class = { s . post } >
17+ < div class = { s . meta } >
18+ < Time value = { post . date } />
19+ </ div >
20+ < h2 class = { s . title } >
21+ < a href = { postPath } > { translatedBlog . label } </ a >
22+ </ h2 >
23+ < p class = { s . excerpt } > { translatedBlog . excerpt } </ p >
24+ < a href = { postPath } class = "btn-small" >
25+ { translate ( 'i18n' , 'continueReading' ) } →
26+ </ a >
27+ </ article >
28+ ) ;
29+ } ) }
30+ </ div >
3931 </ div >
4032 ) ;
4133}
0 commit comments