OpChan/app/src/components/ui/sonner.tsx
Danish Arora cca6299eb5
feat: library (#26)
* chore: move to /app

* chore: setup workspace

* chore: move lib

* wip

* fix: build and memory leak

* fix: app content hydration for message manager

* fix: non-ens wallets engagement, syncing hydration

* chore: improvements

* chore: IdentityContext

* chore: time range for sds store query to 1 month

* chore: remove client prop

* remove env logs

* wip

* FIX HYDRATION

* fix: message signing

* chore: rename providers

* fix: hydration interface

* state consistentcy

* fix: ens

* chore: minimal docs

* chore: update readme

* local build
2025-09-25 21:52:40 +05:30

30 lines
887 B
TypeScript

import { useTheme } from 'next-themes';
import { Toaster as Sonner } from 'sonner';
type ToasterProps = React.ComponentProps<typeof Sonner>;
const Toaster = ({ ...props }: ToasterProps) => {
const { theme = 'system' } = useTheme();
return (
<Sonner
theme={theme as ToasterProps['theme']}
className="toaster group"
toastOptions={{
classNames: {
toast:
'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',
description: 'group-[.toast]:text-muted-foreground',
actionButton:
'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',
cancelButton:
'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',
},
}}
{...props}
/>
);
};
export { Toaster };