ui icon indicating copy to clipboard operation
ui copied to clipboard

Resolve Toast onOpenChange functionality

Open nowlena opened this issue 1 year ago • 0 comments

When using the useToast hook, the toast's onOpenChange function is never fired because it is overridden.

This seems to be an easy fix, change use-toast.ts "toast" method from:

  dispatch({
    type: 'ADD_TOAST',
    toast: {
      ...props,
      id,
      open: true,
      onOpenChange: (open) => {
        if (!open) dismiss();
      },
    },
  });

to

  dispatch({
    type: 'ADD_TOAST',
    toast: {
      ...props,
      id,
      open: true,
      onOpenChange: (open) => {
        if (props.onOpenChange) props.onOpenChange(open); // "THE FIX" fire function if user set one (should maybe go last? idk)
        if (!open) dismiss();
      },
    },
  });

nowlena avatar Jun 27 '23 12:06 nowlena