Skip to content

Implement find in page functionality.#38

Merged
GetToSet merged 1 commit into
mainfrom
find-in-page
Nov 19, 2025
Merged

Implement find in page functionality.#38
GetToSet merged 1 commit into
mainfrom
find-in-page

Conversation

@GetToSet

Copy link
Copy Markdown
Member

No description provided.

@GetToSet GetToSet requested a review from Copilot November 19, 2025 13:09
@GetToSet GetToSet self-assigned this Nov 19, 2025
@GetToSet GetToSet added the enhancement Improvements or extensions to existing functionality label Nov 19, 2025

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements find-in-page functionality for the Bolt documentation browser, allowing users to search for text within documentation pages. The implementation includes UI components (toolbar with result counters and navigation buttons), state management for search queries and results, and JavaScript-based text highlighting adapted from Firefox iOS.

Key changes include:

  • Added find-in-page state management through SceneState with new actions and signals for queries, navigation, and result counts
  • Integrated a toolbar with previous/next navigation and result counter that appears when viewing documentation pages
  • Implemented JavaScript-based text search and highlighting using Mozilla's FindInPage.js (under MPL license)

Reviewed Changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
README.md Updated license information to note that some source code may be under different licenses (MPL)
BoltFramework/Package.swift Added resources directory to package configuration for JavaScript files
BoltFramework/BoltModuleExports/SceneState.swift Added find-in-page actions and signals to scene state management
BoltFramework/BoltLookupUI/States/LookupRoutingState.swift Wired search query to dispatch find-in-page action when viewing doc pages
BoltFramework/BoltLookupUI/Scenes/LookupSearchViewController.swift Added find-in-page toolbar as input accessory view to search bar
BoltFramework/BoltLookupUI/Scenes/LookupList/FindInPageToolbar.swift Implemented toolbar UI with result counter and navigation buttons for search bar
BoltFramework/BoltLookupUI/Scenes/FindInPageToolbarViewModel.swift Created view model to manage toolbar state and button actions
BoltFramework/BoltLookupUI/Scenes/Content/ToolbarManager.swift Extended toolbar manager to support find-in-page mode with dedicated controls
BoltFramework/BoltLookupUI/Scenes/Content/LookupContentViewController.swift Added toolbar mode switching based on lookup list and doc page visibility
BoltFramework/BoltBrowserUI/Scenes/Browser/BrowserViewController.swift Connected scene state find-in-page signals to browser view methods
BoltFramework/BoltBrowserUI/Scenes/Browser/BrowserView.swift Implemented JavaScript injection and message handling for find-in-page operations
BoltFramework/BoltBrowserUI/Resources/FindInPage.js Added JavaScript for text search, highlighting, and navigation (MPL licensed)
BoltFramework/BoltBrowserUI/MessageHandlers/FindInPageMessageHandler.swift Created message handler to receive find results from JavaScript
BoltCombineExtensions/Sources/Publisher+weakAssign.swift Added Combine extension for weak assignment to prevent retain cycles
.editorconfig Added max line length configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread BoltFramework/BoltLookupUI/Scenes/FindInPageToolbarViewModel.swift Outdated
Comment thread BoltFramework/BoltBrowserUI/Scenes/Browser/BrowserView.swift Outdated
@GetToSet GetToSet merged commit fc5b2e0 into main Nov 19, 2025
@GetToSet GetToSet deleted the find-in-page branch November 19, 2025 14:54
@GetToSet GetToSet added feature A new functionality that we could add and removed enhancement Improvements or extensions to existing functionality labels Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature A new functionality that we could add

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants