Skip to content

feat: Add comprehensive 'Search in Settings' functionality#5495

Open
asphalt123 wants to merge 1 commit intoyuliskov:masterfrom
asphalt123:feature/dynamic-settings-search
Open

feat: Add comprehensive 'Search in Settings' functionality#5495
asphalt123 wants to merge 1 commit intoyuliskov:masterfrom
asphalt123:feature/dynamic-settings-search

Conversation

@asphalt123
Copy link

FEATURE: Search in Settings ;)

Description

This PR introduces a highly requested quality-of-life feature: A global "Search in settings" function for the app. As the app's settings have grown significantly, it has become difficult for users to locate specific options. This feature solves that problem by allowing users to search across every setting in the app from a single, easily accessible search box.

Key Features

  1. Global Search Box

    • Added a new "Search in settings" card prominently at the top of the main Settings page.
    • Clicking it opens a search dialog where users can type keywords.
  2. Precise Search Results

    • The search looks through all setting category titles and individual option items.
    • Displays all matching settings in a clean list format (one setting per line) to handle long setting names gracefully.
    • Breadcrumb Navigation: Each search result displays its exact path (e.g., Video zoom → Player › Video zoom) so users know precisely where the setting lives.
  3. Direct Navigation

    • Clicking on any search result immediately executes its action, opening the exact settings menu and highlighting the selected item. We may need to see if we cannot open the sub-settings menu ourselves @yuliskov. For now, when i tried, some settings made the app crash.
  4. 100% Dynamic Search Index

    • The search index is built dynamically at runtime by harvesting categories directly from all 11 settings presenters in the app.
    • This means the search index will never go out of sync. When new settings are added to the app in the future, they will automatically be searchable with zero extra code required.
  5. Comprehensive Localization

    • Added localized translations for search_in_settings and search_in_settings_hint across 50 supported values-* locales to ensure a native experience for all users globally.

Testing Instructions

  1. Open the app and navigate to Settings.
  2. Select the first card: Search in settings.
  3. Type a query (e.g., "block", "zoom", "speed") and verify the correct results appear with their respective breadcrumb paths.
  4. Click on a search result and verify it performs the correct action.
  5. Change your device language and verify the search card title and hint are translated correctly.

Related Issues

@yuliskov
Copy link
Owner

Great. I appreciate your enormous work.

@asphalt123 asphalt123 force-pushed the feature/dynamic-settings-search branch from 8fc7138 to bac788f Compare March 10, 2026 15:33
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