Skip to content

Conversation

@sarafarajnasardi
Copy link
Contributor

Implements issue #2078, a follow-up to #1406.

The Figma design for the Subscribed Channels page includes a 'Filter channels' search box at the top. This feature allows users to quickly find channels by typing a search query.

The search filtering is:

  • Real-time (updates as the user types)
  • Case-insensitive
  • Partial match (searches within channel names)
  • Works for both pinned and unpinned channels

The implementation includes:

  • TextField widget with search icon at the top of the channels list
  • TextEditingController and state management for search query
  • Filtering logic in _filterSubscription helper method
  • Styling that matches the Figma design specifications
  • New localization string 'channelsPageFilterPlaceholder'
  • Proper handling of empty search results (doesn't show the 'not subscribed' placeholder when filter returns no matches)
  • 8 new comprehensive test cases covering various filter scenarios

All existing tests continue to pass (28/28 tests passing).

WhatsApp.Video.2026-01-23.at.3.01.59.PM.mp4

Fixes: #2078

Implements issue zulip#2078, a follow-up to zulip#1406.

The Figma design for the Subscribed Channels page includes a 'Filter
channels' search box at the top. This feature allows users to quickly
find channels by typing a search query.

The search filtering is:
- Real-time (updates as the user types)
- Case-insensitive
- Partial match (searches within channel names)
- Works for both pinned and unpinned channels

The implementation includes:
- TextField widget with search icon at the top of the channels list
- TextEditingController and state management for search query
- Filtering logic in _filterSubscription helper method
- Styling that matches the Figma design specifications
- New localization string 'channelsPageFilterPlaceholder'
- Proper handling of empty search results (doesn't show the 'not
  subscribed' placeholder when filter returns no matches)
- 8 new comprehensive test cases covering various filter scenarios

All existing tests continue to pass (28/28 tests passing).

Fixes: zulip#2078
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.

Offer search box in "Channels" page

1 participant