diff --git a/apps/mail/app/(routes)/toast-test.tsx b/apps/mail/app/(routes)/toast-test.tsx
index afe61e290..9d7ffce69 100644
--- a/apps/mail/app/(routes)/toast-test.tsx
+++ b/apps/mail/app/(routes)/toast-test.tsx
@@ -1,3 +1,4 @@
+import { Reply } from '@/components/icons/icons';
import { Button } from '@/components/ui/button';
import { toast } from 'sonner';
import React from 'react';
@@ -82,7 +83,12 @@ const ToastTest = (props: Props) => {
toast('Persistent Toast', {
duration: 99999999999999, // 10 seconds
action: {
- label: 'Undo',
+ label: (
+
+
+ Undo
+
+ ),
onClick: () => console.log('Undo action clicked'),
},
});
diff --git a/apps/mail/components/ui/toast.tsx b/apps/mail/components/ui/toast.tsx
index d8277f4c8..70e231e12 100644
--- a/apps/mail/components/ui/toast.tsx
+++ b/apps/mail/components/ui/toast.tsx
@@ -4,39 +4,41 @@ import {
ExclamationTriangle,
InfoCircle,
} from '@/components/icons/icons';
-import { Toaster } from 'sonner';
-import React from 'react';
+import { Toaster as SonnerToaster } from 'sonner';
+import { Loader2 } from 'lucide-react';
-type Props = {};
-
-const CustomToaster = (props: Props) => {
+const Toaster = () => {
return (
- ,
error: ,
warning: ,
info: ,
+ loading: ,
}}
toastOptions={{
classNames: {
- title: 'title flex-1 justify-center text-black dark:text-white text-sm leading-none',
- description: 'text-black dark:text-white text-xs',
- toast: 'px-3',
- actionButton: 'bg-[#DBDBDB] text-lg',
- cancelButton: 'bg-[#DBDBDB] text-lg',
- closeButton: 'bg-[#DBDBDB] text-lg',
- loading: 'pl-3 pr-2',
- loader: 'pl-3 pr-2',
- icon: 'pl-3 pr-2',
- content: 'pl-2',
+ title: 'title flex-1 justify-center !text-black dark:!text-white text-sm leading-none',
+ description: '!text-black dark:!text-white text-xs',
+ toast: 'p-1',
+ actionButton:
+ 'inline-flex h-7 items-center justify-center gap-1 overflow-hidden !rounded-md border px-1.5 dark:border-none !bg-[#E0E0E0] dark:!bg-[#424242]',
+ cancelButton:
+ 'inline-flex h-7 items-center justify-center gap-1 overflow-hidden !rounded-md border px-1.5 dark:border-none !bg-[#E0E0E0] dark:!bg-[#424242]',
+ closeButton:
+ 'inline-flex h-7 items-center justify-center gap-1 overflow-hidden !rounded-md border px-1.5 dark:border-none !bg-[#E0E0E0] dark:!bg-[#424242]',
+ loading: 'pl-3 -mr-3 loading',
+ loader: 'pl-3 loader -mr-3',
+ icon: 'pl-3 icon mr-2',
+ content: 'p-1.5 pl-2',
default:
- 'w-96 px-1.5 bg-white dark:bg-[#2C2C2C] rounded-xl inline-flex items-center gap-2 overflow-visible border dark:border-none',
+ 'w-96 p-1.5 bg-white dark:bg-[#2C2C2C] rounded-xl inline-flex items-center gap-2 overflow-visible border dark:border-none',
},
}}
/>
);
};
-export default CustomToaster;
+export default Toaster;
diff --git a/apps/mail/providers/client-providers.tsx b/apps/mail/providers/client-providers.tsx
index 000a6e8c2..78368fb31 100644
--- a/apps/mail/providers/client-providers.tsx
+++ b/apps/mail/providers/client-providers.tsx
@@ -2,9 +2,9 @@ import { NuqsAdapter } from 'nuqs/adapters/react-router/v7';
import { SidebarProvider } from '@/components/ui/sidebar';
import { PostHogProvider } from '@/lib/posthog-provider';
import { useSettings } from '@/hooks/use-settings';
-import CustomToaster from '@/components/ui/toast';
import { Provider as JotaiProvider } from 'jotai';
import type { PropsWithChildren } from 'react';
+import Toaster from '@/components/ui/toast';
import { ThemeProvider } from 'next-themes';
export function ClientProviders({ children }: PropsWithChildren) {
@@ -24,7 +24,7 @@ export function ClientProviders({ children }: PropsWithChildren) {
{children}
-
+