@@ -363,39 +363,53 @@ export const Block: React.FC<Block> = props => {
363
363
</ div >
364
364
) ;
365
365
case "bookmark" :
366
+ const link = blockValue . properties . link
367
+ const title = blockValue . properties . title ?? link
368
+ const description = blockValue . properties . description
369
+ const block_color = blockValue . format ?. block_color
370
+ const bookmark_icon = blockValue . format ?. bookmark_icon
371
+ const bookmark_cover = blockValue . format ?. bookmark_cover
372
+
366
373
return (
367
374
< div className = "notion-row" >
368
375
< a
369
376
target = "_blank"
370
377
rel = "noopener noreferrer"
371
378
className = { classNames (
372
379
"notion-bookmark" ,
373
- blockValue . format . block_color &&
374
- `notion-${ blockValue . format . block_color } `
380
+ block_color &&
381
+ `notion-${ block_color } `
375
382
) }
376
- href = { blockValue . properties . link [ 0 ] [ 0 ] }
383
+ href = { link [ 0 ] [ 0 ] }
377
384
>
378
385
< div >
379
386
< div className = "notion-bookmark-title" >
380
- { renderChildText ( blockValue . properties . title ) }
381
- </ div >
382
- < div className = "notion-bookmark-description" >
383
- { renderChildText ( blockValue . properties . description ) }
387
+ { renderChildText ( title ) }
384
388
</ div >
389
+ { description && (
390
+ < div className = "notion-bookmark-description" >
391
+ { renderChildText ( description ) }
392
+ </ div >
393
+ ) }
394
+
385
395
< div className = "notion-bookmark-link" >
396
+ { bookmark_icon && (
397
+ < img
398
+ src = { bookmark_icon }
399
+ alt = { getTextContent ( title ) }
400
+ />
401
+ ) }
402
+ < div > { renderChildText ( link ) } </ div >
403
+ </ div >
404
+ </ div >
405
+ { bookmark_cover && (
406
+ < div className = "notion-bookmark-image" >
386
407
< img
387
- src = { blockValue . format . bookmark_icon }
388
- alt = { getTextContent ( blockValue . properties . title ) }
408
+ src = { bookmark_cover }
409
+ alt = { getTextContent ( title ) }
389
410
/>
390
- < div > { renderChildText ( blockValue . properties . link ) } </ div >
391
411
</ div >
392
- </ div >
393
- < div className = "notion-bookmark-image" >
394
- < img
395
- src = { blockValue . format . bookmark_cover }
396
- alt = { getTextContent ( blockValue . properties . title ) }
397
- />
398
- </ div >
412
+ ) }
399
413
</ a >
400
414
</ div >
401
415
) ;
0 commit comments