From 2441b0ae2cee72f805ea1ce76cf35f8aa3ee7222 Mon Sep 17 00:00:00 2001 From: dt313 Date: Fri, 2 Jan 2026 00:30:37 +0900 Subject: [PATCH] fix(ui): prevent tooltip from being overlapped by tab bar fade overlay --- apps/web/src/components/ui/tooltip.tsx | 41 ++++++++++++++------------ 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/apps/web/src/components/ui/tooltip.tsx b/apps/web/src/components/ui/tooltip.tsx index bfb75e2ed..5b618afa0 100644 --- a/apps/web/src/components/ui/tooltip.tsx +++ b/apps/web/src/components/ui/tooltip.tsx @@ -1,8 +1,8 @@ -import { cva, type VariantProps } from 'class-variance-authority'; -import { Tooltip as TooltipPrimitive } from 'radix-ui'; -import * as React from 'react'; +import { cva, type VariantProps } from "class-variance-authority"; +import { Tooltip as TooltipPrimitive } from "radix-ui"; +import * as React from "react"; -import { cn } from '@/lib/utils'; +import { cn } from "@/lib/utils"; const TooltipProvider = TooltipPrimitive.Provider; @@ -11,31 +11,31 @@ const Tooltip = TooltipPrimitive.Root; const TooltipTrigger = TooltipPrimitive.Trigger; const tooltipVariants = cva( - 'z-50 overflow-visible rounded-sm text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', + "z-150 overflow-visible rounded-sm text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", { variants: { variant: { - default: 'bg-popover text-popover-foreground border px-3 py-1.5', + default: "bg-popover text-popover-foreground border px-3 py-1.5", destructive: - 'bg-destructive/10 text-destructive dark:bg-destructive/20 border-destructive [border-width:0.5px]', - outline: 'border-border', + "bg-destructive/10 text-destructive dark:bg-destructive/20 border-destructive [border-width:0.5px]", + outline: "border-border", important: - 'bg-amber-100/90 text-amber-900 dark:bg-amber-900/20 dark:text-amber-300 border-amber-900 [border-width:0.5px]', + "bg-amber-100/90 text-amber-900 dark:bg-amber-900/20 dark:text-amber-300 border-amber-900 [border-width:0.5px]", promotions: - 'bg-red-100/90 text-red-900 dark:bg-red-900/20 dark:text-red-300 border-red-900 [border-width:0.5px]', + "bg-red-100/90 text-red-900 dark:bg-red-900/20 dark:text-red-300 border-red-900 [border-width:0.5px]", personal: - 'bg-green-100/90 text-green-900 dark:bg-green-900/20 dark:text-green-300 border-green-900 [border-width:0.5px]', + "bg-green-100/90 text-green-900 dark:bg-green-900/20 dark:text-green-300 border-green-900 [border-width:0.5px]", updates: - 'bg-purple-100/90 text-purple-900 dark:bg-purple-900/20 dark:text-purple-300 border-purple-900 [border-width:0.5px]', + "bg-purple-100/90 text-purple-900 dark:bg-purple-900/20 dark:text-purple-300 border-purple-900 [border-width:0.5px]", forums: - 'bg-blue-100/90 text-blue-900 dark:bg-blue-900/20 dark:text-blue-300 border-blue-900 [border-width:0.5px]', - sidebar: 'bg-white dark:bg-[#413F3E] p-2.5 flex flex-col gap-2', + "bg-blue-100/90 text-blue-900 dark:bg-blue-900/20 dark:text-blue-300 border-blue-900 [border-width:0.5px]", + sidebar: "bg-white dark:bg-[#413F3E] p-2.5 flex flex-col gap-2", }, }, defaultVariants: { - variant: 'default', + variant: "default", }, - }, + } ); interface TooltipContentProps @@ -52,7 +52,7 @@ const TooltipContent = React.forwardRef< className={cn(tooltipVariants({ variant }), className)} {...props} > - {variant === 'sidebar' && ( + {variant === "sidebar" && ( - + )} {props.children} @@ -69,4 +72,4 @@ const TooltipContent = React.forwardRef< )); TooltipContent.displayName = TooltipPrimitive.Content.displayName; -export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }; \ No newline at end of file +export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };