Skip to content

feat(webapp): two-row FileRow layout for mobile#726

Merged
camathieu merged 1 commit into
masterfrom
feat/mobile-file-row-layout
Mar 31, 2026
Merged

feat(webapp): two-row FileRow layout for mobile#726
camathieu merged 1 commit into
masterfrom
feat/mobile-file-row-layout

Conversation

@camathieu
Copy link
Copy Markdown
Member

What

Restructures the FileRow component to use a two-row layout on mobile devices (screens narrower than the md Tailwind breakpoint, ~768px).

Mobile layout:

  • Row 1: file icon + full filename (takes the full available width)
  • Row 2: file size on the left, action buttons pushed to the right via a flex-1 md:hidden spacer

Desktop layout (md+): unchanged — all elements remain on a single inline row as before.

Why

On narrow screens, all elements (icon, name, size, action buttons) were competing for space in a single flex row, causing file names to be severely truncated and unreadable. The new layout ensures the filename is always fully visible on mobile while keeping the desktop experience identical.

Changes

  • webapp/src/components/FileRow.vue — restructured template with flex-col md:flex-row outer container; flex-1 md:hidden spacer in the second row pushes buttons to the right edge on mobile
  • webapp/ARCHITECTURE.md — updated Responsive Layout section to document the new FileRow pattern

Testing

  • Build: make frontend
  • Unit tests: make test-frontend (234 tests) ✅
  • Manual: verified on mobile viewport in browser with multiple file types (GIF, PNG, XCF, SVG) — names readable, expanded details panel works correctly, action buttons right-aligned

@camathieu
Copy link
Copy Markdown
Member Author

docker deploy

@github-actions
Copy link
Copy Markdown

🚀 Deployment Successful!

The instance at plik.root.gg has been redeployed with image rootgg/plik:pr-726.

@camathieu camathieu force-pushed the feat/mobile-file-row-layout branch from cc01344 to 315ad8f Compare March 31, 2026 10:46
On narrow screens (< md breakpoint), the file list row was showing a
severely truncated filename due to all elements — icon, name, size, and
action buttons — competing for space in a single flex row.

Restructure FileRow.vue to use a two-row layout on mobile:
- Row 1: file icon + full filename (takes full width, wraps naturally)
- Row 2: file size on the left; action buttons pushed to the right via
  a flex-1 spacer (hidden on md+)

On md+ screens the layout is unchanged: everything stays inline on a
single row. Button text labels (View / Download / Decrypt) remain
hidden on mobile (icon-only) since the row is compact.

Update webapp/ARCHITECTURE.md to document the new responsive pattern.
@camathieu camathieu force-pushed the feat/mobile-file-row-layout branch from 315ad8f to ee62dcb Compare March 31, 2026 11:16
@camathieu camathieu merged commit 01feae5 into master Mar 31, 2026
8 checks passed
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.

1 participant