Skip to content

[Mobile] Use skeleton placeholders on notifications screen#14279

Merged
dylanjeffers merged 1 commit intomainfrom
claude/heuristic-hoover-5714a9
May 8, 2026
Merged

[Mobile] Use skeleton placeholders on notifications screen#14279
dylanjeffers merged 1 commit intomainfrom
claude/heuristic-hoover-5714a9

Conversation

@dylanjeffers
Copy link
Copy Markdown
Contributor

Summary

  • Replaces the footer spinner on the mobile notifications screen with skeleton notification rows that mirror the shape of real notifications.
  • Matches the loading pattern recently introduced for lineups (LineupTileSkeleton in TrackLineup): skeletons render during initial fetch and during pagination, mixed into the same FlashList data array.
  • Empty (EmptyNotifications) and error states are preserved — skeletons are suppressed when isError is true, and the empty-state branch is unchanged.

Files

  • packages/mobile/src/screens/notifications-screen/NotificationListItemSkeleton.tsx — new skeleton row mirroring the NotificationTile layout (icon + profile picture row + 2 text lines + timestamp placeholder).
  • packages/mobile/src/screens/notifications-screen/NotificationList.tsx — interleaves LoadingItem placeholders into the FlashList data; drops the footer spinner.

Test plan

  • Open the notifications screen with a slow network — skeleton rows render on initial load instead of a spinner.
  • Scroll to fetch the next page — pagination skeletons appear at the bottom while loading.
  • Empty state still renders EmptyNotifications when there are no notifications.
  • Pull-to-refresh still works without showing initial-load skeletons.
  • Error state does not get stuck showing skeletons forever.

🤖 Generated with Claude Code

Replaces the footer spinner on the mobile notifications screen with
skeleton notification rows that mirror the shape of real notifications,
matching the loading pattern used by the new lineup system. Skeletons
appear during the initial fetch and while paginating; empty and error
states are preserved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 8, 2026

⚠️ No Changeset found

Latest commit: a84a967

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@dylanjeffers dylanjeffers merged commit 615686b into main May 8, 2026
3 checks passed
@dylanjeffers dylanjeffers deleted the claude/heuristic-hoover-5714a9 branch May 8, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant