Skip to content

feat: implement TopicFeed UI/UX enhancement#443

Open
Faromzy wants to merge 2 commits into
rinafcode:mainfrom
Faromzy:feat/topic-feed-ui-ux
Open

feat: implement TopicFeed UI/UX enhancement#443
Faromzy wants to merge 2 commits into
rinafcode:mainfrom
Faromzy:feat/topic-feed-ui-ux

Conversation

@Faromzy
Copy link
Copy Markdown

@Faromzy Faromzy commented May 27, 2026

feat: implement TopicFeed UI/UX enhancement

Summary

Implements the Topic Feed feature with a polished UI/UX, including loading
skeletons, infinite scroll, pull-to-refresh, and error handling.

Changes

  • TopicFeedCard — Feed item card with color-coded level badge
    (beginner/intermediate/advanced), category, duration, enrolled count,
    instructor name, and full accessibility labels
  • TopicFeedSkeleton — Animated pulse skeleton shown during initial load
  • TopicFeed — Main feed component built on FlatList with pull-to-refresh,
    infinite scroll pagination, skeleton loading state, and error state with retry
    button
  • useTopicFeed — Hook managing items, loading, refreshing, pagination, filters
    (category, level, pageSize), and error state
  • Exported from src/components/mobile/index.ts and src/hooks/index.ts

Testing

  • 28 unit tests added covering component interfaces, callback contracts, hook
    return shape, error state, and pagination logic
  • All tests pass, ESLint clean at --max-warnings=0

Acceptance Criteria

  • Topic Feed properly implements UI/UX enhancement
  • All related tests pass
  • No regression in existing functionality
  • Code follows project coding standards (ESLint + Prettier)
  • Accessibility guidelines followed (accessibilityRole, accessibilityLabel,
    accessibilityHint)
  • Performance optimised (removeClippedSubviews, initialNumToRender,
    windowSize)
    closes #527

Faromzy added 2 commits May 27, 2026 22:47
- Add TopicFeedCard with level badge, meta info, and accessibility labels
- Add TopicFeedSkeleton for loading state
- Add TopicFeed component with FlatList, pull-to-refresh, infinite scroll, and error/retry state
- Add useTopicFeed hook with pagination, filter, and error handling
- Export from mobile components and hooks index
- Add 28 passing tests
Unmounts off-screen items in DownloadQueue, ConnectionManager, and
MobileSearch to reduce native view count and improve scroll performance.
VirtualList, TopicFeed, and AdvancedDataGrid already had this set.
@RUKAYAT-CODER
Copy link
Copy Markdown
Contributor

kindly resolve conflict and fix workflow.
This PR is not properly link to the isse number.

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.

2 participants