Skip to content

Commit c0cb2af

Browse files
committed
fix(webapp): use native selectable row controls
1 parent e02aaaf commit c0cb2af

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
@@ -918,19 +918,8 @@ function HeaderCellContent({
918918
const [isFilterHovered, setIsFilterHovered] = useState(false);
919919

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