feat: redesign notes list in SwiftUI with sort options#189
Open
juliusknorr wants to merge 2 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.
Replaces the legacy UIKit notes table with a SwiftUI notes list that supports category grouping/collapsing and alternative “most recent” sorting, while keeping existing editor/category/share flows via a UIKit bridge.
Changes:
- Introduces
NotesListView/NotesListModelSwiftUI list + row UI (preview + modified date) and wires it intoNotesView. - Adds
NotesPresenterto present existing UIKit flows (editor, categories, share sheet) from SwiftUI. - Persists sort mode via a new
KeychainHelper.groupByCategorypreference and removes legacy UIKit list/split-view components.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| iOCNotes/Views/NotesView.swift | Switches root notes screen to SwiftUI list, adds sort menu + add-note action. |
| iOCNotes/Views/NotesPresenter.swift | New UIKit presentation bridge for editor, categories, share, direct editing. |
| iOCNotes/Views/NotesListView.swift | New SwiftUI list UI with collapsible sections, context menu, swipe actions, drop + refresh. |
| iOCNotes/Views/NotesListModel.swift | New observable model wrapping NSFetchedResultsController for sections/sort/search/expansion persistence. |
| iOCNotes/Views/NoteRowView.swift | New SwiftUI row showing title, snippet, and modified date. |
| Utils/KeychainHelper.swift | Adds persisted “group by category” preference (default true). |
| Source/AppDelegate.swift | Removes UIKit notes-table coupling; updates “open URL” note creation flow. |
| Source/Base.lproj/Main_iPhone.storyboard | Removes NotesTableViewController + split view scenes; changes initial VC. |
| iOCNotes.xcodeproj/project.pbxproj | Removes old sources from build, modifies SwiftLint script, and updates signing/bundle settings. |
juliusknorr
force-pushed
the
feature/swiftui-notes-list
branch
3 times, most recently
from
July 10, 2026 13:55
a4c63e4 to
b1dfbb8
Compare
juliusknorr
force-pushed
the
fix/ios26-scene-lifecycle
branch
from
July 13, 2026 10:59
b73419a to
7711a13
Compare
juliusknorr
force-pushed
the
feature/swiftui-notes-list
branch
3 times, most recently
from
July 14, 2026 08:31
4c924e2 to
6fb96a2
Compare
juliusknorr
marked this pull request as ready for review
July 14, 2026 08:32
Replace the legacy UIKit notes list and split view with a SwiftUI list that supports searching, pull-to-refresh, drag-and-drop note creation, category grouping, and recent-first sorting. Keep the existing UIKit editor, category picker, sharing flow, and direct-editing integration behind a presentation bridge. Adopt the scene lifecycle required by current iOS releases and remove the obsolete list-related storyboard and controller code. Assisted-by: Codex:GPT-5 Assisted-by: Claude:opus-4.8 Signed-off-by: Julius Knorr <jus@bitgrid.net>
juliusknorr
force-pushed
the
feature/swiftui-notes-list
branch
from
July 14, 2026 08:32
6fb96a2 to
4b9530a
Compare
Assisted-by: Codex:GPT-5 Signed-off-by: Julius Knorr <jus@bitgrid.net>
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.
Implements #51
Contributes to #140
Summary
Rewrites the notes list in SwiftUI and adds a way to hide categories and sort by most recent instead of always grouping by category.
Before / after
Same demo notes in both; the "after" adds a content preview per note and rounded, grouped sections.
Changes
Testing