diff --git a/apps/web/components/kanban/kanban-header.tsx b/apps/web/components/kanban/kanban-header.tsx index 0dddc9e61a..a39bb9af4a 100644 --- a/apps/web/components/kanban/kanban-header.tsx +++ b/apps/web/components/kanban/kanban-header.tsx @@ -13,7 +13,6 @@ import { IconMenu2, IconChartBar, IconTimeline, - IconMessageCircle, } from "@tabler/icons-react"; import { KanbanDisplayDropdown } from "../kanban-display-dropdown"; import { RefreshReviewsButton } from "../github/refresh-reviews-button"; @@ -21,7 +20,7 @@ import { ReleaseNotesButton } from "../release-notes/release-notes-button"; import { ReleaseNotesDialog } from "../release-notes/release-notes-dialog"; import { HealthIndicatorButton, HealthIssuesDialog } from "../system-health/health-indicator"; import { TaskSearchInput } from "./task-search-input"; -import { useQuickChatLauncher } from "@/hooks/use-quick-chat-launcher"; +import { QuickChatButton } from "@/components/task/quick-chat-button"; import { KanbanHeaderMobile } from "./kanban-header-mobile"; import { MobileMenuSheet } from "./mobile-menu-sheet"; import { linkToTasks } from "@/lib/links"; @@ -99,7 +98,7 @@ function getToggleValue(currentPage: string, kanbanViewMode: string | null): str function TabletHeader({ onCreateTask, - onOpenQuickChat, + workspaceId, searchQuery, onSearchChange, isSearchLoading, @@ -112,7 +111,7 @@ function TabletHeader({ onOpenHealthDialog, }: { onCreateTask: () => void; - onOpenQuickChat: () => void; + workspaceId?: string; searchQuery: string; onSearchChange?: (query: string) => void; isSearchLoading: boolean; @@ -148,20 +147,8 @@ function TabletHeader({ Add task + - - - - - Quick Chat - void; - onOpenQuickChat: () => void; + workspaceId?: string; searchQuery: string; onSearchChange?: (query: string) => void; isSearchLoading: boolean; @@ -232,20 +219,8 @@ function DesktopHeader({ Add task + - - - - - Quick Chat - @@ -308,7 +283,6 @@ export function KanbanHeader({ const healthIndicator = useSystemHealthIndicator(); const toggleValue = getToggleValue(currentPage, kanbanViewMode); const handleViewChange = useHeaderViewChange(currentPage, workspaceId, onViewModeChange); - const handleOpenQuickChat = useQuickChatLauncher(workspaceId); const indicatorProps = { showReleaseNotesButton: releaseNotes.showTopbarButton, @@ -317,7 +291,7 @@ export function KanbanHeader({ onOpenHealthDialog: healthIndicator.openDialog, }; const sharedSearch = { searchQuery, onSearchChange, isSearchLoading }; - const sharedActions = { onCreateTask, onOpenQuickChat: handleOpenQuickChat }; + const sharedActions = { onCreateTask, workspaceId }; const renderHeader = () => { if (isMobile) { diff --git a/apps/web/components/task/quick-chat-button.tsx b/apps/web/components/task/quick-chat-button.tsx index e9c2eb07c0..80852828f3 100644 --- a/apps/web/components/task/quick-chat-button.tsx +++ b/apps/web/components/task/quick-chat-button.tsx @@ -1,6 +1,9 @@ +"use client"; + import { IconMessageCircle } from "@tabler/icons-react"; import { Button } from "@kandev/ui/button"; -import { Tooltip, TooltipContent, TooltipTrigger } from "@kandev/ui/tooltip"; +import { KeyboardShortcutTooltip } from "@/components/keyboard-shortcut-tooltip"; +import { SHORTCUTS } from "@/lib/keyboard/constants"; import { useQuickChatLauncher } from "@/hooks/use-quick-chat-launcher"; /** Quick Chat button that opens the quick chat modal */ @@ -10,18 +13,15 @@ export function QuickChatButton({ workspaceId }: { workspaceId?: string | null } if (!workspaceId) return null; return ( - - - - - Quick Chat - + + + ); }