Skip to content

fix(send): mobile file info panel — dismissable & non-blocking (reviewed) (#977)#987

Open
aaspinwall wants to merge 2 commits into
mainfrom
fix/mobile-file-info-panel-977-v2
Open

fix(send): mobile file info panel — dismissable & non-blocking (reviewed) (#977)#987
aaspinwall wants to merge 2 commits into
mainfrom
fix/mobile-file-info-panel-977-v2

Conversation

@aaspinwall

Copy link
Copy Markdown
Collaborator

Supersedes #986. Same fix for #977, plus fixes from a senior code review.

What changed?

Fixes the mobile behavior of the file info panel on the Your Files page:

  • HomeView.vue — the info panel is the original always-present inline w-64 column on desktop (md+), so desktop layout is unchanged and does not reflow on select/deselect. Below md it is hidden until a file/folder is selected, then shown as a full-screen, dismissable overlay (z above the app nav).
  • FileInfo.vue — added a close (X) button and a delete button (reusing the existing DeleteModal + DeleteConfirmation flow); onDeleteConfirm guards against a null selection.
  • FolderInfo.vue — added a matching close button (shares the overlay).
  • FolderView.vue — file-row download/delete buttons are visible on mobile (were hover-only), and the download button now @click.stops so tapping it doesn't also open the panel overlay on top of the download modal.
  • folder-store.ts — added clearSelection(), used by the close controls and deleteItem.
  • e2e — a Firefox mobile-viewport (412px) Playwright suite that registers, uploads, opens the panel, and verifies close + delete work and the panel dismisses.

Review fixes applied over #986

  1. Desktop info-panel column is kept always-present (no reflow); the mobile overlay is applied via conditional max-md: classes only when something is selected.
  2. @click.stop added to the row download button (previously a tap opened both the download modal and the info overlay on mobile).
  3. Null-guard in onDeleteConfirm; close buttons bound directly to folderStore.clearSelection (dropped trivial wrappers).

AI disclosure: Implemented and reviewed by Claude (agentic), with the author directing the task, running a senior-code-review pass, and approving the fixes. Verified via the new Playwright suite; ESLint and (frontend) typecheck clean on the changed files.

Why?

Per #977, on mobile the info panel covered the file's delete button, had no delete button of its own, and could not be closed. The panel is now an overlay that doesn't cover the list, can be closed, and can delete the file itself.

Limitations and Notes

Applicable Issues

Closes #977

Screenshots

Captured by the mobile suite: the info panel renders as a full-screen overlay with a close (X) and a red delete button; after closing, the file list and its row action buttons are fully accessible.

🤖 Generated with Claude Code

aaspinwall and others added 2 commits July 9, 2026 18:12
…ng (#977)

On the "Your Files" page on a narrow/mobile viewport the file info panel was a
fixed side column that overlapped the file list, covering the row delete button.
The panel also had no delete button of its own and no way to close it.

- HomeView: the info panel is the original inline column on desktop (md+) but a
  full-screen, dismissable overlay below md (max-md: scoped), and only renders
  when a file/folder is selected.
- FileInfo: add a close (X) button and a delete button (reusing the existing
  delete confirmation modal).
- FolderInfo: add a matching close button (shares the overlay).
- FolderView: file-row download/delete buttons are visible on mobile instead of
  hover-only, so the row delete button is tappable on touch.
- folder-store: add clearSelection() used by the close controls and deleteItem.

Adds a Firefox mobile-viewport Playwright suite that registers, uploads, opens
the panel, and verifies close + delete work on a 412px viewport.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- HomeView: keep the desktop info-panel column always present (empty until a
  selection) so desktop no longer reflows on select/deselect; the mobile
  full-screen overlay is applied via conditional max-md: classes only when a
  file/folder is selected, and hidden on mobile otherwise.
- FolderView: add @click.stop to the row download button so tapping it on mobile
  no longer also opens the info-panel overlay on top of the download modal.
- FileInfo: guard onDeleteConfirm against a null selectedFile; bind the close
  button directly to folderStore.clearSelection (drop the trivial wrapper).
- FolderInfo: bind the close button directly to folderStore.clearSelection.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SEND] File info panel covers delete button on mobile

1 participant