Skip to content

Commit 7901af7

Browse files
committed
fix(webapp): use native selectable row controls
1 parent 7331b38 commit 7901af7

3 files changed

Lines changed: 34 additions & 20 deletions

File tree

  • apps/webapp/app
    • components/code
    • routes
      • _app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.deployments
      • _app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.prompts.$promptSlug

apps/webapp/app/components/code/TSQLResultsTable.tsx

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -917,19 +917,8 @@ function HeaderCellContent({
917917
const [isFilterHovered, setIsFilterHovered] = useState(false);
918918

919919
const sortHighlighted = isCellHovered && !isFilterHovered;
920-
921-
return (
922-
<div
923-
className={cn(
924-
"flex w-full items-center gap-1 overflow-hidden bg-background-bright py-2 pl-2 pr-3",
925-
"font-mono text-xs font-medium text-text-bright",
926-
alignment === "right" && "justify-end",
927-
canSort && "cursor-pointer select-none"
928-
)}
929-
onMouseEnter={() => setIsCellHovered(true)}
930-
onMouseLeave={() => setIsCellHovered(false)}
931-
onClick={onSortClick}
932-
>
920+
const headerContent = (
921+
<>
933922
{tooltip ? (
934923
<div
935924
className={cn("flex min-w-0 flex-1 items-center gap-1 truncate", {
@@ -949,7 +938,6 @@ function HeaderCellContent({
949938
) : (
950939
<span className="min-w-0 flex-1 truncate text-left">{children}</span>
951940
)}
952-
{/* Sort indicator */}
953941
{canSort && (
954942
<span
955943
className={cn(
@@ -966,6 +954,33 @@ function HeaderCellContent({
966954
)}
967955
</span>
968956
)}
957+
</>
958+
);
959+
960+
return (
961+
<div
962+
className={cn(
963+
"flex w-full items-center gap-1 overflow-hidden bg-background-bright py-2 pl-2 pr-3",
964+
"font-mono text-xs font-medium text-text-bright",
965+
alignment === "right" && "justify-end"
966+
)}
967+
onMouseEnter={() => setIsCellHovered(true)}
968+
onMouseLeave={() => setIsCellHovered(false)}
969+
>
970+
{canSort ? (
971+
<button
972+
type="button"
973+
onClick={onSortClick}
974+
className={cn(
975+
"flex min-w-0 flex-1 cursor-pointer select-none items-center gap-1 overflow-hidden text-left focus-custom",
976+
alignment === "right" && "justify-end"
977+
)}
978+
>
979+
{headerContent}
980+
</button>
981+
) : (
982+
headerContent
983+
)}
969984
{onFilterClick && (
970985
<button
971986
type="button"

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.deployments/route.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -340,10 +340,7 @@ export default function Page() {
340340
{hasVercelIntegration && (
341341
<TableCell isSelected={isSelected}>
342342
{deployment.vercelDeploymentUrl ? (
343-
<div
344-
className="-ml-1 flex items-center"
345-
onClick={(e) => e.stopPropagation()}
346-
>
343+
<div className="-ml-1 flex items-center">
347344
<VercelLink
348345
vercelDeploymentUrl={deployment.vercelDeploymentUrl}
349346
/>

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.prompts.$promptSlug/route.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2093,7 +2093,9 @@ function VersionsTab({
20932093
const isOverride = v.labels.includes("override");
20942094

20952095
return (
2096-
<div
2096+
<button
2097+
type="button"
2098+
aria-pressed={isSelected}
20972099
key={v.id}
20982100
onClick={() => onSelectVersion(v.version)}
20992101
className={cn(
@@ -2143,7 +2145,7 @@ function VersionsTab({
21432145
<span className="shrink-0 text-xs text-text-dimmed">
21442146
<DateTime date={v.createdAt} />
21452147
</span>
2146-
</div>
2148+
</button>
21472149
);
21482150
})}
21492151
</div>

0 commit comments

Comments
 (0)