@@ -318,8 +318,9 @@ export function UserProfileClient({ user, location, countryParam }: Props) {
318318 </ div >
319319
320320 { /* Actions */ }
321- < div className = "grid w-full grid-cols-2 gap-2 sm:flex sm:w-auto sm:items-center sm:justify-end sm:gap-2.5" >
322- < Link href = { compareUrl as Route } className = "w-full sm:w-auto" >
321+ < div className = "flex w-full flex-col gap-2 sm:w-auto sm:min-w-[280px] lg:min-w-[300px]" >
322+ { /* Primary Action (1) */ }
323+ < Link href = { compareUrl as Route } className = "w-full" >
323324 < Button className = "flex w-full items-center justify-center gap-1.5 px-3 text-xs shadow-sm sm:px-4 sm:text-sm" >
324325 < Scale className = "h-4 w-4 shrink-0" />
325326
@@ -329,47 +330,50 @@ export function UserProfileClient({ user, location, countryParam }: Props) {
329330 </ Button >
330331 </ Link >
331332
332- < Button
333- variant = "secondary"
334- size = "md"
335- onClick = { handleCopyLink }
336- className = "flex w-full items-center justify-center gap-1.5 px-3 text-xs sm:px-4 sm:text-sm"
337- aria-label = { t ( "profile.copyLink" ) }
338- >
339- { copied ? (
340- < >
341- < Check className = "h-4 w-4 shrink-0 text-green-500" />
342-
343- < span className = "truncate text-green-500 sm:hidden" >
344- { t ( "profile.copiedShort" ) }
345- </ span >
346-
347- < span className = "hidden truncate text-green-500 sm:inline" >
348- { t ( "profile.copied" ) }
349- </ span >
350- </ >
351- ) : (
352- < >
353- < Copy className = "h-4 w-4 shrink-0" />
354-
355- < span className = "truncate sm:hidden" > { t ( "profile.shareShort" ) } </ span >
333+ { /* Secondary Actions (2) */ }
334+ < div className = "grid w-full grid-cols-2 gap-2" >
335+ < Button
336+ variant = "secondary"
337+ size = "md"
338+ onClick = { handleCopyLink }
339+ className = "flex w-full items-center justify-center gap-1.5 px-2.5 text-xs sm:px-3 sm:text-sm"
340+ aria-label = { t ( "profile.copyLink" ) }
341+ >
342+ { copied ? (
343+ < >
344+ < Check className = "h-4 w-4 shrink-0 text-green-500" />
345+
346+ < span className = "truncate text-green-500 sm:hidden" >
347+ { t ( "profile.copiedShort" ) }
348+ </ span >
349+
350+ < span className = "hidden truncate text-green-500 sm:inline" >
351+ { t ( "profile.copied" ) }
352+ </ span >
353+ </ >
354+ ) : (
355+ < >
356+ < Copy className = "h-4 w-4 shrink-0" />
357+
358+ < span className = "truncate sm:hidden" > { t ( "profile.shareShort" ) } </ span >
359+
360+ < span className = "hidden truncate sm:inline" > { t ( "profile.copyLink" ) } </ span >
361+ </ >
362+ ) }
363+ </ Button >
356364
357- < span className = "hidden truncate sm:inline" > { t ( "profile.copyLink" ) } </ span >
358- </ >
359- ) }
360- </ Button >
361-
362- { /* Get README Badge */ }
363- < Button
364- variant = "secondary"
365- size = "md"
366- onClick = { ( ) => setBadgeDialogOpen ( true ) }
367- className = "col-span-2 flex w-full items-center justify-center gap-1.5 whitespace-nowrap px-3 text-xs sm:col-span-1 sm:w-auto sm:px-4 sm:text-sm"
368- aria-label = { t ( "profile.getBadge" ) }
369- >
370- < BadgeCheck className = "h-4 w-4 shrink-0" />
371- < span className = "truncate" > { t ( "profile.getBadge" ) } </ span >
372- </ Button >
365+ { /* Get README Badge */ }
366+ < Button
367+ variant = "secondary"
368+ size = "md"
369+ onClick = { ( ) => setBadgeDialogOpen ( true ) }
370+ className = "flex w-full items-center justify-center gap-1.5 whitespace-nowrap px-2.5 text-xs sm:px-3 sm:text-sm"
371+ aria-label = { t ( "profile.getBadge" ) }
372+ >
373+ < BadgeCheck className = "h-4 w-4 shrink-0" />
374+ < span className = "truncate" > { t ( "profile.getBadge" ) } </ span >
375+ </ Button >
376+ </ div >
373377 </ div >
374378 </ div >
375379 </ section >
0 commit comments