diff --git a/.jules/palette.md b/.jules/palette.md index 6bdec41c..e9e3974a 100644 --- a/.jules/palette.md +++ b/.jules/palette.md @@ -65,3 +65,7 @@ ## 2025-02-18 - Search Input Escape Key **Learning:** Users who heavily rely on keyboard navigation (and power users) experience friction when forced to backspace manually or switch to the mouse to click a "Clear" button after filtering a list. **Action:** Always provide an `Escape` key listener on search inputs to instantly clear the query and re-render the view, matching native OS text field behavior. + +## 2026-08-09 - Native File Input Header Redundancy +**Learning:** Native `` elements in headers look visually inconsistent across browsers and display the selected file name redundantly when the application already displays the active file in a custom text element. +**Action:** Visually hide the primary native input using a screen-reader-only class (`.sr-only`) and trigger it via a native proxy ` +

@@ -319,6 +320,13 @@

Dashboard

render(); } +const headerUploadBtn = document.getElementById('header-upload-btn'); +if (headerUploadBtn) { + headerUploadBtn.addEventListener('click', () => { + document.getElementById('file').click(); + }); +} + const fileInput = document.getElementById('file'); fileInput.addEventListener('change', () => { const selectedFile = fileInput.files?.[0];