add payment_link and banks
This commit is contained in:
1 parent
2ae79b1ca4
commit
de3135b588
100 files changed
+6167
-47
No files matched your search
@@ -0,0 +1,44 @@
|
||||
/* Customer-only presentation. Financial and image validation remains in receipt-form.js.
|
||||
Object URLs preview local files without uploading or persisting them. */
|
||||
(() => {
|
||||
const form = document.querySelector('.customer-receipt-form');
|
||||
if (!form) return;
|
||||
const input = form.elements.namedItem('receipt_image');
|
||||
const preview = document.querySelector('#receipt-file-preview');
|
||||
const selection = document.querySelector('#receipt-file-selection');
|
||||
const status = document.querySelector('#receipt-file-status');
|
||||
let previewUrl = null;
|
||||
function releasePreview() {
|
||||
if (previewUrl) URL.revokeObjectURL(previewUrl);
|
||||
previewUrl = null;
|
||||
preview.removeAttribute('src');
|
||||
preview.hidden = true;
|
||||
}
|
||||
function updateFile() {
|
||||
releasePreview();
|
||||
const file = input.files[0];
|
||||
selection.hidden = !file;
|
||||
status.textContent = file ? file.name + ' · ' + new Intl.NumberFormat('fa-IR', {maximumFractionDigits: 1}).format(file.size / 1024) + ' کیلوبایت' : '';
|
||||
if (file && /^image\/(jpeg|png|gif|webp)$/.test(file.type)) {
|
||||
previewUrl = URL.createObjectURL(file);
|
||||
preview.src = previewUrl;
|
||||
preview.hidden = false;
|
||||
}
|
||||
}
|
||||
input.addEventListener('change', updateFile);
|
||||
document.querySelector('#receipt-clear-file').addEventListener('click', () => {
|
||||
input.value = '';
|
||||
input.dispatchEvent(new Event('change', {bubbles: true}));
|
||||
input.focus();
|
||||
});
|
||||
window.addEventListener('pagehide', releasePreview);
|
||||
const origin = form.elements.namedItem('origin_bank');
|
||||
const other = form.elements.namedItem('origin_other');
|
||||
function updateOrigin() {
|
||||
const visible = origin.selectedOptions[0]?.textContent.trim() === 'سایر';
|
||||
other.closest('[data-field]').hidden = !visible;
|
||||
other.disabled = !visible;
|
||||
}
|
||||
origin.addEventListener('change', updateOrigin);
|
||||
updateOrigin();
|
||||
})();
|
||||
Reference in new issue
Block a user