Add Projects: third tab, swipe-to-file, per-project note capture

Notes gain an optional project (schema v4, additive). Projects derive
from note values like tags — no separate entity. Tab naming
(Projects/Categories) is a Settings choice applied across the UI.

Claude-Session: https://claude.ai/code/session_014esDWi42URLEC6Cj17hGQ3
This commit is contained in:
2026-07-16 18:24:11 -04:00
parent a8085865bc
commit b2f16e8600
14 changed files with 395 additions and 11 deletions
+7
View File
@@ -3,6 +3,9 @@ import SwiftUI
struct ContentView: View {
@Environment(SyncEngine.self) private var syncEngine
@AppStorage(ProjectsNaming.storageKey) private var namingRaw = ProjectsNaming.projects.rawValue
private var naming: ProjectsNaming { ProjectsNaming(rawValue: namingRaw) ?? .projects }
var body: some View {
if syncEngine.iCloudStatus == .unavailable {
ICloudGateView()
@@ -16,6 +19,10 @@ struct ContentView: View {
TagsView()
}
Tab(naming.plural, systemImage: "folder") {
ProjectsView()
}
Tab("Settings", systemImage: "gearshape") {
SettingsView()
}