improve reliability
This commit is contained in:
parent
8eb7fdd90f
commit
da6f5a3cfc
1 changed files with 21 additions and 30 deletions
|
@ -2122,7 +2122,6 @@ declare global {
|
|||
e.preventDefault();
|
||||
|
||||
const form = e.target as HTMLFormElement;
|
||||
// Get the submit and cancel buttons from the modal-action div
|
||||
const modalAction = document.querySelector(".modal-action");
|
||||
const submitButton = modalAction?.querySelector(
|
||||
".btn-primary"
|
||||
|
@ -2136,8 +2135,17 @@ declare global {
|
|||
return;
|
||||
}
|
||||
|
||||
// Store original button content
|
||||
const originalText = submitButton.innerHTML;
|
||||
|
||||
// Immediately disable buttons and show loading state
|
||||
submitButton.disabled = true;
|
||||
cancelButton.disabled = true;
|
||||
submitButton.innerHTML = `
|
||||
<span class="loading loading-spinner loading-sm"></span>
|
||||
Saving...
|
||||
`;
|
||||
|
||||
try {
|
||||
const formData = new FormData(form);
|
||||
const eventId = (
|
||||
|
@ -2147,15 +2155,6 @@ declare global {
|
|||
// Get files from storage
|
||||
const selectedFiles = Array.from(selectedFileStorage.values());
|
||||
|
||||
// Disable buttons and show loading state
|
||||
submitButton.disabled = true;
|
||||
cancelButton.disabled = true;
|
||||
submitButton.innerHTML = `
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="loading loading-spinner loading-sm"></span>
|
||||
<span>Saving...</span>
|
||||
</div>
|
||||
`;
|
||||
window.showLoading?.();
|
||||
|
||||
// Prepare event data
|
||||
|
@ -2181,10 +2180,8 @@ declare global {
|
|||
if (eventId) {
|
||||
// Update existing event
|
||||
submitButton.innerHTML = `
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="loading loading-spinner loading-sm"></span>
|
||||
<span>Updating event...</span>
|
||||
</div>
|
||||
Updating event...
|
||||
`;
|
||||
updatedEvent = await update.updateFields(
|
||||
"events",
|
||||
|
@ -2195,10 +2192,8 @@ declare global {
|
|||
// Handle file uploads if any
|
||||
if (selectedFiles.length > 0) {
|
||||
submitButton.innerHTML = `
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="loading loading-spinner loading-sm"></span>
|
||||
<span>Uploading files (0/${selectedFiles.length})...</span>
|
||||
</div>
|
||||
Uploading files (0/${selectedFiles.length})...
|
||||
`;
|
||||
await fileManager.appendFiles(
|
||||
"events",
|
||||
|
@ -2216,10 +2211,8 @@ declare global {
|
|||
} else {
|
||||
// Create new event
|
||||
submitButton.innerHTML = `
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="loading loading-spinner loading-sm"></span>
|
||||
<span>Creating event...</span>
|
||||
</div>
|
||||
Creating event...
|
||||
`;
|
||||
const pb = auth.getPocketBase();
|
||||
const newEvent = await pb
|
||||
|
@ -2229,10 +2222,8 @@ declare global {
|
|||
// Handle file uploads if any
|
||||
if (selectedFiles.length > 0) {
|
||||
submitButton.innerHTML = `
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="loading loading-spinner loading-sm"></span>
|
||||
<span>Uploading files (0/${selectedFiles.length})...</span>
|
||||
</div>
|
||||
Uploading files (0/${selectedFiles.length})...
|
||||
`;
|
||||
await fileManager.uploadFiles(
|
||||
"events",
|
||||
|
|
Loading…
Reference in a new issue