Skip to content

Commit 09c5622

Browse files
committed
Fix placement of hover text to be dynamic based on row
1 parent a012205 commit 09c5622

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

catalog/app/analytics/page.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)