preland#18 #19: popup ошибки загрузки и однострочный ИИ-заголовок
deploy-preland / deploy zoomstage.online (push) Successful in 55s
deploy-preland / deploy zoomstage.online (push) Successful in 55s
This commit is contained in:
1 parent
f4ce5afdc4
commit
f30742c2fb
4 files changed
+74
-16
No files matched your search
+10
-15
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/browser-upload.php';
|
||||
require __DIR__ . '/upload-error.php';
|
||||
echo '<script>', require __DIR__ . '/navigation-guard.php', '</script>';
|
||||
echo '<script>', require __DIR__ . '/upload-recovery.php', '</script>';
|
||||
|
||||
@@ -20,7 +21,7 @@ $basePickerAccept = 'image/jpeg,image/png,image/gif,image/webp,image/bmp,image/a
|
||||
<div class="dropzone-form-icon">
|
||||
<img src="<?= $assetsUriPrefix; ?>/images/dropzone-icon.svg" alt="" height="65" width="64">
|
||||
</div>
|
||||
<div id="form-title" class="dropzone-form-text index-upload-heading"><?= Yii::t('app', 'Улучшить изображение') ?></div>
|
||||
<div id="form-title" class="dropzone-form-text index-upload-heading"><?= Yii::t('app', 'ИИ улучшение изображений') ?></div>
|
||||
<div class="dropzone-form-format">
|
||||
<div class="dropzone-form-format-label"><?= Yii::t('app', 'Поддерживаемые форматы') ?>:</div>
|
||||
<div class="dropzone-form-format-list">
|
||||
@@ -242,9 +243,9 @@ $basePickerAccept = 'image/jpeg,image/png,image/gif,image/webp,image/bmp,image/a
|
||||
catch (_) { showUploadError(genericErrorMsg); }
|
||||
return;
|
||||
}
|
||||
showUploadError(genericErrorMsg);
|
||||
showUploadError(genericErrorMsg, false, xhr.status === 408 || xhr.status >= 500);
|
||||
};
|
||||
xhr.onerror = () => { if (attempt === uploadAttempt && !leavingUploadPage) showUploadError(genericErrorMsg, true); };
|
||||
xhr.onerror = () => { if (attempt === uploadAttempt && !leavingUploadPage) showUploadError(genericErrorMsg, true, true); };
|
||||
xhr.send(formData);
|
||||
} catch (_) { if (attempt === uploadAttempt && !leavingUploadPage) showUploadError(genericErrorMsg); }
|
||||
}
|
||||
@@ -308,33 +309,27 @@ $basePickerAccept = 'image/jpeg,image/png,image/gif,image/webp,image/bmp,image/a
|
||||
try { await recovery.accepted({id: imageId}); redirectToTour(record); }
|
||||
catch (_) { showUploadError(genericErrorMsg); }
|
||||
} else {
|
||||
showUploadError(genericErrorMsg);
|
||||
showUploadError(genericErrorMsg, false, xhr.status === 408 || xhr.status >= 500);
|
||||
}
|
||||
};
|
||||
|
||||
xhr.onerror = () => {
|
||||
if (attempt === uploadAttempt && !leavingUploadPage) showUploadError(genericErrorMsg, true);
|
||||
if (attempt === uploadAttempt && !leavingUploadPage) showUploadError(genericErrorMsg, true, true);
|
||||
};
|
||||
|
||||
xhr.send(formData);
|
||||
}
|
||||
|
||||
function showUploadError(msg, keepRecovery = false) {
|
||||
function showUploadError(msg, keepRecovery = false, connection = false) {
|
||||
if (leavingUploadPage) return;
|
||||
uploadAttempt++;
|
||||
if (!keepRecovery) clearRecovery();
|
||||
resetUploadPending();
|
||||
form.show();
|
||||
if (typeof preview !== 'undefined' && preview) {
|
||||
preview.show(); preview.showError(msg);
|
||||
if (!preview.sourceEl.getAttribute('src')) preview.sourceEl.style.display = 'none';
|
||||
}
|
||||
// Release sentinel восстанавливает scroll history. Показываем сообщение
|
||||
// после этого перехода, иначе браузер тут же возвращает верх страницы.
|
||||
window.PublicNavigationGuard.allowNavigation(() => requestAnimationFrame(() => {
|
||||
if (typeof preview !== 'undefined' && preview) preview.upscaleErrorOverlay.scrollIntoView({block: 'center', behavior: 'instant'});
|
||||
}));
|
||||
fileInput.value = '';
|
||||
window.PublicNavigationGuard.allowNavigation(() => {
|
||||
window.ZoomzillaUploadError.show(msg, connection);
|
||||
});
|
||||
}
|
||||
window.addEventListener('pagehide', () => { leavingUploadPage = true; });
|
||||
window.addEventListener('pageshow', event => {
|
||||
|
||||
Reference in new issue
Block a user