Skip to content

Update QuickFixFinder UI to add list of workers and filter on search query entered #238

@Autek

Description

@Autek

Issue Description

Problem:
The current QuickFixFinder.kt contains tightly coupled filtering logic and UI elements, resulting in reduced maintainability and reusability. Additionally, the filtering component is not modular, making future enhancements more challenging.

Proposed Solution:

  1. UI Updates in QuickFixFinder.kt

    • Remove the "Search" and "Announce" buttons when a search query is entered in the search bar.
    • Display the new filtering component dynamically when the search bar is populated.
  2. Refactor Filtering Logic

    • Move all filter-related operations (reapplyFilters, clearFilters, etc.) into a new, reusable SearchFilters.kt component.
    • Extract filter UI components such as SearchFilterButtons and FilterRow into the same SearchFilters.kt file.
  3. Improve Separation of Concerns

    • QuickFixFinder.kt will now focus solely on UI layout and user interactions.
    • The new SearchFilters.kt component handles filter logic and reusable UI components.

Acceptance Criteria:

  • The "Search" and "Announce" buttons are removed when the search bar has input.
  • The filter UI component is displayed when a search query is entered.
  • Filtering functionalities (Availability, Service Type, Price Range, Location, and Highest Rating) work correctly after refactoring.
  • The "Clear" button resets all filters and displays the full list of results.
  • Filter icon colors, states, and transitions behave as expected.

Benefits:

  1. Enhanced UI usability and intuitiveness within QuickFixFinder.kt.
  2. Modularized filtering logic for better maintainability and reusability.
  3. Clearer separation of concerns between filtering logic and UI components.

Test Plan:

  • Verify that the updated UI in QuickFixFinder.kt behaves correctly when interacting with the search bar.
  • Test all filter options for correct functionality.
  • Confirm that clearing filters restores the original, unfiltered list.
  • Ensure UI states (e.g., button colors, visibility transitions) function as intended.

Metadata

Metadata

Assignees

Labels

UIRelated to user interfaceenhancementMake an existing feature betterfeatureAdd a new feature

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions