| author | |
| committer | |
| log | 1c2f933892cce833823fcfbf3099a51813ba67fb |
| tree | 77e27d717a03a699ab29e6fef41558c626deee02 |
| parent | 4321aa24fd21c2b5360cc58e84de4ccc09c801f9 |
| signature | Signed by PGP key B5690EEEBB952194 |
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>9 files changed, 20 insertions(+), 14 deletions(-)
apps/web/src/components/DiffPanel.tsx+2-1| ... | ... | @@ -672,7 +672,8 @@ export default function DiffPanel({ |
| 672 | 672 | <div className="flex min-w-0 flex-1 items-center gap-3 [-webkit-app-region:no-drag]"> |
| 673 | 673 | <DropdownMenu> |
| 674 | 674 | <DropdownMenuTrigger |
| 675 | className="inline-flex h-6 max-w-full items-center gap-1 rounded-md bg-accent px-2 text-xs font-medium text-accent-foreground outline-none transition-colors hover:bg-accent/80 focus-visible:ring-2 focus-visible:ring-ring" | |
| 675 | render={<Button size="xs" variant="secondary" />} | |
| 676 | className="max-w-full" | |
| 676 | 677 | aria-label={`Diff scope: ${selectedScopeLabel}`} |
| 677 | 678 | > |
| 678 | 679 | <span className="truncate">{selectedScopeLabel}</span> |
apps/web/src/components/chat/useAutoBalanceUpdateBanner.tsx+3-1| ... | ... | @@ -21,6 +21,7 @@ import { |
| 21 | 21 | ServerUpdateProgress, |
| 22 | 22 | ServerUpdatesAction, |
| 23 | 23 | } from "../ServerUpdateAction"; |
| 24 | import { InlineButton } from "../ui/button"; | |
| 24 | 25 | import { Popover, PopoverPopup, PopoverTrigger } from "../ui/popover"; |
| 25 | 26 | import type { ComposerBannerStackItem } from "./ComposerBannerStack"; |
| 26 | 27 | import { ComposerServerUpdateIcon } from "./ComposerServerUpdateStatus"; |
| ... | ... | @@ -95,7 +96,8 @@ export function useAutoBalanceUpdateBanner( |
| 95 | 96 | title: ( |
| 96 | 97 | <Popover> |
| 97 | 98 | <PopoverTrigger |
| 98 | className="block max-w-full truncate rounded-sm text-left outline-none focus-visible:ring-2 focus-visible:ring-ring" | |
| 99 | render={<InlineButton />} | |
| 100 | className="block max-w-full truncate" | |
| 99 | 101 | aria-label={`${title}. View machines`} |
| 100 | 102 | > |
| 101 | 103 | {title} |
apps/web/src/components/device/DeviceToolVersions.tsx+2-1| ... | ... | @@ -1,5 +1,6 @@ |
| 1 | 1 | import type { ReactNode } from "react"; |
| 2 | 2 | import type { DeviceToolVersions as ToolVersions } from "@t3tools/contracts"; |
| 3 | import { InlineButton } from "~/components/ui/button"; | |
| 3 | 4 | import { Popover, PopoverPopup, PopoverTitle, PopoverTrigger } from "~/components/ui/popover"; |
| 4 | 5 | |
| 5 | 6 | export function DeviceToolVersions({ |
| ... | ... | @@ -32,7 +33,7 @@ export function DeviceToolVersions({ |
| 32 | 33 | ? `${label}: ${version ? `version ${version}` : selected ? "not installed" : "version unknown"}. Show details` |
| 33 | 34 | : undefined |
| 34 | 35 | } |
| 35 | className="rounded text-xs text-muted-foreground underline decoration-muted-foreground/40 underline-offset-4 hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring" | |
| 36 | render={<InlineButton tone="muted" />} | |
| 36 | 37 | > |
| 37 | 38 | {kind |
| 38 | 39 | ? version |
apps/web/src/components/pullRequest/PullRequestCodeTab.tsx+2-1| ... | ... | @@ -1071,7 +1071,8 @@ function PullRequestCodeTab({ |
| 1071 | 1071 | {orderedCommits.length > 0 ? ( |
| 1072 | 1072 | <DropdownMenu> |
| 1073 | 1073 | <DropdownMenuTrigger |
| 1074 | className="inline-flex h-6 min-w-0 max-w-64 items-center gap-1 rounded-md bg-accent px-2 text-xs font-medium text-accent-foreground outline-none transition-colors hover:bg-accent/80 focus-visible:ring-2 focus-visible:ring-ring" | |
| 1074 | render={<Button size="xs" variant="secondary" />} | |
| 1075 | className="min-w-0 max-w-64" | |
| 1075 | 1076 | aria-label={`Diff scope: ${scopeLabel}`} |
| 1076 | 1077 | > |
| 1077 | 1078 | <span className="truncate">{scopeLabel}</span> |
apps/web/src/components/settings/SettingsBreadcrumb.tsx+3-5| ... | ... | @@ -2,11 +2,11 @@ import { resolveEnvironmentMachineKind } from "@t3tools/contracts"; |
| 2 | 2 | import { LayersIcon } from "lucide-react"; |
| 3 | 3 | import type { ReactNode } from "react"; |
| 4 | 4 | |
| 5 | import { cn } from "../../lib/utils"; | |
| 6 | 5 | import type { SidebarProjectSnapshot } from "../../sidebarProjectGrouping"; |
| 7 | 6 | import type { EnvironmentPresentation } from "../../state/environments"; |
| 8 | 7 | import { EnvironmentMachineIcon } from "../EnvironmentMachineIcon"; |
| 9 | 8 | import { ProjectFavicon } from "../ProjectFavicon"; |
| 9 | import { InlineButton } from "../ui/button"; | |
| 10 | 10 | import { |
| 11 | 11 | Menu, |
| 12 | 12 | MenuPopup, |
| ... | ... | @@ -111,10 +111,8 @@ function ScopeMenu({ |
| 111 | 111 | <Menu> |
| 112 | 112 | <MenuTrigger |
| 113 | 113 | aria-label={ariaLabel} |
| 114 | className={cn( | |
| 115 | "inline-flex min-w-0 max-w-56 cursor-pointer items-center gap-1.5 rounded-sm text-left transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring", | |
| 116 | narrowed ? "text-foreground" : "text-muted-foreground hover:text-foreground", | |
| 117 | )} | |
| 114 | render={<InlineButton tone={narrowed ? "default" : "muted"} />} | |
| 115 | className="min-w-0 max-w-56 gap-1.5" | |
| 118 | 116 | > |
| 119 | 117 | {icon} |
| 120 | 118 | <span className="min-w-0 truncate">{label}</span> |
apps/web/src/components/usage/UsagePage.refresh.test.tsx+1-1| ... | ... | @@ -47,7 +47,7 @@ vi.mock("./usagePagePreferences", () => ({ |
| 47 | 47 | readUsagePagePreferences: () => ({ metric: state.metric, windowDays: 30 }), |
| 48 | 48 | saveUsagePagePreferences: vi.fn(), |
| 49 | 49 | })); |
| 50 | vi.mock("../ui/button", () => ({ Button: "button" })); | |
| 50 | vi.mock("../ui/button", () => ({ Button: "button", InlineButton: "button" })); | |
| 51 | 51 | vi.mock("../ui/scroll-area", () => ({ ScrollArea: "div" })); |
| 52 | 52 | vi.mock("../ui/select", () => ({ |
| 53 | 53 | Select: "select", |
apps/web/src/components/usage/UsagePage.test.tsx+1-1| ... | ... | @@ -40,7 +40,7 @@ vi.mock("react", async (importOriginal) => { |
| 40 | 40 | |
| 41 | 41 | vi.mock("../../env", () => ({ isElectron: false })); |
| 42 | 42 | vi.mock("../../state/usage", () => ({ useUsage: testState.useUsage })); |
| 43 | vi.mock("../ui/button", () => ({ Button: "button" })); | |
| 43 | vi.mock("../ui/button", () => ({ Button: "button", InlineButton: "button" })); | |
| 44 | 44 | vi.mock("../ui/scroll-area", () => ({ ScrollArea: "div" })); |
| 45 | 45 | vi.mock("../ui/select", () => ({ |
| 46 | 46 | Select: "div", |
apps/web/src/components/usage/UsagePage.tsx+5-2| ... | ... | @@ -39,7 +39,7 @@ import { |
| 39 | 39 | formatUsd, |
| 40 | 40 | makeWindow, |
| 41 | 41 | } from "@t3tools/shared/usageFormat"; |
| 42 | import { Button } from "../ui/button"; | |
| 42 | import { Button, InlineButton } from "../ui/button"; | |
| 43 | 43 | import { |
| 44 | 44 | Menu, |
| 45 | 45 | MenuCheckboxItem, |
| ... | ... | @@ -737,7 +737,10 @@ function UsageEnvironmentFilter({ |
| 737 | 737 | return ( |
| 738 | 738 | <> |
| 739 | 739 | <Menu> |
| 740 | <MenuTrigger className="group/usage-environment inline-flex min-w-0 max-w-full cursor-pointer items-center gap-1 rounded-sm text-left focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring"> | |
| 740 | <MenuTrigger | |
| 741 | render={<InlineButton />} | |
| 742 | className="group/usage-environment min-w-0 max-w-full gap-1" | |
| 743 | > | |
| 741 | 744 | <span className="min-w-0 truncate">{label}</span> |
| 742 | 745 | <span className="flex size-3.5 shrink-0 items-center justify-center text-muted-foreground"> |
| 743 | 746 | {showUsageStatus && pendingCount > 0 ? ( |
scripts/lint-restyle-ceiling.ts+1-1| ... | ... | @@ -8,7 +8,7 @@ import * as NodeURL from "node:url"; |
| 8 | 8 | // components/ui exports are migrated to variants (see vite.config.ts). This gate keeps the |
| 9 | 9 | // count from growing: CI fails when findings exceed the ceiling. Lower the ceiling when you |
| 10 | 10 | // migrate a file, and delete this script when the rule becomes an error. |
| 11 | export const RESTYLE_CEILING = 717; | |
| 11 | export const RESTYLE_CEILING = 668; | |
| 12 | 12 | |
| 13 | 13 | const RULE = "shadcn(no-restyle)"; |
| 14 | 14 |