Skip to content

fix: filters in messaging screen#2839

Merged
HarshMN2345 merged 1 commit intomainfrom
fix-filters-in-messaging-screens
Feb 6, 2026
Merged

fix: filters in messaging screen#2839
HarshMN2345 merged 1 commit intomainfrom
fix-filters-in-messaging-screens

Conversation

@HarshMN2345
Copy link
Member

@HarshMN2345 HarshMN2345 commented Feb 6, 2026

What does this PR do?

before:

image

after :

image

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

Summary by CodeRabbit

Release Notes

  • New Features
    • Added dropdown filter display style option for QuickFilters component, now available across messaging pages
    • Extended QuickFilters button styling with secondary variant option alongside the existing ghost variant

@appwrite
Copy link

appwrite bot commented Feb 6, 2026

Console (appwrite/console)

Project ID: 688b7bf400350cbd60e9

Sites (1)
Site Status Logs Preview QR
 console-stage
688b7cf6003b1842c9dc
Ready Ready View Logs Preview URL QR Code

Tip

Roll back Sites deployments instantly by switching between versions

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 6, 2026

Walkthrough

This pull request introduces a new dropdown-style filter UI option for the messaging module. The QuickFilters component gains a buttonVariant prop supporting 'ghost' and 'secondary' styling modes. The ResponsiveContainerHeader component introduces a filtersStyle prop ('chips' or 'dropdown') to switch between the existing ParsedTagList chips display and a new QuickFilters dropdown interface. Three messaging section pages are updated to adopt the dropdown filter style.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix: filters in messaging screen' directly summarizes the main change: refactoring the filter UI in the messaging screens from inline chips to a dropdown-based design.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-filters-in-messaging-screens

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/lib/layout/responsiveContainerHeader.svelte`:
- Around line 105-109: The mobile path currently renders the generic
filtersButton without any active-filter indicator when filtersStyle ===
'dropdown' and hasFilters is true; update the filtersButton snippet (the
element/render block referenced by filtersButton) to conditionally show a
badge/indicator whenever hasFilters is true and filtersStyle === 'dropdown' (use
the same badge markup/props used by QuickFilters/ParsedTagList to keep visuals
consistent), or alternatively render <QuickFilters> on small viewports when
filtersStyle === 'dropdown' by reusing the existing QuickFilters component
logic; focus your change on the filtersButton/QuickFilters conditional logic
around filtersStyle, hasFilters, ParsedTagList and showFilters so mobile users
see the active-filter badge.
🧹 Nitpick comments (1)
src/lib/layout/responsiveContainerHeader.svelte (1)

140-146: filterCols is pre-filtered here, but QuickFilters also filters internally.

Line 145 passes filterCols.filter((f) => f?.options), but QuickFilters re-applies the same .filter((f) => f?.options) on Line 47 of quickFilters.svelte. Not a bug, but a minor redundancy — you could pass filterCols as-is and let QuickFilters handle the filtering, or remove the internal filter. Low priority.

Comment on lines +105 to +109
{#if hasFilters && filtersStyle === 'chips'}
<div style="overflow-x: auto;">
<ParsedTagList {columns} {analyticsSource} />
</div>
{/if}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Small viewport in 'dropdown' mode has no visual indicator for active filters.

When filtersStyle === 'dropdown', this guard hides the ParsedTagList chips on small viewports. However, the small viewport path doesn't render QuickFilters (which carries the active-filter badge) either — it only shows the generic filtersButton snippet (Line 195), which has no badge. This means users on mobile won't see any indication that filters are currently applied.

Consider either:

  1. Adding a badge to the filtersButton snippet when filtersStyle === 'dropdown', or
  2. Rendering QuickFilters on small viewports in dropdown mode as well.
#!/bin/bash
# Check if filtersButton snippet or the small viewport filter path has any badge/indicator logic
rg -n 'filtersButton\|showFilters\|parsedTags' src/lib/layout/responsiveContainerHeader.svelte
🤖 Prompt for AI Agents
In `@src/lib/layout/responsiveContainerHeader.svelte` around lines 105 - 109, The
mobile path currently renders the generic filtersButton without any
active-filter indicator when filtersStyle === 'dropdown' and hasFilters is true;
update the filtersButton snippet (the element/render block referenced by
filtersButton) to conditionally show a badge/indicator whenever hasFilters is
true and filtersStyle === 'dropdown' (use the same badge markup/props used by
QuickFilters/ParsedTagList to keep visuals consistent), or alternatively render
<QuickFilters> on small viewports when filtersStyle === 'dropdown' by reusing
the existing QuickFilters component logic; focus your change on the
filtersButton/QuickFilters conditional logic around filtersStyle, hasFilters,
ParsedTagList and showFilters so mobile users see the active-filter badge.

@HarshMN2345 HarshMN2345 merged commit 185defc into main Feb 6, 2026
3 of 4 checks passed
@HarshMN2345 HarshMN2345 deleted the fix-filters-in-messaging-screens branch February 6, 2026 08:56
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.

2 participants