1
1
document . addEventListener ( 'DOMContentLoaded' , async ( ) => {
2
- const response = await fetch ( 'https://path-momo-api.gusibi.workers.dev/momos' ) ;
3
- const blogPosts = await response . json ( ) ;
2
+ console . log ( 'Script started' ) ;
4
3
const timeline = document . querySelector ( '.timeline' ) ;
4
+ timeline . innerHTML = '<p>Loading...</p>' ;
5
5
6
- blogPosts . forEach ( post => {
7
- const card = document . createElement ( 'div' ) ;
8
- card . className = 'card' ;
9
- card . innerHTML = `
10
- <div class="header">
11
- <img src="avatar.png" alt="User Avatar">
12
- <span>Morning</span>
13
- </div>
14
- <div class="content">
15
- <h2>${ post . title } </h2>
16
- <p>${ post . body } </p>
17
- </div>
18
- <div class="time">${ new Date ( post . created_at ) . toLocaleTimeString ( ) } </div>
19
- ` ;
20
- timeline . appendChild ( card ) ;
21
- } ) ;
6
+ try {
7
+ const response = await fetch ( 'https://path-momo-api.gusibi.workers.dev/api/blog-posts' ) ;
8
+ console . log ( 'API response:' , response ) ;
9
+
10
+ if ( ! response . ok ) {
11
+ throw new Error ( `HTTP error! status: ${ response . status } ` ) ;
12
+ }
13
+
14
+ const blogPosts = await response . json ( ) ;
15
+ console . log ( 'Blog posts:' , blogPosts ) ;
16
+
17
+ timeline . innerHTML = '' ;
18
+
19
+ if ( blogPosts . length === 0 ) {
20
+ timeline . innerHTML = '<p>No blog posts found.</p>' ;
21
+ return ;
22
+ }
23
+
24
+ blogPosts . forEach ( post => {
25
+ const card = document . createElement ( 'div' ) ;
26
+ card . className = 'card' ;
27
+ card . innerHTML = `
28
+ <div class="header">
29
+ <img src="avatar.png" alt="User Avatar">
30
+ <span>Morning</span>
31
+ </div>
32
+ <div class="content">
33
+ <h2>${ post . title } </h2>
34
+ <p>${ post . body } </p>
35
+ </div>
36
+ <div class="time">${ new Date ( post . created_at ) . toLocaleTimeString ( ) } </div>
37
+ ` ;
38
+ timeline . appendChild ( card ) ;
39
+ } ) ;
40
+ } catch ( error ) {
41
+ console . error ( 'Error:' , error ) ;
42
+ timeline . innerHTML = `<p>Error: ${ error . message } </p>` ;
43
+ }
22
44
} ) ;
0 commit comments