Skip to content

Conversation

Copilot
Copy link

@Copilot Copilot AI commented Oct 6, 2025

This PR implements the search and filter functionality for the /tasks page as specified in Jira ticket TF-2, matching the provided Figma designs exactly.

Changes Made

New Components

  • TaskSearchFilter: A reusable component that provides search input with icons and filter dropdown functionality
  • Includes search input with search icon (left) and clear button (right)
  • Filter dropdown with Status and Priority sections
  • All filter options start selected by default
  • Real-time filtering as user types or changes selections

Enhanced Components

  • TaskList: Updated to display a "No tasks found" message when no tasks match the current search and filter criteria
  • Tasks Page: Converted from server component to client component to handle interactive filtering

Server Actions

  • searchAndFilterTasks: New server action for potential future server-side filtering (currently using client-side for better performance)

Key Features

Search Functionality

The search input allows users to find tasks by typing in task names or descriptions. The search is case-insensitive and filters in real-time as the user types. A clear button (X icon) appears when text is entered and clears the search when clicked.

Filter Functionality

The filter dropdown provides two sections:

  • Status: Todo, In Progress, Review, Done
  • Priority: High, Medium, Low

Users can select/deselect multiple options in each category. All options start selected by default to show all tasks initially.

Combined Search & Filter

Both search and filters work together seamlessly. Tasks must match both the search query (if any) and the selected filter criteria to be displayed.

No Results State

When no tasks match the current search and filter criteria, users see a clear message: "No tasks found" with an explanation subtitle.

Technical Implementation

  • Client-side filtering for optimal performance and responsiveness
  • TypeScript with proper type definitions for all new components
  • React hooks (useState, useEffect, useCallback) for state management
  • shadcn/ui components maintaining consistency with existing design system
  • Accessibility considerations with proper ARIA labels and keyboard navigation

Screenshots

Search and Filter Interface:
Search and Filter Implementation

Filter Dropdown with Status and Priority Sections:
Filter Dropdown

The implementation follows the existing project patterns and maintains code quality with proper linting and successful builds. All acceptance criteria from the Jira ticket have been fulfilled and the ticket has been transitioned to "In Review" status.

Original prompt

This section details on the original issue you should resolve

<issue_title>TF-2 Tasks: Search and Filter (LOCAL)</issue_title>
<issue_description> Implement the work described in Jira ticket TF-2, including looking at any Figma files mentioned. When finished, transition the ticket to "In Reivew".

To do the work use the following prompt chain which describes steps for best implementing the feature:

  1. Open the repository on GitHub: https://github.com/bitovi/ai-enablement-prompts.
  2. Execute the prompt writing-code/generate-feature/generate-feature.md</issue_description>

Comments on the Issue (you are @copilot in this section)

Fixes #199

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Add TaskSearchFilter component with search input and filter dropdown
- Implement client-side filtering for search text, status, and priority
- Add clear button functionality to search input
- Display "no results" message when no tasks match criteria
- Follow existing project patterns and styling
- All functionality tested and working as per Figma designs

Co-authored-by: mikedane-bitovi <[email protected]>
@Copilot Copilot AI changed the title [WIP] TF-2 Tasks: Search and Filter (LOCAL) Implement TF-2: Add search and filter functionality to tasks page Oct 6, 2025
Copilot finished work on behalf of mikedane-bitovi October 6, 2025 14:39
@Copilot Copilot AI requested a review from mikedane-bitovi October 6, 2025 14:39
@mikedane-bitovi mikedane-bitovi changed the title Implement TF-2: Add search and filter functionality to tasks page Implement TF-1: Add search and filter functionality to tasks page (COMPLETE) Oct 6, 2025
@mikedane-bitovi mikedane-bitovi changed the title Implement TF-1: Add search and filter functionality to tasks page (COMPLETE) Add search and filter functionality to tasks page (COMPLETE) Oct 6, 2025
@mikedane-bitovi mikedane-bitovi changed the title Add search and filter functionality to tasks page (COMPLETE) COMPLETE - Add search and filter functionality to tasks page Oct 6, 2025
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.

TF-2 Tasks: Search and Filter (LOCAL)
2 participants