Hide the custom indicator icon picker from Settings#338
Merged
Conversation
The Choose Image / Reset row was the only path users had to swap the field-edge indicator art, and it was never quite productized. Hiding the UI here removes the rough edge without disturbing the underlying model: any previously-saved custom image is still loaded and rendered by AppDelegate, so users who set one keep their pick.
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.
Summary
Removes the Settings UI for changing the field-edge indicator icon (the Choose Image / Reset row and its file importer / failure alert). The underlying storage and rendering path is untouched, so any custom image a user previously chose is still loaded and used at runtime.
Validation
Linked issues
None.
Risk / rollout notes
UI-only deletion. The model APIs (setCustomIndicatorImage, clearCustomIndicatorImage, customIndicatorImage) remain in place and are still consumed by AppDelegate, so this is a hide rather than a removal. If we want to fully retire the feature later, a follow-up can clean up the model and its UserDefaults key.
Greptile Summary
This PR removes the Indicator Icon picker UI from
SettingsView— specifically the "Choose Image…" / "Reset" row, itsfileImportersheet, and the import-failure alert — while leaving the underlying model APIs andAppDelegaterendering path fully intact.@Statevariables (isIndicatorIconImporterPresented,didIndicatorIconImportFail) and the privatehandleIndicatorIconSelectionhelper that drove the file-importer flow.LabeledContent("Indicator Icon")row from the General section and the associated.fileImporter/.alertview modifiers from the form.UniformTypeIdentifiersimport is still required becausepresentDisabledAppPicker()usespanel.allowedContentTypes = [.application].Confidence Score: 5/5
This is a straightforward UI-only deletion with no logic changes; the model layer and AppDelegate rendering path are untouched, so users who previously chose a custom icon will continue to see it at runtime.
Every piece removed in this PR (two @State vars, the fileImporter modifier, the failure alert, the LabeledContent row, and the handleIndicatorIconSelection helper) is self-contained and has no callers or dependents remaining in the file. The UniformTypeIdentifiers import is still exercised by presentDisabledAppPicker. Nothing was accidentally left dangling.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[User opens Settings] --> B[General Section] B --> C[Show Indicator Toggle] C --> D["(Indicator Icon row — REMOVED)"] C --> E[Show Accept Hint Toggle] subgraph Removed["Removed in this PR"] D F[Choose Image… Button] G[Reset Button] H[fileImporter sheet] I[Couldn't Use That Image alert] J[handleIndicatorIconSelection] D --> F D --> G F --> H H --> J J --> I end subgraph Retained["Retained — model layer untouched"] K[SuggestionSettingsModel.setCustomIndicatorImage] L[SuggestionSettingsModel.clearCustomIndicatorImage] M[SuggestionSettingsModel.customIndicatorImage] N[AppDelegate — renders custom indicator at runtime] K & L & M --> N end style Removed fill:#fdd,stroke:#f00 style Retained fill:#dfd,stroke:#0a0Reviews (1): Last reviewed commit: "Hide the custom indicator icon picker fr..." | Re-trigger Greptile