mirror of
https://github.com/usetrmnl/tailor.git
synced 2026-04-29 13:44:32 -07:00
Merge pull request #5 from hossain-khan/improve-error-handling
Improve error handling for binary generation
This commit is contained in:
+36
-12
@@ -168,6 +168,7 @@
|
||||
const btn = els.generateBtn;
|
||||
btn.textContent = 'Generating...';
|
||||
btn.disabled = true;
|
||||
hideError();
|
||||
|
||||
try {
|
||||
const blob = await createBinary(state.logo.file, state.loader.file);
|
||||
@@ -187,11 +188,9 @@
|
||||
btn.disabled = true;
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
btn.textContent = 'Error - Try Again';
|
||||
setTimeout(() => {
|
||||
btn.textContent = 'Generate Binary';
|
||||
btn.disabled = true;
|
||||
}, 2000);
|
||||
showError(error.message || 'An unexpected error occurred while generating the binary.');
|
||||
btn.textContent = 'Generate Binary';
|
||||
btn.disabled = false;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -207,10 +206,26 @@
|
||||
}
|
||||
}
|
||||
|
||||
function hideError() {
|
||||
const errorMessage = document.getElementById("error-message");
|
||||
if (errorMessage) {
|
||||
errorMessage.classList.add("hidden");
|
||||
}
|
||||
}
|
||||
|
||||
function showFlashError(message) {
|
||||
const errorText = document.getElementById("flash-error-text");
|
||||
const errorMessage = document.getElementById("flash-error-message");
|
||||
if (errorText && errorMessage) {
|
||||
errorText.textContent = message;
|
||||
errorMessage.classList.remove("hidden");
|
||||
}
|
||||
}
|
||||
|
||||
function checkForBrowserError(installButton) {
|
||||
const shadowText = installButton.shadowRoot?.textContent?.trim();
|
||||
if (shadowText?.includes('Your browser does not support')) {
|
||||
showError(shadowText);
|
||||
showFlashError(shadowText);
|
||||
installButton.style.display = 'none';
|
||||
return true;
|
||||
}
|
||||
@@ -376,12 +391,6 @@
|
||||
<h2>Generate binary</h2>
|
||||
|
||||
<button class="btn btn-lg btn-primary" id="generate-btn" disabled>Generate Binary</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="flex flex-col gap-6">
|
||||
<h2>Flash to device</h2>
|
||||
|
||||
<div id="error-message" class="hidden">
|
||||
<div class="message message-error">
|
||||
@@ -391,6 +400,21 @@
|
||||
<p id="error-text" class="message-content"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="flex flex-col gap-6">
|
||||
<h2>Flash to device</h2>
|
||||
|
||||
<div id="flash-error-message" class="hidden">
|
||||
<div class="message message-error">
|
||||
<svg class="message-icon" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
<p id="flash-error-text" class="message-content"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<esp-web-install-button></esp-web-install-button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user