aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/components
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-04-06 01:35:37 +0100
committerMohamedBassem <me@mbassem.com>2024-04-06 01:35:37 +0100
commit4cf990816817c009a512356373fdb1c4baa5e63b (patch)
tree87109f8b1ad0d2a02b0936745472dc4347167f18 /apps/web/components
parentbc6ee2edc9f16791b2bb64049c2c34ed83796d29 (diff)
downloadkarakeep-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.tsx25
-rw-r--r--apps/web/components/ui/info-tooltip.tsx38
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>
+ );
+}