Skip to content

Add topic-list page #1500

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Add topic-list page #1500

wants to merge 3 commits into from

Conversation

PIG208
Copy link
Member

@PIG208 PIG208 commented May 6, 2025

Stacked on top of #1491.

Some non-goals of this change are deferred to #1499. In this implementation, we fetch the topics but do not handle all events to receive live-updates. It's expected that when topics are resolved/unresolved or moved, or when new messages arrived, the changes to the topic-list will not be seen until the next fetch.

We also skip thinning down the app bar, since that will require work on app bars on message-list page too.

The PR is structured to encourage side-by-side comparison with similar existing code. Namely _TopicItem from lib/widgets/inbox.dart and MessageListAppBarTitle.

Fixes: #1158

screenshots (taken on my Android device, hence the left-aligned app bar!)
light dark
regular image image
unsubscribed image image
unknown channel image image
small regular large
image image image
message-list channel action sheet
image image
non-muted topic muted topic
image image

debugDefaultTargetPlatformOverride = TargetPlatform.iOS:

@PIG208
Copy link
Member Author

PIG208 commented May 13, 2025

Updated the PR to implement a intentional deviation from the Figma design on aligning items, discussed in #mobile-team > topic list item alignment @ 💬.

@alya
Copy link
Collaborator

alya commented May 13, 2025

For the "small" and "large" screenshots, I think it would look much better if the checkmarks and indicators on the right scaled too.

@alya
Copy link
Collaborator

alya commented May 13, 2025

Let's name the option "List of topics". I think that's a bit easier to parse, and it's what we're currently testing for the web app UI.

@gnprice
Copy link
Member

gnprice commented May 13, 2025

For the "small" and "large" screenshots, I think it would look much better if the checkmarks and indicators on the right scaled too.

Seems reasonable. I'd want to clamp the scale factor, for the reasons described at #1023.

(For existing examples of implementing that, search for clamp in the code.)

PIG208 and others added 2 commits May 13, 2025 19:50
The topic-list page app bar should match the Figma design except for its
height.  That part needs to be coordinated with other pages.

Also on the topic-list page app bar, the icon "chveron_down.svg"
(originally "chveron-down-16.svg") comes from:
  https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=6820-36184&m=dev

and not the "Icons" page, since the "chveron-down" there
appears to be different from the one on the topic list page design.

We also leave out the new topic button and topic filtering.  Those are
out-of-scope for zulip#1158.

---

On the message-list page, "TOPICS" is not aligned to the middle part
of the app bar, that's because we haven't got to zulip#1039 yet.

---

The topic-list implementation is quite similar to parts of inbox page
and message-list page.  Therefore, we structure the code to make them
look similar to compare for changes side-by-side to help with reviewing
what has changed.

Figma design:
  https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=6819-35869&m=dev
@PIG208
Copy link
Member Author

PIG208 commented May 14, 2025

Thanks both! Updated the PR and the screenshots. I picked 1.5 to be the maxScaleFactor for icons, since that appears to be what we are using in most other places.

I clamped only the icons, though, not the topic name text. Because I think #1023 applies to scaling relatively unimportant information.

@alya
Copy link
Collaborator

alya commented May 14, 2025

Works for me, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintainer review PR ready for review by Zulip maintainers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

List of topics in channel
5 participants