diff options
| author | MohamedBassem <me@mbassem.com> | 2024-04-06 01:35:37 +0100 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-04-06 01:35:37 +0100 |
| commit | 4cf990816817c009a512356373fdb1c4baa5e63b (patch) | |
| tree | 87109f8b1ad0d2a02b0936745472dc4347167f18 /apps/web/components | |
| parent | bc6ee2edc9f16791b2bb64049c2c34ed83796d29 (diff) | |
| download | karakeep-4cf990816817c009a512356373fdb1c4baa5e63b.tar.zst | |
ui(web): Add a tooltip explaining what archived means
Diffstat (limited to 'apps/web/components')
| -rw-r--r-- | apps/web/components/dashboard/bookmarks/EditorCard.tsx | 25 | ||||
| -rw-r--r-- | apps/web/components/ui/info-tooltip.tsx | 38 |
2 files changed, 44 insertions, 19 deletions
diff --git a/apps/web/components/dashboard/bookmarks/EditorCard.tsx b/apps/web/components/dashboard/bookmarks/EditorCard.tsx index 6858255a..b9e46a30 100644 --- a/apps/web/components/dashboard/bookmarks/EditorCard.tsx +++ b/apps/web/components/dashboard/bookmarks/EditorCard.tsx @@ -2,20 +2,14 @@ import type { SubmitErrorHandler, SubmitHandler } from "react-hook-form"; import { useEffect, useImperativeHandle, useRef } from "react"; import { ActionButton } from "@/components/ui/action-button"; import { Form, FormControl, FormItem } from "@/components/ui/form"; +import InfoTooltip from "@/components/ui/info-tooltip"; import { Separator } from "@/components/ui/separator"; import { Textarea } from "@/components/ui/textarea"; -import { - Tooltip, - TooltipContent, - TooltipProvider, - TooltipTrigger, -} from "@/components/ui/tooltip"; import { toast } from "@/components/ui/use-toast"; import { useClientConfig } from "@/lib/clientConfig"; import { api } from "@/lib/trpc"; import { cn } from "@/lib/utils"; import { zodResolver } from "@hookform/resolvers/zod"; -import { Info } from "lucide-react"; import { useForm } from "react-hook-form"; import { z } from "zod"; @@ -97,18 +91,11 @@ export default function EditorCard({ className }: { className?: string }) { > <div className="flex justify-between"> <p className="text-sm">NEW ITEM</p> - <TooltipProvider delayDuration={0}> - <Tooltip> - <TooltipTrigger asChild> - <Info size={15} /> - </TooltipTrigger> - <TooltipContent className="w-52"> - <p className="text-center"> - You can quickly focus on this field by pressing ⌘ + E - </p> - </TooltipContent> - </Tooltip> - </TooltipProvider> + <InfoTooltip size={15}> + <p className="text-center"> + You can quickly focus on this field by pressing ⌘ + E + </p> + </InfoTooltip> </div> <Separator /> <FormItem className="flex-1"> diff --git a/apps/web/components/ui/info-tooltip.tsx b/apps/web/components/ui/info-tooltip.tsx new file mode 100644 index 00000000..abaf8197 --- /dev/null +++ b/apps/web/components/ui/info-tooltip.tsx @@ -0,0 +1,38 @@ +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip"; +import { cn } from "@/lib/utils"; +import { HelpCircle, Info } from "lucide-react"; + +export default function InfoTooltip({ + className, + children, + size, + variant = "tip", +}: { + className?: string; + size?: number; + children?: React.ReactNode; + variant?: "tip" | "explain"; +}) { + return ( + <TooltipProvider delayDuration={0}> + <Tooltip> + <TooltipTrigger asChild> + {variant === "tip" ? ( + <Info className={cn("cursor-pointer", className)} size={size} /> + ) : ( + <HelpCircle + className={cn("cursor-pointer", className)} + size={size} + /> + )} + </TooltipTrigger> + <TooltipContent>{children}</TooltipContent> + </Tooltip> + </TooltipProvider> + ); +} |
