Description
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
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
- Design thread: #mobile-design > Topic list in channel
- A different feature serving some of the same use cases: Show topics on channels page #412
Metadata
Metadata
Assignees
Type
Projects
Status