Skip to content

Commit e5bb606

Browse files
committed
added parentComponentLifecycleStatus prop to Toast for timeout re-set
1 parent 2606cbd commit e5bb606

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/internal/components/Toast.tsx

+4-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ type ToastProps = {
1111
isVisible: boolean;
1212
onClose: () => void;
1313
children: React.ReactNode;
14+
parentComponentLifecycleStatus?: string;
1415
};
1516

1617
const defaultAnimationByPosition = {
@@ -28,11 +29,12 @@ export function Toast({
2829
isVisible,
2930
onClose,
3031
children,
32+
parentComponentLifecycleStatus,
3133
}: ToastProps) {
3234
const positionClass = getToastPosition(position);
3335
const animationClass = animation ?? defaultAnimationByPosition[position];
3436

35-
/* biome-ignore lint/correctness/useExhaustiveDependencies: retrigger durationMs on updates to children */
37+
/* biome-ignore lint/correctness/useExhaustiveDependencies: retrigger durationMs on updates to children or lifecycleStatus */
3638
useEffect(() => {
3739
const timer = setTimeout(() => {
3840
if (isVisible) {
@@ -45,7 +47,7 @@ export function Toast({
4547
clearTimeout(timer);
4648
}
4749
};
48-
}, [durationMs, isVisible, onClose, children]);
50+
}, [durationMs, isVisible, onClose, children, parentComponentLifecycleStatus]);
4951

5052
if (!isVisible) {
5153
return null;

src/transaction/components/TransactionToast.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export function TransactionToast({
1717
setIsToastVisible,
1818
transactionHash,
1919
transactionId,
20+
lifecycleStatus,
2021
} = useTransactionContext();
2122

2223
const closeToast = useCallback(() => {
@@ -47,6 +48,7 @@ export function TransactionToast({
4748
durationMs={durationMs}
4849
isVisible={isToastVisible}
4950
onClose={closeToast}
51+
parentComponentLifecycleStatus={lifecycleStatus.statusName}
5052
>
5153
{children}
5254
</Toast>

0 commit comments

Comments
 (0)