Pull-to-refresh and loading skeletons #13

Open
opened 2026-04-29 03:55:21 +00:00 by TopherMayor · 0 comments
Owner

Problem

On first load, users see a blank screen with "Loading…" — it feels slow even if it's fast. No pull-to-refresh on mobile.

Proposed Solution

  • Replace "Loading…" text with animated skeleton placeholders (gray pulsing bars matching card shape)
  • Add pull-to-refresh on mobile (CSS overscroll-behavior + touch event)
  • Add a subtle shimmer animation on the skeleton cards
  • If load takes >300ms, skeletons show; if <300ms, they flash briefly to avoid jank

Acceptance Criteria

  • Skeleton loaders animate while fetching data
  • Skeletons match the shape of actual option cards
  • Pull-to-refresh works on iOS Safari and Android Chrome
  • Pull-to-refresh triggers a full WebSocket re-sync
## Problem On first load, users see a blank screen with "Loading…" — it feels slow even if it's fast. No pull-to-refresh on mobile. ## Proposed Solution - Replace "Loading…" text with animated skeleton placeholders (gray pulsing bars matching card shape) - Add pull-to-refresh on mobile (CSS `overscroll-behavior` + touch event) - Add a subtle shimmer animation on the skeleton cards - If load takes >300ms, skeletons show; if <300ms, they flash briefly to avoid jank ## Acceptance Criteria - [ ] Skeleton loaders animate while fetching data - [ ] Skeletons match the shape of actual option cards - [ ] Pull-to-refresh works on iOS Safari and Android Chrome - [ ] Pull-to-refresh triggers a full WebSocket re-sync
TopherMayor added the frontendmobilepriority/low labels 2026-04-29 03:55:21 +00:00
TopherMayor added this to the UI/UX Overhaul v1.0 milestone 2026-04-29 03:56:15 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TopherMayor/cabo-voting-app#13