Skip to content

List of topics in channel #1158

Closed
Closed
@gnprice

Description

@gnprice

In the legacy app, if you're looking at the messages in a topic, we have a button in the app bar (a "list" icon) that gets you a list of all the topics in that channel. It's sorted by recency, and shows the number of unreads, whether you have an @-mention, and whether the topic is muted etc.

Basically it's similar to what you get in the web left sidebar after hitting "Show all topics" under a given channel.

We should offer the same thing in the new app. I wasn't sure people really use that feature; but it came up in user feedback after yesterday's beta announcement, so that's a sign that people do.

Design

Design is in Figma:
https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=6819-35869&m=dev

Image

For this issue, differences from the design there:

  • The design shows a "pinned topics" feature, which is a possible future Zulip feature but doesn't currently exist. Pending that feature, we'll leave out the "pinned" icon, and avoid using up horizontal space for it.
  • For this first version, let's leave out the "filter" feature. I'll file a post-launch followup issue for that. → Filter topics in topic-list screen #1384
  • For this issue, we'll leave out the "New topic" button and the modal it leads to. I'll file a separate, post-launch issue for that. → "New topic" modal from list of topics in channel #1385

Implementation

The list of topics will come from making a request to the server, after opening the page.

As a follow-up task, after getting the list for a given channel we might store it (on ChannelStore), and keep it up to date when handling events, so that coming back a second time to this topic-list page for a given channel is fast. For this PR, though, that's out of scope. Instead the list of topics can just live on a StatefulWidget for the page.

References

Metadata

Metadata

Assignees

Labels

a-designVisual and UX designbeta feedbackThings beta users have specifically asked for

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions