diff --git a/apps/dashboard/src/@/components/ui/table.stories.tsx b/apps/dashboard/src/@/components/ui/table.stories.tsx
index 82e0fd26cf4..dac92c863af 100644
--- a/apps/dashboard/src/@/components/ui/table.stories.tsx
+++ b/apps/dashboard/src/@/components/ui/table.stories.tsx
@@ -9,7 +9,9 @@ import {
TableRow,
} from "@/components/ui/table";
import type { Meta, StoryObj } from "@storybook/react";
+import Link from "next/link";
import { BadgeContainer, mobileViewport } from "../../../stories/utils";
+import { cn } from "../../lib/utils";
import { Badge } from "./badge";
const meta = {
@@ -41,6 +43,10 @@ function Component() {
+
+
+
+
@@ -90,6 +96,7 @@ const invoices: Invoice[] = [
function TableDemo(props: {
footer?: boolean;
+ linkBox?: boolean;
}) {
return (
@@ -104,8 +111,21 @@ function TableDemo(props: {
{invoices.map((invoice) => (
-
- {invoice.invoice}
+
+
+
+ {invoice.invoice}
+
+
{invoice.paymentStatus}
diff --git a/apps/dashboard/src/@/components/ui/table.tsx b/apps/dashboard/src/@/components/ui/table.tsx
index 8c175be6d07..7e0cdeb15d1 100644
--- a/apps/dashboard/src/@/components/ui/table.tsx
+++ b/apps/dashboard/src/@/components/ui/table.tsx
@@ -63,12 +63,19 @@ TableFooter.displayName = "TableFooter";
const TableRow = React.forwardRef<
HTMLTableRowElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
+ React.HTMLAttributes & {
+ /**
+ * Contain the absolutely position elements inside the row with position:relative + transform:translate(0)
+ * transform:translate(0) is required because position:relative on tr element does not work on webkit
+ */
+ linkBox?: boolean;
+ }
+>(({ className, linkBox, ...props }, ref) => (
+
{favoriteButton}
{/* Name */}
diff --git a/apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/components/PublishedContractTable.tsx b/apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/components/PublishedContractTable.tsx
index 73c042d2e3f..9ba2bd49322 100644
--- a/apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/components/PublishedContractTable.tsx
+++ b/apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/components/PublishedContractTable.tsx
@@ -190,7 +190,8 @@ function ContractTableRow(props: {
return (
<>
diff --git a/apps/dashboard/src/app/(dashboard)/trending/components/trending-table.tsx b/apps/dashboard/src/app/(dashboard)/trending/components/trending-table.tsx
index c324184f95b..967a6670768 100644
--- a/apps/dashboard/src/app/(dashboard)/trending/components/trending-table.tsx
+++ b/apps/dashboard/src/app/(dashboard)/trending/components/trending-table.tsx
@@ -75,7 +75,8 @@ export function TrendingContractSection(props: {
{props.topContracts.map((contract, index) => (
{/* Rank */}
diff --git a/apps/dashboard/src/app/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx b/apps/dashboard/src/app/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx
index a6122464abb..3144bb3095c 100644
--- a/apps/dashboard/src/app/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx
+++ b/apps/dashboard/src/app/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx
@@ -78,10 +78,8 @@ function PartnerRow(props: {
return (
{props.partner.name}
diff --git a/apps/dashboard/src/app/team/[team_slug]/(team)/~/engine/(general)/overview/engine-instances-table.tsx b/apps/dashboard/src/app/team/[team_slug]/(team)/~/engine/(general)/overview/engine-instances-table.tsx
index b5a35f1444e..17bbce29d11 100644
--- a/apps/dashboard/src/app/team/[team_slug]/(team)/~/engine/(general)/overview/engine-instances-table.tsx
+++ b/apps/dashboard/src/app/team/[team_slug]/(team)/~/engine/(general)/overview/engine-instances-table.tsx
@@ -168,7 +168,8 @@ export const EngineInstancesTable: React.FC = ({
isDestructive: true,
},
]}
- bodyRowClassName="hover:bg-muted/50 relative"
+ bodyRowClassName="hover:bg-muted/50"
+ bodyRowLinkBox
/>
{instanceToUpdate && (
diff --git a/apps/dashboard/src/components/contract-components/contract-table/index.tsx b/apps/dashboard/src/components/contract-components/contract-table/index.tsx
index 3aaf3765ca2..de0ed68538e 100644
--- a/apps/dashboard/src/components/contract-components/contract-table/index.tsx
+++ b/apps/dashboard/src/components/contract-components/contract-table/index.tsx
@@ -54,7 +54,8 @@ export async function DeployableContractTable(
{deployedContractMetadata.map((metadata, i) => {
return (
diff --git a/apps/dashboard/src/components/contract-components/tables/deployed-contracts.tsx b/apps/dashboard/src/components/contract-components/tables/deployed-contracts.tsx
index 09b32b504f0..f0b3a9509fe 100644
--- a/apps/dashboard/src/components/contract-components/tables/deployed-contracts.tsx
+++ b/apps/dashboard/src/components/contract-components/tables/deployed-contracts.tsx
@@ -358,7 +358,8 @@ const ContractTableRow = memo(({ row }: { row: Row }) => {
{row.cells.map((cell, cellIndex) => {
return (
diff --git a/apps/dashboard/src/components/shared/TWTable.tsx b/apps/dashboard/src/components/shared/TWTable.tsx
index 5cba685be59..34fad8125a0 100644
--- a/apps/dashboard/src/components/shared/TWTable.tsx
+++ b/apps/dashboard/src/components/shared/TWTable.tsx
@@ -55,6 +55,7 @@ type TWTableProps = {
};
title: string;
bodyRowClassName?: string;
+ bodyRowLinkBox?: boolean;
};
export function TWTable(tableProps: TWTableProps) {
@@ -174,6 +175,7 @@ export function TWTable(tableProps: TWTableProps) {
}
: {})}
className={tableProps.bodyRowClassName}
+ linkBox={tableProps.bodyRowLinkBox}
>
{row.getVisibleCells().map((cell) => {
return (