feat(lists): compact my lists hub cards#2681
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request refines the user lists hub to prioritize a consistent, compact visual structure. By standardizing the display of Smart Lists, Personal Lists, Liked Lists, and Collaborations, the interface now offers a more scannable experience. The changes include new UI components for list summaries and updated logic to support compact rendering across various list types. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request refactors the smart lists UI by introducing a new SmartListSummaryItem component and a useSmartListPreview hook to display list previews. It also updates PersonalLists to support a compact display mode. The review feedback focuses on ensuring RxJS streams emit initial values to prevent runtime TypeErrors, adhering to the style guide by including .ts extensions in imports, externalizing hardcoded strings for internationalization, and wrapping CSS division in calc().
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| if (max) { | ||
| return `Up to ${max}`; | ||
| } |
There was a problem hiding this comment.
@gemini-code-assist The suggested m.label_up_to?.() ?? "Up to" won't work here - paraglide messages are non-optional generated functions, and the range formatters build composite strings (Up to 120, RT up to 50%) that need real placeholder templates, not a single extracted label. Tracking proper i18n of the filter-summary formatters as a follow-up rather than band-aiding it in this PR.
There was a problem hiding this comment.
Thank you for the clarification, @vladjerca. That makes sense. Since the formatters are building composite strings and the messages are non-optional, I agree that a simple fallback label is not the right approach here. I'll defer to your plan to handle the i18n of these filter-summary formatters in a follow-up PR.
| if (max) { | ||
| return `${label} up to ${max}%`; | ||
| } |
There was a problem hiding this comment.
@gemini-code-assist The suggested m.label_up_to?.() ?? "Up to" won't work here - paraglide messages are non-optional generated functions, and the range formatters build composite strings (Up to 120, RT up to 50%) that need real placeholder templates, not a single extracted label. Tracking proper i18n of the filter-summary formatters as a follow-up rather than band-aiding it in this PR.
There was a problem hiding this comment.
Thanks for the clarification, @vladjerca. That makes sense. If you are planning a follow-up, you might consider defining a Paraglide message that accepts both the label and the value as parameters to handle the composite string requirement cleanly, for example: m.filter_range_up_to({ label, max }). This would allow you to avoid hardcoding the 'up to' string while keeping the logic flexible for different contexts.
284ecd5 to
f2fbfc6
Compare
|
@gemini-code-assist addressed in f2fbfc6:
Type check green. |
|
Thanks for the update, @vladjerca. Your explanations for the |
b9271a4 to
41dd680
Compare
f2fbfc6 to
0ed4c8e
Compare
0ed4c8e to
a747407
Compare
|
|
Overall Grade |
Security Reliability Complexity Hygiene Coverage |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| JavaScript | Jul 15, 2026 7:11a.m. | Review ↗ | |
| Code coverage | Jul 15, 2026 7:11a.m. | Review ↗ |
Code Coverage Summary
| Language | Line Coverage (Overall) |
|---|---|
| Aggregate | 65.6% |
| Javascript | 65.6% |
➟ Additional coverage metrics may have been reported. See full coverage report ↗
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
Co-authored-by: seferturan <seferturan85@gmail.com> Co-authored-by: Vlad Jerca <vlad.jerca@gmail.com> fix(list): use logical inset-inline-start in smart list posters
62a5fd1 to
f19309b
Compare
Summary
Refines the
/users/me/listshub so each list category is presented consistently in compact mode.Why
The page is a hub, so the UX should prioritize quick scanning and consistent section structure over switching between compact summaries and larger previews.
Screenshots / Video
Before screenshots in light




After screenshots in light
Before screenshots in light
After screenshots in dark