()
| 513 | } |
| 514 | |
| 515 | function setDropAreaDefault() { |
| 516 | const dropArea = document.getElementById("uploadDropArea"); |
| 517 | if (!dropArea) return; |
| 518 | |
| 519 | dropArea.innerHTML = ` |
| 520 | <div id="uploadInstruction" class="upload-instruction"> |
| 521 | ${t("upload_instruction")} |
| 522 | </div> |
| 523 | <div id="uploadFileRow" class="upload-file-row"> |
| 524 | <button id="customChooseBtn" type="button">${t("choose_files")}</button> |
| 525 | </div> |
| 526 | <div id="fileInfoWrapper" class="file-info-wrapper"> |
| 527 | <div id="fileInfoContainer" class="file-info-container"> |
| 528 | <span id="fileInfoDefault"> ${t("no_files_selected_default")}</span> |
| 529 | </div> |
| 530 | </div> |
| 531 | <!-- File input for file picker (files only) --> |
| 532 | <input |
| 533 | type="file" |
| 534 | id="file" |
| 535 | name="file[]" |
| 536 | class="form-control-file" |
| 537 | multiple |
| 538 | style="opacity:0; position:absolute; width:1px; height:1px;" |
| 539 | /> |
| 540 | `; |
| 541 | |
| 542 | // After rebuilding markup, re-wire controls: |
| 543 | const fileInput = dropArea.querySelector('#file'); |
| 544 | wireFileInputChange(fileInput); |
| 545 | wireChooseButton(); |
| 546 | |
| 547 | setUploadButtonVisible(false); |
| 548 | } |
| 549 | |
| 550 | function adjustFolderHelpExpansion() { |
| 551 | const uploadCard = document.getElementById("uploadCard"); |
no test coverage detected