@@ -47,33 +47,35 @@ export default function CategoryFilter({
4747 } ;
4848
4949 return (
50- < nav className = "flex items-center gap-2" >
51- < div className = "flex flex-1 flex-wrap items-center gap-2" >
50+ < nav className = "flex flex-col gap-2 sm:flex-row sm:items-center" >
51+ { /* 카테고리 */ }
52+ < div className = "flex flex-1 flex-wrap items-center gap-1.5" >
5253 { categories . map ( ( cat ) => (
5354 < button
5455 key = { cat . id }
5556 onClick = { ( ) => onChange ( cat . id ) }
5657 className = { [
57- 'cursor-pointer rounded-full px-4 py-1.5 text-sm font-medium transition-colors' ,
58+ 'cursor-pointer rounded-full px-3 py-1 text-xs sm:px-4 sm: py-1.5 sm: text-sm font-medium transition-colors' ,
5859 selected === cat . id
5960 ? 'bg-zinc-900 text-white dark:bg-white dark:text-zinc-900'
6061 : 'text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100' ,
6162 ] . join ( ' ' ) }
6263 >
6364 { cat . label }
64- < span className = "ml-1.5 text-xs opacity-60" > { cat . count } </ span >
65+ < span className = "ml-1 text-xs opacity-60" > { cat . count } </ span >
6566 </ button >
6667 ) ) }
6768 </ div >
6869
70+ { /* 시리즈 + 언어 토글 */ }
6971 < div className = "flex shrink-0 items-center gap-2" >
7072 { /* 시리즈 드롭다운 */ }
7173 { series . length > 0 && (
7274 < div ref = { dropdownRef } className = "relative" >
7375 < button
7476 onClick = { ( ) => setSeriesOpen ( ( v ) => ! v ) }
7577 className = { [
76- 'cursor-pointer rounded-full border px-3.5 py-1.5 text-sm font-medium transition-colors' ,
78+ 'cursor-pointer rounded-full border px-3 py-1 text-xs sm:px-3 .5 sm: py-1.5 sm: text-sm font-medium transition-colors' ,
7779 seriesOpen || selectedSeries
7880 ? 'border-zinc-900 bg-zinc-900 text-white dark:border-white dark:bg-white dark:text-zinc-900'
7981 : 'border-zinc-300 text-zinc-500 hover:text-zinc-900 dark:border-zinc-600 dark:hover:text-zinc-100' ,
@@ -108,31 +110,30 @@ export default function CategoryFilter({
108110 ) }
109111
110112 { /* 언어 토글 */ }
111- < div className = "flex items-center overflow-hidden rounded-full border border-zinc-300 text-sm font-medium dark:border-zinc-600" >
113+ < div className = "flex items-center overflow-hidden rounded-full border border-zinc-300 text-xs sm:text- sm font-medium dark:border-zinc-600" >
112114 < button
113115 onClick = { ( ) => onLangChange ( 'ko' ) }
114116 className = { [
115- 'cursor-pointer px-3 py-1.5 transition-colors' ,
117+ 'cursor-pointer px-2.5 py-1 sm:px-3 sm: py-1.5 transition-colors' ,
116118 lang === 'ko'
117119 ? 'bg-zinc-900 text-white dark:bg-white dark:text-zinc-900'
118120 : 'text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-300' ,
119121 ] . join ( ' ' ) }
120122 >
121- 한국어
123+ < span className = "sm:hidden" > KO</ span >
124+ < span className = "hidden sm:inline" > 한국어</ span >
122125 </ button >
123- < span className = "text-zinc-300 select-none dark:text-zinc-600" >
124- /
125- </ span >
126+ < span className = "text-zinc-300 select-none dark:text-zinc-600" > /</ span >
126127 < button
127128 onClick = { ( ) => onLangChange ( 'en' ) }
128129 className = { [
129- 'cursor-pointer px-3 py-1.5 transition-colors' ,
130+ 'cursor-pointer px-2.5 py-1 sm:px-3 sm: py-1.5 transition-colors' ,
130131 lang === 'en'
131132 ? 'bg-zinc-900 text-white dark:bg-white dark:text-zinc-900'
132133 : 'text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-300' ,
133134 ] . join ( ' ' ) }
134135 >
135- English
136+ EN
136137 </ button >
137138 </ div >
138139 </ div >
0 commit comments