Use native macOS controls for the clipboard popup - #10
Merged
Merged
Conversation
Greptile SummaryThe PR replaces the clipboard popup’s custom controls with native AppKit and SwiftUI components while retaining compact mode and persisted sidebar width.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains within the eligible follow-up-review scope. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| Lodge/Views/ContentView.swift | Introduces the native split-view hierarchy, sidebar constraints, and persisted divider-width restoration. |
| Lodge/Views/HistoryListView.swift | Replaces custom scrolling rows with native sidebar lists and separate pinned and unpinned sections. |
| Lodge/Views/SearchFieldView.swift | Replaces the SwiftUI search field with an AppKit search field that synchronizes text, focus, and key handling. |
| Lodge/Views/KeyHandlingView.swift | Extracts popup keyboard behavior into a shared handler used by SwiftUI and AppKit controls. |
| LodgeTests/HistoryTests.swift | Adds focused coverage for native-search keyboard behavior and split-view width persistence. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
FP[FloatingPanel] --> CV[ContentView]
CV -->|Compact mode| CL[Sidebar material and history list]
CV -->|Expanded mode| SV[HistorySplitController]
SV --> SB[Sidebar hosting controller]
SV --> DP[Detail hosting controller]
SB --> SF[Native NSSearchField]
SB --> HL[Pinned and unpinned sidebar Lists]
SF --> KH[HistoryKeyHandler]
HL --> AS[AppState and History]
KH --> AS
Reviews (2): Last reviewed commit: "Save the full sidebar pane width on macO..." | Re-trigger Greptile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lodge's popup used custom search, row selection, and divider controls. Replace them with an AppKit split view, native search field, and sidebar-style history lists so the window uses the macOS system appearance. The preview uses a solid content background.
Keep compact view, separate pinned items, and saved column width. Share keyboard handling between the native search field and SwiftUI views, and let AppKit update the Tab navigation order. The minimum supported version remains macOS 14.
Validation:
git diff --checkpassed.Live appearance and interaction need a local check. The test renderer could not capture the full native sidebar effect. This change has not been tested on macOS 14 or 15.