@@ -692,7 +692,10 @@ export default function AnalyticsPage() {
692692 </ tr >
693693 </ thead >
694694 < tbody className = "divide-y divide-gray-200 dark:divide-gray-700" >
695- { sortedRepoMetrics . map ( ( repo , index ) => (
695+ { sortedRepoMetrics . map ( ( repo , index ) => {
696+ // Show tooltip below for first 3 rows, above for the rest
697+ const showTooltipBelow = index < 3 ;
698+ return (
696699 < motion . tr
697700 key = { repo . repo_id }
698701 initial = { { opacity : 0 , y : 10 } }
@@ -713,9 +716,9 @@ export default function AnalyticsPage() {
713716 < ExternalLink className = "w-3 h-3" />
714717 </ a >
715718 { repo . description && (
716- < div className = " hidden group-hover:block absolute left-0 bottom-full mb-2 z-50 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 text-sm rounded-lg py-3 px-4 w-96 max-w-[calc(100vw-2rem)] shadow-xl border-2 border-gray-200 dark:border-gray-600 leading-relaxed whitespace-normal break-words" >
719+ < div className = { ` hidden group-hover:block absolute left-0 ${ showTooltipBelow ? 'top-full mt-2' : ' bottom-full mb-2' } z-50 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 text-sm rounded-lg py-3 px-4 w-96 max-w-[calc(100vw-2rem)] shadow-xl border-2 border-gray-200 dark:border-gray-600 leading-relaxed whitespace-normal break-words` } >
717720 { repo . description }
718- < div className = " absolute - bottom-2 left-8 w-4 h-4 bg-white dark:bg-gray-800 border-r-2 border-b-2 border- gray-200 dark:border-gray-600 transform rotate-45" > </ div >
721+ < div className = { ` absolute ${ showTooltipBelow ? '-top-2 left-8 border-l-2 border-t-2' : '- bottom-2 left-8 border-r-2 border-b-2' } w-4 h-4 bg-white dark:bg-gray-800 border-gray-200 dark:border-gray-600 transform rotate-45` } > </ div >
719722 </ div >
720723 ) }
721724 </ td >
@@ -745,7 +748,8 @@ export default function AnalyticsPage() {
745748 : "—" }
746749 </ td >
747750 </ motion . tr >
748- ) ) }
751+ ) ;
752+ } ) }
749753 </ tbody >
750754 </ table >
751755 </ div >
@@ -974,7 +978,10 @@ export default function AnalyticsPage() {
974978 </ tr >
975979 </ thead >
976980 < tbody className = "divide-y divide-gray-200 dark:divide-gray-700" >
977- { sortedPypiMetrics . map ( ( pkg , index ) => (
981+ { sortedPypiMetrics . map ( ( pkg , index ) => {
982+ // Show tooltip below for first 3 rows, above for the rest
983+ const showTooltipBelow = index < 3 ;
984+ return (
978985 < motion . tr
979986 key = { pkg . package_name }
980987 initial = { { opacity : 0 , y : 10 } }
@@ -1000,9 +1007,9 @@ export default function AnalyticsPage() {
10001007 </ div >
10011008 </ div >
10021009 { pkg . description && (
1003- < div className = " hidden group-hover:block absolute left-0 bottom-full mb-2 z-50 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 text-sm rounded-lg py-3 px-4 w-96 max-w-[calc(100vw-2rem)] shadow-xl border-2 border-gray-200 dark:border-gray-600 leading-relaxed whitespace-normal break-words" >
1010+ < div className = { ` hidden group-hover:block absolute left-0 ${ showTooltipBelow ? 'top-full mt-2' : ' bottom-full mb-2' } z-50 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 text-sm rounded-lg py-3 px-4 w-96 max-w-[calc(100vw-2rem)] shadow-xl border-2 border-gray-200 dark:border-gray-600 leading-relaxed whitespace-normal break-words` } >
10041011 { pkg . description }
1005- < div className = " absolute - bottom-2 left-8 w-4 h-4 bg-white dark:bg-gray-800 border-r-2 border-b-2 border- gray-200 dark:border-gray-600 transform rotate-45" > </ div >
1012+ < div className = { ` absolute ${ showTooltipBelow ? '-top-2 left-8 border-l-2 border-t-2' : '- bottom-2 left-8 border-r-2 border-b-2' } w-4 h-4 bg-white dark:bg-gray-800 border-gray-200 dark:border-gray-600 transform rotate-45` } > </ div >
10061013 </ div >
10071014 ) }
10081015 </ td >
@@ -1031,7 +1038,8 @@ export default function AnalyticsPage() {
10311038 : "—" }
10321039 </ td >
10331040 </ motion . tr >
1034- ) ) }
1041+ ) ;
1042+ } ) }
10351043 </ tbody >
10361044 </ table >
10371045 </ div >
0 commit comments