@@ -33,19 +33,19 @@ export function LeaderboardTable({
3333 return (
3434 < div className = "w-full max-w-4xl flex flex-col gap-4" >
3535 < div className = "bg-white dark:bg-white/5 backdrop-blur-md rounded-2xl border border-slate-200 dark:border-white/10 overflow-hidden shadow-lg dark:shadow-2xl" >
36- < div className = "overflow-x-auto w-full" >
37- < table className = "w-full text-left border-separate border-spacing-0" >
36+ < div className = "w-full" >
37+ < table className = "w-full text-left border-separate border-spacing-0 table-fixed " >
3838 < caption className = "sr-only" > { t ( 'tableCaption' ) } </ caption >
3939
4040 < thead className = "bg-slate-50/80 dark:bg-white/5" >
4141 < tr >
42- < th className = "px-2 sm:px-6 py-3 sm:py-5 text-center text-[10px] sm:text-xs font-bold text-slate-500 dark:text-slate-400 uppercase tracking-widest w-12 sm:w-[15 %] border-b border-slate-200 dark:border-white/10" >
42+ < th className = "px-2 sm:px-6 py-3 sm:py-5 text-center text-[10px] sm:text-xs font-bold text-slate-500 dark:text-slate-400 uppercase tracking-widest w-[15%] sm:w-[12 %] border-b border-slate-200 dark:border-white/10" >
4343 { t ( 'rank' ) }
4444 </ th >
4545 < th className = "px-2 sm:px-6 py-3 sm:py-5 text-xs font-bold text-slate-500 dark:text-slate-400 uppercase tracking-widest w-auto border-b border-slate-200 dark:border-white/10" >
4646 { t ( 'user' ) }
4747 </ th >
48- < th className = "px-2 sm:px-6 py-3 sm:py-5 text-right text-xs font-bold text-slate-500 dark:text-slate-400 uppercase tracking-widest w-[25%] sm:w-[20%] border-b border-slate-200 dark:border-white/10" >
48+ < th className = "pl-2 pr-4 sm:px-6 py-3 sm:py-5 text-right text-xs font-bold text-slate-500 dark:text-slate-400 uppercase tracking-widest w-[25%] sm:w-[20%] border-b border-slate-200 dark:border-white/10" >
4949 { t ( 'score' ) }
5050 </ th >
5151 </ tr >
@@ -78,8 +78,8 @@ export function LeaderboardTable({
7878 </ div >
7979
8080 < div className = "bg-white dark:bg-white/5 backdrop-blur-md rounded-2xl border-2 border-[var(--accent-primary)] overflow-hidden shadow-[0_0_20px_var(--accent-primary)]" >
81- < div className = "overflow-x-auto w-full" >
82- < table className = "w-full text-left border-separate border-spacing-0" >
81+ < div className = "w-full" >
82+ < table className = "w-full text-left border-separate border-spacing-0 table-fixed " >
8383 < tbody >
8484 < TableRow user = { matchedUser } isCurrentUser = { true } t = { t } />
8585 </ tbody >
@@ -105,8 +105,11 @@ function TableRow({
105105 'px-2 sm:px-6 py-3 sm:py-4 border-b border-slate-100 dark:border-white/5' ;
106106
107107 const leftBorderClass = isCurrentUser
108- ? 'border-l-[1px] sm:border-l-[1px] border-l-[var(--accent-primary)] '
108+ ? 'border-l-[1px] sm:border-l-[1px] border-l-transparent '
109109 : 'border-l-[1px] sm:border-l-[1px] border-l-transparent' ;
110+ const rightBorderClass = isCurrentUser
111+ ? 'border-r-[1px] sm:border-r-[1px] border-r-transparent'
112+ : 'border-r-[1px] sm:border-r-[1px] border-r-transparent' ;
110113
111114 return (
112115 < tr
@@ -124,12 +127,12 @@ function TableRow({
124127 </ td >
125128
126129 < td className = { cellClass } >
127- < div className = "flex items-center gap-2 sm:gap-4" >
130+ < div className = "flex items-center gap-2 sm:gap-4 overflow-hidden " >
128131 < div
129132 className = { cn (
130133 'w-8 h-8 sm:w-10 sm:h-10 rounded-full border flex-shrink-0 flex items-center justify-center text-xs sm:text-sm font-bold transition-all duration-300' ,
131134 isCurrentUser
132- ? 'bg-[var(--accent-primary)] border-[var(--accent-primary)] text-white shadow-[0_0_15px_var (--accent-primary)]'
135+ ? 'bg-[var(--accent-primary)] border-[var(--accent-primary)] text-white shadow-[0_0_1px_var (--accent-primary)]'
133136 : 'bg-slate-100 border-slate-200 text-slate-600 dark:bg-gradient-to-br dark:from-slate-800 dark:to-slate-900 dark:border-white/10 dark:text-slate-300 group-hover:border-[var(--accent-primary)] group-hover:text-[var(--accent-primary)]'
134137 ) }
135138 aria-hidden = "true"
@@ -140,15 +143,13 @@ function TableRow({
140143 < div className = "flex flex-col min-w-0" >
141144 < span
142145 className = { cn (
143- 'font-medium text-sm transition-colors flex items-center gap-1 sm:gap-2 truncate ' ,
146+ 'font-medium text-sm transition-colors flex items-center gap-1 sm:gap-2' ,
144147 isCurrentUser
145148 ? 'text-[var(--accent-primary)] font-black text-sm sm:text-base'
146149 : 'text-slate-700 dark:text-slate-200 group-hover:text-[var(--accent-primary)] dark:group-hover:text-[var(--accent-primary)]'
147150 ) }
148151 >
149- < span className = "truncate max-w-[100px] sm:max-w-none" >
150- { user . username }
151- </ span >
152+ < span className = "truncate" > { user . username } </ span >
152153
153154 { isCurrentUser && (
154155 < div className = "relative flex-shrink-0 flex items-center justify-center w-5 h-5 sm:w-8 sm:h-8 ml-1" >
@@ -183,7 +184,9 @@ function TableRow({
183184 </ div >
184185 </ td >
185186
186- < td className = { cn ( cellClass , 'text-right' ) } >
187+ < td
188+ className = { cn ( cellClass , 'text-right pr-4 sm:pr-6' , rightBorderClass ) }
189+ >
187190 < span
188191 className = { cn (
189192 'font-mono font-bold inline-block transition-all' ,
0 commit comments