| author | |
| committer | |
| log | be01b287b92b4686023a5e213078a2f51b3c1880 |
| tree | 9f6b1e634664c64b050509a1430bd45d46939d70 |
| parent | c2f8cb7ca1576afd70294b98dfe1de9be17aacae |
| signature | Signed by PGP key B5690EEEBB952194 |
7 files changed, 25 insertions(+), 25 deletions(-)
apps/web/src/components/RightPanelTabs.tsx+5-5| ... | ... | @@ -185,7 +185,7 @@ function RightPanelEmptyState(props: { |
| 185 | 185 | key={action.label} |
| 186 | 186 | type="button" |
| 187 | 187 | onClick={action.onClick} |
| 188 | className="flex min-h-28 w-full flex-col items-start rounded-lg border border-border/80 bg-card p-4 text-left transition hover:border-border hover:bg-accent/60 dark:border-transparent dark:shadow-none dark:inset-ring-1 dark:inset-ring-white/5" | |
| 188 | className="cursor-pointer flex min-h-28 w-full flex-col items-start rounded-lg border border-border/80 bg-card p-4 text-left transition hover:border-border hover:bg-accent/60 dark:border-transparent dark:shadow-none dark:inset-ring-1 dark:inset-ring-white/5" | |
| 189 | 189 | > |
| 190 | 190 | {content} |
| 191 | 191 | </button> |
| ... | ... | @@ -413,7 +413,7 @@ export function RightPanelTabs(props: RightPanelTabsProps) { |
| 413 | 413 | onAuxClick={(event) => handleTabAuxClick(event, surface)} |
| 414 | 414 | onContextMenu={(event) => void handleTabContextMenu(event, surface)} |
| 415 | 415 | className={cn( |
| 416 | "group/tab flex h-6 max-w-36 shrink-0 items-center gap-0.5 rounded-md pr-2 pl-1.5 text-xs", | |
| 416 | "cursor-pointer group/tab flex h-6 max-w-36 shrink-0 items-center gap-0.5 rounded-md pr-2 pl-1.5 text-xs", | |
| 417 | 417 | active |
| 418 | 418 | ? "bg-accent text-foreground" |
| 419 | 419 | : "text-muted-foreground hover:bg-accent/60 hover:text-foreground", |
| ... | ... | @@ -421,7 +421,7 @@ export function RightPanelTabs(props: RightPanelTabsProps) { |
| 421 | 421 | > |
| 422 | 422 | <button |
| 423 | 423 | type="button" |
| 424 | className="group/close relative flex size-4 shrink-0 items-center justify-center rounded-sm hover:bg-muted" | |
| 424 | className="cursor-pointer group/close relative flex size-4 shrink-0 items-center justify-center rounded-sm hover:bg-muted" | |
| 425 | 425 | aria-label={`Close ${title}`} |
| 426 | 426 | onClick={() => props.onCloseSurface(surface)} |
| 427 | 427 | > |
| ... | ... | @@ -445,7 +445,7 @@ export function RightPanelTabs(props: RightPanelTabsProps) { |
| 445 | 445 | render={ |
| 446 | 446 | <button |
| 447 | 447 | type="button" |
| 448 | className="flex min-w-0 items-center" | |
| 448 | className="cursor-pointer flex min-w-0 items-center" | |
| 449 | 449 | onClick={() => props.onActivate(surface)} |
| 450 | 450 | > |
| 451 | 451 | <span className="truncate">{title}</span> |
| ... | ... | @@ -460,7 +460,7 @@ export function RightPanelTabs(props: RightPanelTabsProps) { |
| 460 | 460 | {props.surfaces.length > 0 ? ( |
| 461 | 461 | <Menu> |
| 462 | 462 | <MenuTrigger |
| 463 | className="relative inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 463 | className="cursor-pointer relative inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 464 | 464 | aria-label="Add panel surface" |
| 465 | 465 | > |
| 466 | 466 | <Plus className="size-3.5" /> |
apps/web/src/components/settings/DiagnosticsSettings.tsx+7-7| ... | ... | @@ -103,7 +103,7 @@ function StatBlock({ |
| 103 | 103 | render={ |
| 104 | 104 | <button |
| 105 | 105 | type="button" |
| 106 | className="inline-flex size-3.5 shrink-0 items-center justify-center rounded-sm text-muted-foreground/60 hover:text-foreground" | |
| 106 | className="cursor-pointer inline-flex size-3.5 shrink-0 items-center justify-center rounded-sm text-muted-foreground/60 hover:text-foreground" | |
| 107 | 107 | aria-label={`${label} details`} |
| 108 | 108 | > |
| 109 | 109 | <InfoIcon className="size-3" /> |
| ... | ... | @@ -187,7 +187,7 @@ function ExpandableText({ |
| 187 | 187 | {canExpand ? ( |
| 188 | 188 | <button |
| 189 | 189 | type="button" |
| 190 | className="mt-1 text-[11px] font-medium text-foreground/70 underline-offset-2 hover:text-foreground hover:underline" | |
| 190 | className="cursor-pointer mt-1 text-[11px] font-medium text-foreground/70 underline-offset-2 hover:text-foreground hover:underline" | |
| 191 | 191 | onClick={() => setExpanded((value) => !value)} |
| 192 | 192 | > |
| 193 | 193 | {expanded ? "Show less" : expandLabel} |
| ... | ... | @@ -274,7 +274,7 @@ function TraceIdCell({ traceId }: { traceId: string }) { |
| 274 | 274 | render={ |
| 275 | 275 | <button |
| 276 | 276 | type="button" |
| 277 | className="inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 277 | className="cursor-pointer inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 278 | 278 | aria-label={copied ? "Copied trace ID" : "Copy trace ID"} |
| 279 | 279 | onClick={() => copyToClipboard(traceId)} |
| 280 | 280 | > |
| ... | ... | @@ -323,7 +323,7 @@ function ProcessNameCell({ |
| 323 | 323 | {hasChildren ? ( |
| 324 | 324 | <button |
| 325 | 325 | type="button" |
| 326 | className="inline-flex size-5 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 326 | className="cursor-pointer inline-flex size-5 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 327 | 327 | aria-label={isExpanded ? `Collapse ${name}` : `Expand ${name}`} |
| 328 | 328 | onClick={() => onToggle(process.pid)} |
| 329 | 329 | > |
| ... | ... | @@ -365,7 +365,7 @@ function ProcessSignalActions({ |
| 365 | 365 | <button |
| 366 | 366 | type="button" |
| 367 | 367 | disabled={isSignaling} |
| 368 | className="text-[11px] font-medium text-muted-foreground underline-offset-2 hover:text-foreground hover:underline disabled:pointer-events-none disabled:opacity-50" | |
| 368 | className="cursor-pointer text-[11px] font-medium text-muted-foreground underline-offset-2 hover:text-foreground hover:underline disabled:pointer-events-none disabled:opacity-50" | |
| 369 | 369 | onClick={() => onSignal(process.pid, "SIGINT")} |
| 370 | 370 | > |
| 371 | 371 | INT |
| ... | ... | @@ -380,7 +380,7 @@ function ProcessSignalActions({ |
| 380 | 380 | <button |
| 381 | 381 | type="button" |
| 382 | 382 | disabled={isSignaling} |
| 383 | className="text-[11px] font-medium text-destructive underline-offset-2 hover:underline disabled:pointer-events-none disabled:opacity-50" | |
| 383 | className="cursor-pointer text-[11px] font-medium text-destructive underline-offset-2 hover:underline disabled:pointer-events-none disabled:opacity-50" | |
| 384 | 384 | onClick={() => onSignal(process.pid, "SIGKILL")} |
| 385 | 385 | > |
| 386 | 386 | KILL |
| ... | ... | @@ -640,7 +640,7 @@ function ResourceHistoryWindowSelector({ |
| 640 | 640 | key={option.windowMs} |
| 641 | 641 | type="button" |
| 642 | 642 | className={cn( |
| 643 | "h-6 rounded-sm px-2 text-[11px] font-medium text-muted-foreground hover:text-foreground", | |
| 643 | "cursor-pointer h-6 rounded-sm px-2 text-[11px] font-medium text-muted-foreground hover:text-foreground", | |
| 644 | 644 | selectedWindowMs === option.windowMs && "bg-muted text-foreground", |
| 645 | 645 | )} |
| 646 | 646 | onClick={() => onSelect(option.windowMs)} |
apps/web/src/components/settings/ResourceTelemetryDiagnostics.tsx+4-4| ... | ... | @@ -383,7 +383,7 @@ function HistoryWindowSelector({ |
| 383 | 383 | key={option.windowMs} |
| 384 | 384 | type="button" |
| 385 | 385 | className={cn( |
| 386 | "h-6 rounded-sm px-2 text-[11px] font-medium text-muted-foreground hover:text-foreground", | |
| 386 | "cursor-pointer h-6 rounded-sm px-2 text-[11px] font-medium text-muted-foreground hover:text-foreground", | |
| 387 | 387 | selectedWindowMs === option.windowMs && "bg-muted text-foreground", |
| 388 | 388 | )} |
| 389 | 389 | onClick={() => onSelect(option.windowMs)} |
| ... | ... | @@ -487,7 +487,7 @@ function ProcessTreeName({ |
| 487 | 487 | {hasChildren ? ( |
| 488 | 488 | <button |
| 489 | 489 | type="button" |
| 490 | className="inline-flex size-5 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 490 | className="cursor-pointer inline-flex size-5 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent hover:text-foreground" | |
| 491 | 491 | onClick={() => onToggle(process)} |
| 492 | 492 | aria-label={collapsed ? `Expand ${name}` : `Collapse ${name}`} |
| 493 | 493 | > |
| ... | ... | @@ -538,7 +538,7 @@ function ProcessActions({ |
| 538 | 538 | <button |
| 539 | 539 | type="button" |
| 540 | 540 | disabled={isSignaling} |
| 541 | className="text-[10px] font-semibold text-muted-foreground hover:text-foreground disabled:opacity-50" | |
| 541 | className="cursor-pointer text-[10px] font-semibold text-muted-foreground hover:text-foreground disabled:opacity-50" | |
| 542 | 542 | onClick={() => onSignal(process, "SIGINT")} |
| 543 | 543 | > |
| 544 | 544 | INT |
| ... | ... | @@ -546,7 +546,7 @@ function ProcessActions({ |
| 546 | 546 | <button |
| 547 | 547 | type="button" |
| 548 | 548 | disabled={isSignaling} |
| 549 | className="text-[10px] font-semibold text-destructive hover:underline disabled:opacity-50" | |
| 549 | className="cursor-pointer text-[10px] font-semibold text-destructive hover:underline disabled:opacity-50" | |
| 550 | 550 | onClick={() => onSignal(process, "SIGKILL")} |
| 551 | 551 | > |
| 552 | 552 | KILL |
apps/web/src/components/ui/combobox.tsx+1-1| ... | ... | @@ -200,7 +200,7 @@ function ComboboxItem({ |
| 200 | 200 | return ( |
| 201 | 201 | <ComboboxPrimitive.Item |
| 202 | 202 | className={cn( |
| 203 | "flex min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center rounded-sm px-2 py-1 text-base outline-none hover:bg-accent data-disabled:pointer-events-none data-selected:bg-foreground/[0.08] data-selected:text-foreground data-highlighted:bg-accent data-highlighted:text-accent-foreground [&[data-highlighted][data-selected]]:bg-accent [&[data-highlighted][data-selected]]:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 203 | "flex min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-pointer items-center rounded-sm px-2 py-1 text-base outline-none hover:bg-accent data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-selected:bg-foreground/[0.08] data-selected:text-foreground data-highlighted:bg-accent data-highlighted:text-accent-foreground [&[data-highlighted][data-selected]]:bg-accent [&[data-highlighted][data-selected]]:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 204 | 204 | className, |
| 205 | 205 | )} |
| 206 | 206 | data-slot="combobox-item" |
apps/web/src/components/ui/menu.tsx+3-3| ... | ... | @@ -78,7 +78,7 @@ function MenuItem({ |
| 78 | 78 | return ( |
| 79 | 79 | <MenuPrimitive.Item |
| 80 | 80 | className={cn( |
| 81 | "[&>svg]:-mx-0.5 flex min-h-8 cursor-default select-none items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-inset:ps-8 data-[variant=destructive]:text-destructive-foreground data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&>svg:not([class*='opacity-'])]:opacity-80 [&>svg:not([class*='size-'])]:size-4.5 sm:[&>svg:not([class*='size-'])]:size-4 [&>svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:[&>svg:not([class*='text-'])]:text-current [&>svg]:pointer-events-none [&>svg]:shrink-0", | |
| 81 | "[&>svg]:-mx-0.5 flex min-h-8 cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-highlighted:bg-accent data-inset:ps-8 data-[variant=destructive]:text-destructive-foreground data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&>svg:not([class*='opacity-'])]:opacity-80 [&>svg:not([class*='size-'])]:size-4.5 sm:[&>svg:not([class*='size-'])]:size-4 [&>svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:[&>svg:not([class*='text-'])]:text-current [&>svg]:pointer-events-none [&>svg]:shrink-0", | |
| 82 | 82 | className, |
| 83 | 83 | )} |
| 84 | 84 | data-inset={inset} |
| ... | ... | @@ -102,7 +102,7 @@ function MenuCheckboxItem({ |
| 102 | 102 | <MenuPrimitive.CheckboxItem |
| 103 | 103 | checked={checked} |
| 104 | 104 | className={cn( |
| 105 | "grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center gap-2 rounded-sm py-1 ps-2 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 105 | "grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-pointer items-center gap-2 rounded-sm py-1 ps-2 text-base text-foreground outline-none data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 106 | 106 | variant === "switch" ? "grid-cols-[1fr_auto] gap-4 pe-1.5" : "grid-cols-[1rem_1fr] pe-4", |
| 107 | 107 | className, |
| 108 | 108 | )} |
| ... | ... | @@ -158,7 +158,7 @@ function MenuRadioItem({ |
| 158 | 158 | return ( |
| 159 | 159 | <MenuPrimitive.RadioItem |
| 160 | 160 | className={cn( |
| 161 | "flex min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center rounded-sm px-2 py-1 text-base text-foreground outline-none data-checked:bg-foreground/[0.08] data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 161 | "flex min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-pointer items-center rounded-sm px-2 py-1 text-base text-foreground outline-none data-checked:bg-foreground/[0.08] data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 162 | 162 | className, |
| 163 | 163 | )} |
| 164 | 164 | data-slot="menu-radio-item" |
apps/web/src/components/ui/select.tsx+1-1| ... | ... | @@ -185,7 +185,7 @@ function SelectItem({ |
| 185 | 185 | return ( |
| 186 | 186 | <SelectPrimitive.Item |
| 187 | 187 | className={cn( |
| 188 | "flex min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center rounded-sm px-2 py-1 text-base outline-none data-selected:bg-foreground/[0.08] data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 188 | "flex min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-pointer items-center rounded-sm px-2 py-1 text-base outline-none data-selected:bg-foreground/[0.08] data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", | |
| 189 | 189 | className, |
| 190 | 190 | )} |
| 191 | 191 | data-slot="select-item" |
apps/web/src/components/usage/UsagePage.tsx+4-4| ... | ... | @@ -71,7 +71,7 @@ export function UsagePage() { |
| 71 | 71 | type="button" |
| 72 | 72 | onClick={() => setWindowDays(option.days)} |
| 73 | 73 | className={cn( |
| 74 | "px-3 py-1.5 text-xs", | |
| 74 | "cursor-pointer px-3 py-1.5 text-xs", | |
| 75 | 75 | option.days === windowDays |
| 76 | 76 | ? "bg-muted text-foreground" |
| 77 | 77 | : "text-muted-foreground hover:text-foreground", |
| ... | ... | @@ -85,7 +85,7 @@ export function UsagePage() { |
| 85 | 85 | type="button" |
| 86 | 86 | onClick={refresh} |
| 87 | 87 | aria-label="Refresh usage" |
| 88 | className="rounded-md border border-border p-2 text-muted-foreground hover:text-foreground" | |
| 88 | className="cursor-pointer rounded-md border border-border p-2 text-muted-foreground hover:text-foreground" | |
| 89 | 89 | > |
| 90 | 90 | <RefreshCwIcon className="size-3.5" /> |
| 91 | 91 | </button> |
| ... | ... | @@ -173,7 +173,7 @@ export function UsagePage() { |
| 173 | 173 | type="button" |
| 174 | 174 | onClick={() => setMetric(option)} |
| 175 | 175 | className={cn( |
| 176 | "px-2.5 py-1 text-[10px] tracking-wide uppercase", | |
| 176 | "cursor-pointer px-2.5 py-1 text-[10px] tracking-wide uppercase", | |
| 177 | 177 | option === metric |
| 178 | 178 | ? "bg-muted text-foreground" |
| 179 | 179 | : "text-muted-foreground hover:text-foreground", |
| ... | ... | @@ -233,7 +233,7 @@ export function UsagePage() { |
| 233 | 233 | type="button" |
| 234 | 234 | onClick={() => setBreakdown(option)} |
| 235 | 235 | className={cn( |
| 236 | "px-2.5 py-1 text-[10px] tracking-wide uppercase", | |
| 236 | "cursor-pointer px-2.5 py-1 text-[10px] tracking-wide uppercase", | |
| 237 | 237 | option === breakdown |
| 238 | 238 | ? "bg-muted text-foreground" |
| 239 | 239 | : "text-muted-foreground hover:text-foreground", |