Skip to content

Commit caa57db

Browse files
committed
use popover instead of shadcn tooltip
1 parent 730208c commit caa57db

File tree

4 files changed

+17
-67
lines changed

4 files changed

+17
-67
lines changed

src/components/Tooltip/index.tsx

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
import React, { ReactNode, useEffect } from "react"
22

3-
import { isMobile } from "@/lib/utils/isMobile"
4-
53
import { Popover, PopoverContent, PopoverTrigger } from "../ui/popover"
6-
import {
7-
Tooltip as RootTooltip,
8-
TooltipContent,
9-
TooltipTrigger,
10-
} from "../ui/tooltip"
114

125
import { useDisclosure } from "@/hooks/useDisclosure"
136

@@ -59,24 +52,15 @@ const Tooltip = ({ content, children, onBeforeOpen }: TooltipProps) => {
5952
}
6053
}
6154

62-
// Mobile devices use the Popover component because it supports click/touch
63-
// events
64-
if (isMobile()) {
65-
return (
66-
<Popover open={isOpen} onOpenChange={handleOpenChange}>
67-
<PopoverTrigger>{children}</PopoverTrigger>
68-
<PopoverContent data-testid="tooltip-popover">{content}</PopoverContent>
69-
</Popover>
70-
)
71-
}
72-
73-
// Desktop devices use the Tooltip component because it is desined for hover
74-
// and focus events
7555
return (
76-
<RootTooltip open={isOpen} onOpenChange={handleOpenChange}>
77-
<TooltipTrigger>{children}</TooltipTrigger>
78-
<TooltipContent data-testid="tooltip-popover">{content}</TooltipContent>
79-
</RootTooltip>
56+
<Popover open onOpenChange={handleOpenChange}>
57+
<PopoverTrigger onMouseEnter={onOpen} onMouseLeave={onClose}>
58+
{children}
59+
</PopoverTrigger>
60+
<PopoverContent side="top" data-testid="tooltip-popover">
61+
{content}
62+
</PopoverContent>
63+
</Popover>
8064
)
8165
}
8266

src/components/ui/popover.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ const PopoverContent = React.forwardRef<
2121
align={align}
2222
sideOffset={sideOffset}
2323
className={cn(
24-
"text-popover-foreground z-popover w-72 rounded-md border bg-background-highlight p-4 shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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",
24+
"text-popover-foreground z-popover w-72 rounded-md bg-background-highlight p-4 shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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",
2525
className
2626
)}
2727
{...props}
2828
>
2929
{children}
30-
<PopoverPrimitive.Arrow className="fill-background-highlight" />
30+
<PopoverPrimitive.Arrow className="z-popover fill-background-highlight" />
3131
</PopoverPrimitive.Content>
3232
</PopoverPrimitive.Portal>
3333
)

src/components/ui/tooltip.tsx

Lines changed: 0 additions & 31 deletions
This file was deleted.

src/pages/_app.tsx

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { init } from "@socialgouv/matomo-next"
55
import { AppPropsWithLayout } from "@/lib/types"
66

77
import ThemeProvider from "@/components/ThemeProvider"
8-
import { TooltipProvider } from "@/components/ui/tooltip"
98

109
import "@/styles/global.css"
1110
import "@/styles/fonts.css"
@@ -28,15 +27,13 @@ const App = ({ Component, pageProps }: AppPropsWithLayout) => {
2827

2928
return (
3029
<ThemeProvider>
31-
<TooltipProvider>
32-
<BaseLayout
33-
contentIsOutdated={!!pageProps.frontmatter?.isOutdated}
34-
contentNotTranslated={pageProps.contentNotTranslated}
35-
lastDeployLocaleTimestamp={pageProps.lastDeployLocaleTimestamp}
36-
>
37-
{getLayout(<Component {...pageProps} />)}
38-
</BaseLayout>
39-
</TooltipProvider>
30+
<BaseLayout
31+
contentIsOutdated={!!pageProps.frontmatter?.isOutdated}
32+
contentNotTranslated={pageProps.contentNotTranslated}
33+
lastDeployLocaleTimestamp={pageProps.lastDeployLocaleTimestamp}
34+
>
35+
{getLayout(<Component {...pageProps} />)}
36+
</BaseLayout>
4037
</ThemeProvider>
4138
)
4239
}

0 commit comments

Comments
 (0)