diff --git a/app/src/dialog/message.ts b/app/src/dialog/message.ts index 18d22f3b2..8691b0339 100644 --- a/app/src/dialog/message.ts +++ b/app/src/dialog/message.ts @@ -55,9 +55,7 @@ export const showMessage = (message: string, timeout = 6000, type = "info", mess }, timeout); messageHTML = messageHTML.replace("
"); setTimeout(() => { messagesElement.querySelectorAll(".b3-snackbar--hide").forEach(item => { @@ -83,9 +81,21 @@ export const hideMessage = (id?: string) => { messageElement.classList.add("b3-snackbar--hide"); setTimeout(() => { messageElement.remove(); + if (messagesElement.childElementCount === 0) { + hideMessage(); + } }, Constants.TIMEOUT_INPUT); } - if (messagesElement.childElementCount < 2) { + let hasShowItem = false + Array.from(messagesElement.children).find(item => { + if (!item.classList.contains("b3-snackbar--hide")) { + hasShowItem = true + return true; + } + }) + if (hasShowItem) { + messagesElement.parentElement.classList.add("b3-snackbars--show"); + } else { messagesElement.parentElement.classList.remove("b3-snackbars--show"); } } else { diff --git a/app/src/protyle/upload/index.ts b/app/src/protyle/upload/index.ts index 09e7c4168..2b13cd6ec 100644 --- a/app/src/protyle/upload/index.ts +++ b/app/src/protyle/upload/index.ts @@ -68,7 +68,7 @@ const validateFile = (protyle: IProtyle, files: File[]) => { } let msgId; if (errorTip !== "" || uploadingStr !== "") { - msgId = showMessage(``); + msgId = showMessage(``, -1); } return {files: uploadFileList, msgId};