Skip to content

feat(ui/search):Reimagine search flow with overlay - #357

Open
prewue wants to merge 2 commits into
sozercan:mainfrom
prewue:feat/search-overlay
Open

feat(ui/search):Reimagine search flow with overlay#357
prewue wants to merge 2 commits into
sozercan:mainfrom
prewue:feat/search-overlay

Conversation

@prewue

@prewue prewue commented Jul 8, 2026

Copy link
Copy Markdown
Contributor
ui.mp4

Description

This PR is a reimagining of the search flow. Search is now launched from a floating overlay instead of an in-page search form, while the Search results page remains focused on results and category filtering.

AI Prompt (Optional)

AI Prompt Used
Used Codex and Claude.
Reimagine the Kaset search flow by replacing the dedicated in-page search entry with a floating overlay search. Keep the results page, restore category tabs on the results page, support Music and YouTube search, preserve search history, and add focused tests for the touched flow.

AI Tool: Claude and Codex

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • UI/UX improvement
  • Refactoring (no functional changes)
  • Test update
  • Build/CI configuration

Related Issues

N/A

Changes Made

  • Added a reusable search overlay with a glass presentation, keyboard submit, history suggestions, history removal, shimmer loading state, scroll fades and search auto-complete.
  • Added per-source search history storage for Music and YouTube, with in-memory UI test mode support.
  • Rewired Command-F, the sidebar Search row, and command bar search actions to open or complete through the overlay instead of focusing an in-page search field.
  • Kept Search results pages as results-only surfaces while preserving category tabs and filters for Music and YouTube.
  • Added UI test launch controls and accessibility identifiers for the overlay, history rows, and result rows.
  • Updated unit and UI tests for search history, search view model behavior, and the overlay-to-results flow.

Testing

  • Unit tests pass (swift test --skip KasetUITests)
  • Manual testing performed
  • UI tested on macOS 26+

Additional verification run locally:

  • swiftformat .
  • swiftlint --strict
  • Scripts/build-app.sh debug
  • xcodebuild test -project KasetUITests.xcodeproj -scheme KasetUITests -destination 'platform=macOS,arch=arm64' -only-testing:KasetUITests/SearchViewUITests
  • .agents/skills/autoreview/scripts/autoreview --mode local

Checklist

  • My code follows the project's style guidelines
  • I have run swiftlint --strict && swiftformat .
  • I have added tests that prove my fix/feature works
  • New and existing unit tests pass locally
  • I have updated documentation if needed
  • I have checked for any performance implications
  • My changes generate no new warnings

Screenshots

N/A

Additional Notes

The targeted UI test suite launches the freshly built debug app bundle from .build/app/Kaset.app and verifies the overlay opens, submits, closes, shows results, keeps category tabs, and does not show the old in-page search field.

@prewue prewue changed the title Reimagine search flow with overlay feat(ui/search):Reimagine search flow with overlay Jul 8, 2026
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.

1 participant