diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c104bb37..923fc000 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -4,7 +4,6 @@ import { Manrope } from "next/font/google"; import { UserProvider } from "@/lib/client/userContext"; import { AppToaster } from "@/components/ui/AppToaster"; import { TopNavBar } from "@/components/ui/TopNavBar"; -import { Toaster } from "react-hot-toast"; import "./globals.css"; const manrope = Manrope({ @@ -41,7 +40,6 @@ export default function RootLayout({ suppressHydrationWarning > - {children} diff --git a/src/components/ui/AppToaster.tsx b/src/components/ui/AppToaster.tsx index 0fb35a55..3c410bf4 100644 --- a/src/components/ui/AppToaster.tsx +++ b/src/components/ui/AppToaster.tsx @@ -1,8 +1,12 @@ "use client"; +import type { JSX } from "react"; import { Toaster } from "react-hot-toast"; +import { AlertCircle, CheckCircle2, Loader2 } from "lucide-react"; -export function AppToaster(): React.JSX.Element { +const iconClass = "h-5 w-5 shrink-0"; + +export function AppToaster(): JSX.Element { return ( + ), + }, + error: { + icon: ( + + ), + }, + loading: { + icon: ( + + ), + }, }} /> ); diff --git a/src/components/volunteers/EditableCell.tsx b/src/components/volunteers/EditableCell.tsx index 1ee131af..bf9b7748 100644 --- a/src/components/volunteers/EditableCell.tsx +++ b/src/components/volunteers/EditableCell.tsx @@ -9,7 +9,7 @@ import { CellContext } from "@tanstack/react-table"; import toast from "react-hot-toast"; import { Volunteer } from "./types"; import { VolunteerTag } from "./VolunteerTag"; -import { ArrowRight } from "lucide-react"; +import { ArrowRight, Tag } from "lucide-react"; import { NotesDisplay } from "./NotesDisplay"; const SCREEN_EDGE_PADDING_PX = 16; @@ -204,7 +204,7 @@ export const EditableCell = ({ const toastId = `new-tag-${info.column.id}-${newTag.toLowerCase()}`; toast(`New tag "${newTag}" created — remember to save your changes.`, { id: toastId, - icon: "tag", + icon: , duration: 4000, }); } diff --git a/src/components/volunteers/TableToolbar.tsx b/src/components/volunteers/TableToolbar.tsx index 43fc0a52..108cdca9 100644 --- a/src/components/volunteers/TableToolbar.tsx +++ b/src/components/volunteers/TableToolbar.tsx @@ -121,7 +121,7 @@ export const TableToolbar = ({ const ro = new ResizeObserver(() => updateToolsScrollHints()); ro.observe(el); return (): void => ro.disconnect(); - }, [updateToolsScrollHints, filters.length, sorting.length, role]); + }, [updateToolsScrollHints, filters.length, sorting.length, role, hasEdits]); useEffect(() => { if (!isCopyMenuOpen) return; @@ -317,7 +317,7 @@ export const TableToolbar = ({ /> - {role === "admin" && ( + {role === "admin" && !hasEdits && (