Skip to content

Commit f90f12d

Browse files
committed
🤖 WIP: Migrate Tooltip to shadcn - imports and partial JSX
- Updated imports in 25 files to use shadcn Tooltip components - Migrated tool components (5 files) - Migrated NewWorkspaceModal, StatusIndicator, Context1MCheckbox - Remaining: ~60 TooltipWrapper instances to migrate _Generated with `cmux`_
1 parent ee22483 commit f90f12d

19 files changed

+95
-81
lines changed

src/components/AIView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { getModelName } from "@/utils/ai/models";
2626
import { GitStatusIndicator } from "./GitStatusIndicator";
2727

2828
import { useGitStatus } from "@/stores/GitStatusStore";
29-
import { TooltipWrapper, Tooltip } from "./Tooltip";
29+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
3030
import type { DisplayedMessage } from "@/types/message";
3131
import { useAIViewKeybinds } from "@/hooks/useAIViewKeybinds";
3232

src/components/Context1MCheckbox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from "react";
22
import { use1MContext } from "@/hooks/use1MContext";
33
import { supports1MContext } from "@/utils/ai/models";
4-
import { TooltipWrapper, Tooltip } from "./Tooltip";
4+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
55

66
interface Context1MCheckboxProps {
77
modelString: string;

src/components/KebabMenu.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useState, useRef, useEffect } from "react";
22
import { createPortal } from "react-dom";
3-
import { TooltipWrapper, Tooltip } from "./Tooltip";
3+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
44
import { cn } from "@/lib/utils";
55

66
export interface KebabMenuItem {

src/components/Messages/MessageWindow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import React, { useState, useMemo } from "react";
33
import type { CmuxMessage, DisplayedMessage } from "@/types/message";
44
import { HeaderButton } from "../tools/shared/ToolPrimitives";
55
import { formatTimestamp } from "@/utils/ui/dateTime";
6-
import { TooltipWrapper, Tooltip } from "../Tooltip";
6+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
77
import { KebabMenu, type KebabMenuItem } from "../KebabMenu";
88

99
export interface ButtonConfig {

src/components/NewWorkspaceModal.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useEffect, useId, useState } from "react";
22
import { Modal, ModalInfo, ModalActions, CancelButton, PrimaryButton } from "./Modal";
3-
import { TooltipWrapper, Tooltip } from "./Tooltip";
3+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
44
import { formatNewCommand } from "@/utils/chatCommands";
55

66
interface NewWorkspaceModalProps {
@@ -102,11 +102,13 @@ const NewWorkspaceModal: React.FC<NewWorkspaceModalProps> = ({
102102
<form onSubmit={(event) => void handleSubmit(event)}>
103103
<div className="[&_label]:text-foreground [&_input]:bg-modal-bg [&_input]:border-border-medium [&_input]:focus:border-accent [&_select]:bg-modal-bg [&_select]:border-border-medium [&_select]:focus:border-accent [&_option]:bg-modal-bg mb-5 [&_input]:w-full [&_input]:rounded [&_input]:border [&_input]:px-3 [&_input]:py-2 [&_input]:text-sm [&_input]:text-white [&_input]:focus:outline-none [&_input]:disabled:cursor-not-allowed [&_input]:disabled:opacity-60 [&_label]:mb-2 [&_label]:block [&_label]:text-sm [&_option]:text-white [&_select]:w-full [&_select]:cursor-pointer [&_select]:rounded [&_select]:border [&_select]:px-3 [&_select]:py-2 [&_select]:text-sm [&_select]:text-white [&_select]:focus:outline-none [&_select]:disabled:cursor-not-allowed [&_select]:disabled:opacity-60">
104104
<label htmlFor="branchName">
105-
<TooltipWrapper inline>
106-
<span className="cursor-help underline decoration-[#666] decoration-dotted underline-offset-2">
107-
Workspace Branch Name:
108-
</span>
109-
<Tooltip width="wide" position="bottom" interactive>
105+
<Tooltip>
106+
<TooltipTrigger asChild>
107+
<span className="cursor-help underline decoration-[#666] decoration-dotted underline-offset-2">
108+
Workspace Branch Name:
109+
</span>
110+
</TooltipTrigger>
111+
<TooltipContent className="max-w-md" side="bottom">
110112
<strong>About Workspaces:</strong>
111113
<ul className="my-1 pl-4">
112114
<li>Uses git worktrees (separate directories sharing .git)</li>
@@ -117,8 +119,8 @@ const NewWorkspaceModal: React.FC<NewWorkspaceModalProps> = ({
117119
<a href="https://cmux.io/workspaces.html" target="_blank" rel="noopener noreferrer">
118120
Learn more
119121
</a>
120-
</Tooltip>
121-
</TooltipWrapper>
122+
</TooltipContent>
123+
</Tooltip>
122124
</label>
123125
<input
124126
id="branchName"

src/components/ProjectSidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
partitionWorkspacesByAge,
1515
formatOldWorkspaceThreshold,
1616
} from "@/utils/ui/workspaceFiltering";
17-
import { TooltipWrapper, Tooltip } from "./Tooltip";
17+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
1818
import SecretsModal from "./SecretsModal";
1919
import type { Secret } from "@/types/secrets";
2020
import { ForceDeleteModal } from "./ForceDeleteModal";

src/components/RightSidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { VerticalTokenMeter } from "./RightSidebar/VerticalTokenMeter";
88
import { ReviewPanel } from "./RightSidebar/CodeReview/ReviewPanel";
99
import { calculateTokenMeterData } from "@/utils/tokens/tokenMeterUtils";
1010
import { matchesKeybind, KEYBINDS, formatKeybind } from "@/utils/ui/keybinds";
11-
import { TooltipWrapper, Tooltip } from "./Tooltip";
11+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
1212
import { cn } from "@/lib/utils";
1313

1414
interface SidebarContainerProps {

src/components/RightSidebar/ConsumerBreakdown.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from "react";
22
import type { WorkspaceConsumersState } from "@/stores/WorkspaceStore";
3-
import { TooltipWrapper, Tooltip, HelpIndicator } from "../Tooltip";
3+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
4+
import { HelpIndicator } from "@/components/Tooltip";
45

56
// Format token display - show k for thousands with 1 decimal
67
const formatTokens = (tokens: number) =>

src/components/RightSidebar/VerticalTokenMeter.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from "react";
2-
import { TooltipWrapper, Tooltip } from "../Tooltip";
2+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
33
import { TokenMeter } from "./TokenMeter";
44
import { type TokenMeterData, formatTokens, getSegmentLabel } from "@/utils/tokens/tokenMeterUtils";
55

src/components/StatusIndicator.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useCallback } from "react";
22
import { cn } from "@/lib/utils";
3-
import { TooltipWrapper, Tooltip } from "./Tooltip";
3+
import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip";
44

55
interface StatusIndicatorProps {
66
streaming: boolean;

0 commit comments

Comments
 (0)