fix: remove useTheme from Sonner (useContext null crash on global-error prerender)
This commit is contained in:
1 parent
d71bd76e23
commit
dd0b88b6eb
2 files changed
+10
-6
No files matched your search
@@ -1,14 +1,15 @@
|
||||
"use client"
|
||||
|
||||
import { useTheme } from "next-themes"
|
||||
import { Toaster as Sonner, ToasterProps } from "sonner"
|
||||
|
||||
// NOTE: We intentionally do NOT import useTheme from next-themes here.
|
||||
// During global-error prerendering, ThemeProvider is not mounted, and
|
||||
// useTheme() crashes with "Cannot read properties of null (reading 'useContext')".
|
||||
// Instead, we read the theme from the <html> class attribute (set by next-themes).
|
||||
const Toaster = ({ ...props }: ToasterProps) => {
|
||||
const { theme = "system" } = useTheme()
|
||||
|
||||
return (
|
||||
<Sonner
|
||||
theme={theme as ToasterProps["theme"]}
|
||||
theme="system"
|
||||
className="toaster group"
|
||||
style={
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user