Skip to content

Commit c8a041d

Browse files
committed
fix(snackbar/handler): close last snackbar before add new subscriber
1 parent 7c5db46 commit c8a041d

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

packages/snackbar/src/lib/handler.ts

+6-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {snackbarActionButtonClickedSignal, snackbarCloseButtonClickedSignal, sna
77
import type {SnackbarElement} from './element.js';
88
import type {SnackbarActionHandler, SnackbarOptions} from './type.js';
99

10-
const logger = createLogger(`${__package_name__}/handler`);
10+
const logger = createLogger(`${__package_name__}`);
1111

1212
/**
1313
* Store the function to close the last snackbar.
@@ -54,8 +54,8 @@ function createSnackbarElement(options: SnackbarOptions): SnackbarElement {
5454
function handleActionButtonClick(closeSnackbar: () => Promise<void>, handler?: SnackbarActionHandler): Promise<void> {
5555
logger.logMethod?.('handleActionButtonClick');
5656

57-
handler?.();
58-
return closeSnackbar();
57+
handler?.();
58+
return closeSnackbar();
5959
}
6060

6161
/**
@@ -83,6 +83,9 @@ async function showSnackbar(options: SnackbarOptions): Promise<void> {
8383
closed = true;
8484
};
8585

86+
await closeLastSnackbar?.();
87+
closeLastSnackbar = closeSnackbar;
88+
8689
if (options.action != null) {
8790
/**
8891
* Store the function to unsubscribe the action button handler after close or action button clicked.
@@ -100,8 +103,6 @@ async function showSnackbar(options: SnackbarOptions): Promise<void> {
100103
}
101104

102105
// Close the last snackbar if it exists
103-
await closeLastSnackbar?.();
104-
closeLastSnackbar = closeSnackbar;
105106
document.body.appendChild(element);
106107

107108
// Set a timeout to close the snackbar if duration is not infinite

0 commit comments

Comments
 (0)