Skip to content

feat: Add Custom Category Management for Quick RepliesΒ #765

Description

@Kritika200520

πŸš€ Program

GSSoC

✨ Feature Description

Add custom category management to the Quick Replies drawer. This allows users to add, manage, and delete custom categories (e.g., "Work", "Family", "Medical") beyond the hardcoded list (General, Social, Needs, Urgent).

πŸ€” Problem It Solves

Deaf and speech-impaired users rely on Quick Replies for rapid communication during calls. Currently, they are restricted to four hardcoded categories.
As users add custom phrases, they cannot organize them into context-specific groups that suit their personal daily lives, which slows down finding the right reply during a live call.

πŸ’‘ Proposed Solution

  1. Dynamic Category Storage: Save the list of active categories in localStorage under vf_quick_reply_categories, defaulting to ["General", "Social", "Needs", "Urgent"].
  2. Add Category UI: Render an "Add Category" button/input next to the category tabs in QuickReplies.jsx.
  3. Dynamic Dropdowns: Populate dropdown inputs dynamically in the phrase builder form using the current categories list.
  4. Delete Categories: Add a way to delete custom categories, safely moving any existing phrases in that category back to the default General category.

πŸ”„ Alternatives Considered

  • No Categories (Flat List): Keeping all quick replies in a single long list, but this causes too much clutter and degrades speed during active calls.

πŸ“Έ Mockups / Examples

A custom "+" button next to the category tabs (All, General, Social, Needs, Urgent) that opens a small input field to type a new category name.

βœ… Acceptance Criteria

  • Category tabs are rendered dynamically from a list loaded from local storage.
  • Users can add a custom category which immediately updates the tab layout.
  • Users can select their custom categories when adding or editing a quick reply phrase.
  • Deleting a custom category is supported and automatically resets associated quick replies back to General.

πŸ“‹ Additional Context

The category selection state and phrase sorting should respect light/dark mode settings.

🌱 Contributor Checklist

  • I am participating via GSSoC
  • I have read the contribution guidelines
  • I checked for existing issues before creating this

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions