@@ -61,42 +61,46 @@ export default function Articles() {
6161 < Layout >
6262 < div className = { cn ( 'container mx-auto max-w-7xl' ) } >
6363 { /* Header Section */ }
64- < div className = { cn ( 'mb-8' ) } >
65- < h1 className = { cn ( 'mb-4 text-4xl font-bold' ) } > Articles</ h1 >
66- < p className = { cn ( 'text-lg text-muted-foreground' ) } >
64+ < div className = { cn ( 'mb-6 md:mb-8' ) } >
65+ < h1 className = { cn ( 'mb-2 md:mb-4 text-2xl md:text-4xl font-bold' ) } >
66+ Articles
67+ </ h1 >
68+ < p className = { cn ( 'text-base md:text-lg text-muted-foreground' ) } >
6769 Discover insightful articles from our community of frontend
6870 developers.
6971 </ p >
7072 </ div >
7173
7274 { /* Search and Filter Section */ }
73- < div className = { cn ( 'mb-8 flex flex-wrap items-center gap-4' ) } >
75+ < div className = { cn ( 'mb-6 md:mb- 8 flex flex-wrap items-center gap-4' ) } >
7476 < Form
75- className = { cn ( 'relative flex flex-1 gap-2' ) }
77+ className = { cn ( 'relative flex w-full gap-2' ) }
7678 onSubmit = { handleSubmit }
7779 >
7880 < div className = { cn ( 'relative flex-1' ) } >
7981 < Search
8082 className = { cn (
81- 'absolute left-3 top-2.5 h-5 w-5 text-muted-foreground' ,
83+ 'absolute left-3 top-2.5 h-4 w-4 text-muted-foreground' ,
8284 ) }
8385 />
8486 < Input
8587 type = "search"
8688 name = "q"
8789 placeholder = "Search articles..."
88- className = { cn ( 'pl-10' ) }
90+ className = { cn ( 'pl-9 h- 10' ) }
8991 defaultValue = { searchParams . get ( 'q' ) || '' }
9092 />
9193 </ div >
92- < Button type = "submit" variant = "outline" >
94+ < Button type = "submit" variant = "outline" size = "sm" >
9395 Search
9496 </ Button >
9597 </ Form >
9698 </ div >
9799
98100 { /* Articles Grid */ }
99- < div className = { cn ( 'grid gap-6 md:grid-cols-2 lg:grid-cols-3' ) } >
101+ < div
102+ className = { cn ( 'grid gap-4 sm:gap-6 md:grid-cols-2 lg:grid-cols-3' ) }
103+ >
100104 { articles . map ( ( article ) => (
101105 < a
102106 key = { article . id }
@@ -112,7 +116,7 @@ export default function Articles() {
112116 >
113117 < div
114118 className = { cn (
115- 'relative aspect-video w-full overflow-hidden rounded-t-lg' ,
119+ 'relative aspect-[2/1] w-full overflow-hidden rounded-t-lg' ,
116120 ) }
117121 >
118122 < img
@@ -124,13 +128,15 @@ export default function Articles() {
124128 loading = "lazy"
125129 />
126130 </ div >
127- < div className = { cn ( 'flex flex-col p-6' ) } >
128- < div className = { cn ( 'mb-4 flex items-center gap-2' ) } >
131+ < div className = { cn ( 'flex flex-col p-3 sm:p-4' ) } >
132+ < div
133+ className = { cn ( 'mb-2 flex flex-wrap items-center gap-1.5' ) }
134+ >
129135 { article . tags . map ( ( tag ) => (
130136 < span
131137 key = { tag }
132138 className = { cn (
133- 'rounded-full bg-primary/10 px-2.5 py-0.5 text-xs font-medium text-primary' ,
139+ 'rounded-full bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary' ,
134140 ) }
135141 >
136142 { tag }
@@ -139,14 +145,14 @@ export default function Articles() {
139145 </ div >
140146 < h2
141147 className = { cn (
142- 'mb-2 text-xl font-semibold group-hover:text-primary' ,
148+ 'mb-2 text-lg md:text- xl font-semibold group-hover:text-primary line-clamp-2 ' ,
143149 ) }
144150 >
145151 { article . title }
146152 </ h2 >
147153 < p
148154 className = { cn (
149- 'mb-4 flex-grow text-muted-foreground line-clamp-3 ' ,
155+ 'mb-0 flex-grow text-sm text- muted-foreground line-clamp-2 ' ,
150156 ) }
151157 >
152158 { article . description }
0 commit comments