@@ -2,75 +2,71 @@ import Image from 'next/image'
2
2
import Link from 'next/link'
3
3
4
4
const Blogs = ( { articles, contentOnly = false , show = articles . length } ) => {
5
- return (
6
- < section className = 'bg-white py-8' >
7
- { ! contentOnly && (
8
- < div className = 'container max-w-5xl mx-auto' >
9
- < h1 className = 'w-full my-2 text-4xl font-bold leading-tight text-center text-gray-800' >
10
- Blogs
11
- </ h1 >
12
- < div className = 'w-full mb-4' >
13
- < div className = 'h-1 mx-auto gradient w-64 opacity-25 my-0 py-0 rounded-t' > </ div >
14
- </ div >
5
+ return (
6
+ < section className = 'bg-white py-8' >
7
+ { ! contentOnly && (
8
+ < div className = 'container max-w-5xl mx-auto' >
9
+ < h1 className = 'w-full my-2 text-4xl font-bold leading-tight text-center text-gray-800' >
10
+ Blogs
11
+ </ h1 >
12
+ < div className = 'w-full mb-4' >
13
+ < div className = 'h-1 mx-auto gradient w-64 opacity-25 my-0 py-0 rounded-t' > </ div >
14
+ </ div >
15
+ </ div >
16
+ ) }
17
+ < div className = 'container max-w-screen-xl mx-auto pt-4 pb-8 grid grid-cols-3 mb-8 gap-6 px-8' >
18
+ { articles . length > 0 ? (
19
+ articles . slice ( 0 , show ) . map ( ( article , index ) => (
20
+ < Link key = { article . title + index } href = { article . url } passHref >
21
+ < div className = 'flex flex-col justify-between items-stretch col-span-3 md:col-span-1 cursor-pointer p-2 shadow rounded-md focus:outline-none focus:shadow-outline transform transition hover:shadow-lg hover:scale-105 duration-300 ease-in-out' >
22
+ < div className = 'bg-white p-4 rounded-lg' >
23
+ < div className = 'relative bg-contain' >
24
+ < Image
25
+ alt = { article . title }
26
+ layout = 'responsive'
27
+ height = { 150 }
28
+ width = { 150 }
29
+ className = 'lg:h-60 xl:h-56 md:h-64 sm:h-72 xs:h-72 h-72 rounded-md w-full object-cover object-center mb-6'
30
+ src = { article . social_image }
31
+ />
32
+ </ div >
33
+ < div className = 'flex justify-between' >
34
+ < h2 className = 'text-xl text-gray-900 font-semibold mb-4' > { article . title } </ h2 >
35
+ </ div >
36
+ < p className = 'leading-relaxed text-sm text-gray-600' > { article . description } </ p >
15
37
</ div >
16
- ) }
17
- < div className = 'container max-w-screen-xl mx-auto pt-4 pb-8 grid grid-cols-3 mb-8 gap-6 px-8' >
18
- { articles . length > 0 ? (
19
- articles . slice ( 0 , show ) . map ( ( article , index ) => (
20
- < Link key = { article . title + index } href = { article . url } passHref >
21
- < div className = 'flex flex-col justify-between items-stretch col-span-3 md:col-span-1 cursor-pointer p-2 shadow rounded-md focus:outline-none focus:shadow-outline transform transition hover:shadow-lg hover:scale-105 duration-300 ease-in-out' >
22
- < div className = 'bg-white p-4 rounded-lg' >
23
- < div className = 'relative bg-contain' >
24
- < Image
25
- alt = { article . title }
26
- layout = 'responsive'
27
- height = { 150 }
28
- width = { 150 }
29
- className = 'lg:h-60 xl:h-56 md:h-64 sm:h-72 xs:h-72 h-72 rounded-md w-full object-cover object-center mb-6'
30
- src = { article . social_image }
31
- />
32
- </ div >
33
- < div className = 'flex justify-between' >
34
- < h2 className = 'text-xl text-gray-900 font-semibold mb-4' >
35
- { article . title }
36
- </ h2 >
37
- </ div >
38
- < p className = 'leading-relaxed text-sm text-gray-600' >
39
- { article . description }
40
- </ p >
41
- </ div >
42
- < time className = 'p-4 text-gray-500 text-xs flex items-end' >
43
- < Image
44
- layout = 'fixed'
45
- width = { 40 }
46
- height = { 40 }
47
- src = { article ?. user ?. profile_image }
48
- alt = { article . user . name }
49
- className = 'rounded-full'
50
- />
51
- < p className = 'ml-2 opacity-50' >
52
- by { article . user . name } on
53
- { ' ' + article . readable_publish_date }
54
- </ p >
55
- </ time >
56
- </ div >
57
- </ Link >
58
- ) )
59
- ) : (
60
- < div className = 'text-center w-full' > No Blogs found....</ div >
61
- ) }
62
- </ div >
63
- { ! contentOnly && (
64
- < div className = 'flex justify-center' >
65
- < a href = 'https://dev.to/web3community' target = '_blank' rel = 'noreferrer' >
66
- < button className = 'bg-gray-700 text-white mx-auto lg:mx-0 rounded-md py-2 px-8 shadow transform transition hover:scale-85 hover:shadow-lg duration-300 ease-in-out' >
67
- See All
68
- </ button >
69
- </ a >
70
- </ div >
71
- ) }
72
- </ section >
73
- )
38
+ < time className = 'p-4 text-gray-500 text-xs flex items-end' >
39
+ < Image
40
+ layout = 'fixed'
41
+ width = { 40 }
42
+ height = { 40 }
43
+ src = { article ?. user ?. profile_image }
44
+ alt = { article . user . name }
45
+ className = 'rounded-full'
46
+ />
47
+ < p className = 'ml-2 opacity-50' >
48
+ by { article . user . name } on
49
+ { ' ' + article . readable_publish_date }
50
+ </ p >
51
+ </ time >
52
+ </ div >
53
+ </ Link >
54
+ ) )
55
+ ) : (
56
+ < div className = 'text-center w-full' > No Blogs found....</ div >
57
+ ) }
58
+ </ div >
59
+ { ! contentOnly && (
60
+ < div className = 'flex justify-center' >
61
+ < a href = 'https://dev.to/web3community' target = '_blank' rel = 'noreferrer' >
62
+ < button className = 'bg-gray-700 text-white mx-auto lg:mx-0 rounded-md py-2 px-8 shadow transform transition hover:scale-85 hover:shadow-lg duration-300 ease-in-out' >
63
+ See All
64
+ </ button >
65
+ </ a >
66
+ </ div >
67
+ ) }
68
+ </ section >
69
+ )
74
70
}
75
71
76
72
export default Blogs
0 commit comments