From 0e0d4d136deace7b3c92a8a4900505283b6b9a86 Mon Sep 17 00:00:00 2001 From: Jason Morley Date: Sat, 6 Jun 2026 11:12:21 +0900 Subject: [PATCH 1/6] feat: iOS app --- .../AccentColor.colorset/Contents.json | 38 +++++ .../AppIcon.appiconset/Contents.json | 36 ++++ .../AppIcon.appiconset/icon_1024x1024.png | Bin 0 -> 195247 bytes .../Assets.xcassets/Contents.json | 6 + macos/Thoughts-iOS/ThoughtsApp.swift | 155 ++++++++++++++++++ macos/Thoughts.xcodeproj/project.pbxproj | 150 ++++++++++++++++- macos/ThoughtsCore/Package.swift | 4 +- .../ThoughtsCore/Extensions/FileManager.swift | 4 + .../ThoughtsCore/Extensions/Sequence.swift | 2 +- .../ThoughtsCore/Model/ApplicationModel.swift | 85 +++++++++- .../Sources/ThoughtsCore/Model/Document.swift | 43 ++++- .../ThoughtsCore/Model/RegionalDate.swift | 11 +- .../Views/Compose/ComposeView.swift | 8 +- .../Views/Compose/ContentView.swift | 41 ++++- macos/dependencies/FrontmatterSwift | 2 +- 15 files changed, 554 insertions(+), 31 deletions(-) create mode 100644 macos/Thoughts-iOS/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 macos/Thoughts-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 macos/Thoughts-iOS/Assets.xcassets/AppIcon.appiconset/icon_1024x1024.png create mode 100644 macos/Thoughts-iOS/Assets.xcassets/Contents.json create mode 100644 macos/Thoughts-iOS/ThoughtsApp.swift rename macos/{Thoughts => ThoughtsCore/Sources/ThoughtsCore}/Views/Compose/ComposeView.swift (96%) rename macos/{Thoughts => ThoughtsCore/Sources/ThoughtsCore}/Views/Compose/ContentView.swift (68%) diff --git a/macos/Thoughts-iOS/Assets.xcassets/AccentColor.colorset/Contents.json b/macos/Thoughts-iOS/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..8f98b1d --- /dev/null +++ b/macos/Thoughts-iOS/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "display-p3", + "components" : { + "alpha" : "1.000", + "blue" : "0.945", + "green" : "0.757", + "red" : "0.333" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "display-p3", + "components" : { + "alpha" : "1.000", + "blue" : "0.898", + "green" : "0.557", + "red" : "0.251" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Thoughts-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Thoughts-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..b3f06f6 --- /dev/null +++ b/macos/Thoughts-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,36 @@ +{ + "images" : [ + { + "filename" : "icon_1024x1024.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Thoughts-iOS/Assets.xcassets/AppIcon.appiconset/icon_1024x1024.png b/macos/Thoughts-iOS/Assets.xcassets/AppIcon.appiconset/icon_1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..83346b2d75568a2dd1d3a05836443fd468607cb6 GIT binary patch literal 195247 zcmeFYcTg11`!2eGl9PgfNE8u~4^fcJ5>!A@P*hNX1yM2r0+M%-EJ_eTGD}84SrsLT zED{BTB}kC8_tW< zo7I~?Lfv>`S$xb}{>1dbT&aA>En_z(!P4k=F=q^=V))tnYyPR3yKi;uM`BIlxrXzX z#}d!gT{gP;{?wzJR%4w}=iW8*i9~(#nGGWh{K}^E^)!NETlrzG18k6c*)l?0PLCnO zm;a=x06w7>USi_od{TuxW`^Qfz76*ty12Qi7fFQEGZPC?_ zDbo1ZjitwaBgYJq4i#!_(|8~rlE*cF^$S`0Dzx3^xFyv#Bao-p87+{f)#Ij;EpV*M zIExcf&@pe8#w0cLT1!7Z_tk1@Gk@K&og=4XI@!ZYD_pnv4W55InHJq)CP04Gfe%On z%d^joFZre|>wV2MZ>O+-?l8VV2Sdcbso~h+H4O`XxiT~6w$z&^v}?D%ypqy>c^n&W zQ5&h54egO1j{NDq;__*sJiB{`BMp6GfUjWX%yY>HHE;Tpvs~bBeGb*HskJS6%9`8$ za$hlX8OtcY+`A|rUT24rl06-oYU2M*pMWrgB;2_$16L{CA^&Oq~2 zW9kKelV#VeUJmYjmsaMJh6xQv28~p9``9AA;0^~JS8Pu%gujr|mdzcw0>wE8t8-F=<;nUYkkm<{di;J$V4~ zXt-rQaNBEF(Ftz+ ze;)rFEt1N%#C6of$?BhUh^)zJGfu_mF=JUP`P)pJ@l{2z!V814t2)1#^kYH`nO4Qs zIZGUmTf_!B3Iy~1ip=)q7h_V6dNXg)08xt3Y+Lp{5zhT2Qu&AGypk;|DlYyeq%5+y zXz%9TbF7K6oJO5RX;#O7bKX|1;=U7Gby=fi(kket+Ha}#3!*Q}3)kEfzMRs5h`(4V zzA&UPcxv#(s>~{DfC5>miA_I-9w+VmMfI(S4fiR5X!EY6hlwhWvrMu=f1R)pF6Sd0 zd)YbsvE0_x3vy8?H_<+ECUPd}L%T!AGsmz`?OI|t1YBSEcgN0YHF((_dm^_bvc+5@ zFdk2dv1!H4Z*Id6wVK&ctgtv}A~Xfxf$B&(md??2#KxHYx#>?iuhU{@)CHahklCFt zohX(c$`>)RkgYlUR>1RxO@d_t{)C_)x1gP%&^dO&yYlG@c~%YOgC*P9rB^>oeKOlQ zBkwM=rm}W=O?pi~+v1{h*z3igf0mM#Ja!-NUf7kpoLKzz^n=$G4Yxks`egLUdMD|) zQIGA5$}hH+hLsj;>BHV-MvtRDzfilDUD9mac#HIEmu1=ML}KEHs|i<|dRa3{&X3B+=_Dy7 z-MrpZjÅ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

t-i<0SvI`nLhE^2@Ra>1b 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%0A|fJe?nG3jNF$t9mTs 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 Bool { +// dispatchPrecondition(condition: .onQueue(.main)) +// let openPanel = NSOpenPanel() +// openPanel.canChooseFiles = false +// openPanel.canChooseDirectories = true +// openPanel.canCreateDirectories = true +// guard openPanel.runModal() == NSApplication.ModalResponse.OK, +// let url = openPanel.url else { +// return false +// } +// applicationModel.rootURL = url +// applicationModel.document = Document() +// return true + return false + } + + func showThought(applicationModel: ApplicationModel) { +// NSWorkspace.shared.open(.compose) + } + + } + + @Environment(\.scenePhase) private var scenePhase + + @State private var sheet: SheetType? + + var applicationModel: ApplicationModel + var modelDelegate: ModelDelegate + + init() { + let applicationModel = ApplicationModel() + let modelDelegate = ModelDelegate() + applicationModel.delegate = modelDelegate + self.applicationModel = applicationModel + self.modelDelegate = modelDelegate + self.applicationModel.start() + +// self.applicationModel.new() + } + + var body: some Scene { + WindowGroup { + NavigationView { + ContentView(applicationModel: applicationModel) + .navigationBarTitleDisplayMode(.inline) + .sheet(item: $sheet) { sheet in + switch sheet { + case .introduction: + NavigationView { + IntroductionView(applicationModel: applicationModel) + } + } + } + } + } + .onChange(of: applicationModel.didShowIntroduction, initial: true) { _, didShowIntroduction in + guard !didShowIntroduction else { + return + } + sheet = .introduction + } + .onChange(of: scenePhase) { _, scenePhase in + switch scenePhase { + case .background, .inactive: + applicationModel.lastBackgroundDate = min(Date(), applicationModel.lastBackgroundDate) + case .active: + let backgroundDuration = applicationModel.lastBackgroundDate.timeIntervalSinceNow * -1 + print("Opened after \(backgroundDuration) seconds.") + guard backgroundDuration > 60 * 5 else { + break + } + print("Creating new thought...") + applicationModel.lastBackgroundDate = Date.distantFuture + applicationModel.new() + @unknown default: + break + } + } + } +} diff --git a/macos/Thoughts.xcodeproj/project.pbxproj b/macos/Thoughts.xcodeproj/project.pbxproj index f49c3b6..eeddd26 100644 --- a/macos/Thoughts.xcodeproj/project.pbxproj +++ b/macos/Thoughts.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ D804FB112C081A2F004F8666 /* FrontmatterSwift in Frameworks */ = {isa = PBXBuildFile; productRef = D804FB102C081A2F004F8666 /* FrontmatterSwift */; }; + D818BD022FD163FE0028C860 /* ThoughtsCore in Frameworks */ = {isa = PBXBuildFile; productRef = D818BD012FD163FE0028C860 /* ThoughtsCore */; }; D8296CEE2E29EBBF005088B6 /* ThoughtsCore in Frameworks */ = {isa = PBXBuildFile; productRef = D8296CED2E29EBBF005088B6 /* ThoughtsCore */; }; D87707B52C01592400362786 /* HotKey in Frameworks */ = {isa = PBXBuildFile; productRef = D87707B42C01592400362786 /* HotKey */; }; D8C283E92BD9954F00161C82 /* HashRainbow in Frameworks */ = {isa = PBXBuildFile; productRef = D8C283E82BD9954F00161C82 /* HashRainbow */; }; @@ -32,6 +33,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + D818BCF62FD1616E0028C860 /* Thoughts-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Thoughts-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D8296CEB2E29EB48005088B6 /* ThoughtsCore */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = ThoughtsCore; sourceTree = ""; }; D852AEFE2B6027CA00B77A3D /* Thoughts.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Thoughts.app; sourceTree = BUILT_PRODUCTS_DIR; }; D852AF0F2B6027CD00B77A3D /* ThoughtsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ThoughtsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -52,9 +54,18 @@ D8184A6F2E1D278900D46CE7 /* ThoughtsUITests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = ThoughtsUITests; sourceTree = ""; }; D8184A782E1D278C00D46CE7 /* ThoughtsTests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = ThoughtsTests; sourceTree = ""; }; D8184ABB2E1D27A200D46CE7 /* Thoughts */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (D8184AED2E1D27A200D46CE7 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = Thoughts; sourceTree = ""; }; + D818BCF72FD1616E0028C860 /* Thoughts-iOS */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = "Thoughts-iOS"; sourceTree = ""; }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ + D818BCF32FD1616E0028C860 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D818BD022FD163FE0028C860 /* ThoughtsCore in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D852AEFB2B6027CA00B77A3D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -91,6 +102,7 @@ D8184ABB2E1D27A200D46CE7 /* Thoughts */, D8184A782E1D278C00D46CE7 /* ThoughtsTests */, D8184A6F2E1D278900D46CE7 /* ThoughtsUITests */, + D818BCF72FD1616E0028C860 /* Thoughts-iOS */, D852AEFF2B6027CA00B77A3D /* Products */, D8C283EA2BD9955D00161C82 /* Frameworks */, ); @@ -102,6 +114,7 @@ D852AEFE2B6027CA00B77A3D /* Thoughts.app */, D852AF0F2B6027CD00B77A3D /* ThoughtsTests.xctest */, D852AF192B6027CD00B77A3D /* ThoughtsUITests.xctest */, + D818BCF62FD1616E0028C860 /* Thoughts-iOS.app */, ); name = Products; sourceTree = ""; @@ -116,6 +129,29 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + D818BCF52FD1616E0028C860 /* Thoughts-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D818BCFE2FD1616F0028C860 /* Build configuration list for PBXNativeTarget "Thoughts-iOS" */; + buildPhases = ( + D818BCF22FD1616E0028C860 /* Sources */, + D818BCF32FD1616E0028C860 /* Frameworks */, + D818BCF42FD1616E0028C860 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + D818BCF72FD1616E0028C860 /* Thoughts-iOS */, + ); + name = "Thoughts-iOS"; + packageProductDependencies = ( + D818BD012FD163FE0028C860 /* ThoughtsCore */, + ); + productName = "Thoughts-iOS"; + productReference = D818BCF62FD1616E0028C860 /* Thoughts-iOS.app */; + productType = "com.apple.product-type.application"; + }; D852AEFD2B6027CA00B77A3D /* Thoughts */ = { isa = PBXNativeTarget; buildConfigurationList = D852AF232B6027CD00B77A3D /* Build configuration list for PBXNativeTarget "Thoughts" */; @@ -192,9 +228,12 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1520; + LastSwiftUpdateCheck = 2650; LastUpgradeCheck = 2650; TargetAttributes = { + D818BCF52FD1616E0028C860 = { + CreatedOnToolsVersion = 26.5; + }; D852AEFD2B6027CA00B77A3D = { CreatedOnToolsVersion = 15.2; }; @@ -230,11 +269,19 @@ D852AEFD2B6027CA00B77A3D /* Thoughts */, D852AF0E2B6027CD00B77A3D /* ThoughtsTests */, D852AF182B6027CD00B77A3D /* ThoughtsUITests */, + D818BCF52FD1616E0028C860 /* Thoughts-iOS */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + D818BCF42FD1616E0028C860 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D852AEFC2B6027CA00B77A3D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -259,6 +306,13 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + D818BCF22FD1616E0028C860 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D852AEFA2B6027CA00B77A3D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -296,6 +350,87 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + D818BCFF2FD1616F0028C860 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QS82QFHKWB; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = Thoughts; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Thoughts needs access to your location to save it in notes metadata."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = uk.co.jbmorley.thoughts.apps.appstore; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + D818BD002FD1616F0028C860 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QS82QFHKWB; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = Thoughts; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Thoughts needs access to your location to save it in notes metadata."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = uk.co.jbmorley.thoughts.apps.appstore; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; D852AF212B6027CD00B77A3D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -565,6 +700,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + D818BCFE2FD1616F0028C860 /* Build configuration list for PBXNativeTarget "Thoughts-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D818BCFF2FD1616F0028C860 /* Debug */, + D818BD002FD1616F0028C860 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; D852AEF92B6027CA00B77A3D /* Build configuration list for PBXProject "Thoughts" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -638,6 +782,10 @@ isa = XCSwiftPackageProductDependency; productName = FrontmatterSwift; }; + D818BD012FD163FE0028C860 /* ThoughtsCore */ = { + isa = XCSwiftPackageProductDependency; + productName = ThoughtsCore; + }; D8296CED2E29EBBF005088B6 /* ThoughtsCore */ = { isa = XCSwiftPackageProductDependency; productName = ThoughtsCore; diff --git a/macos/ThoughtsCore/Package.swift b/macos/ThoughtsCore/Package.swift index 4f8387d..2d25302 100644 --- a/macos/ThoughtsCore/Package.swift +++ b/macos/ThoughtsCore/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.2 import PackageDescription @@ -6,7 +6,7 @@ let package = Package( name: "ThoughtsCore", platforms: [ .macOS(.v14), - .iOS(.v18), + .iOS(.v26), ], products: [ .library( diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/FileManager.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/FileManager.swift index ad45d23..a1b1cab 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/FileManager.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/FileManager.swift @@ -89,4 +89,8 @@ extension FileManager { return files } + public func fileExists(at url: URL) -> Bool { + return fileExists(atPath: url.path) + } + } diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/Sequence.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/Sequence.swift index 46b3b8e..468922d 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/Sequence.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Extensions/Sequence.swift @@ -46,7 +46,7 @@ let secondaryBackground = NSColor.windowBackgroundColor let lighterColor = NSColor.lightGray let textColor = NSColor.labelColor #else -let defaultEditorFont = UIFont.preferredFont(forTextStyle: .body) +let defaultEditorFont = UIFont.monospacedSystemFont(ofSize: UIFont.systemFontSize, weight: .regular) let codeFont = UIFont.monospacedSystemFont(ofSize: UIFont.systemFontSize, weight: .thin) let headingTraits: UIFontDescriptor.SymbolicTraits = [.traitBold, .traitExpanded] let boldTraits: UIFontDescriptor.SymbolicTraits = [.traitBold] diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift index e059f67..b997e6e 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift @@ -38,6 +38,12 @@ public protocol ApplicationModelDelegate: AnyObject { } +extension URL { + + static let rootBookmarkURL: URL = URL.applicationSupportDirectory.appendingPathComponent("RootBookmark") + +} + @Observable public class ApplicationModel: NSObject, @unchecked Sendable { @@ -46,6 +52,8 @@ public class ApplicationModel: NSObject, @unchecked Sendable { case shouldSaveLocation case introductionVersion case suppressUpdateCheck + case lastBackgroundDate + case lastDocumentDate } public static let introductionVersion = 1 @@ -56,11 +64,33 @@ public class ApplicationModel: NSObject, @unchecked Sendable { @MainActor public var rootURL: URL? { didSet { + + #if os(iOS) + if let rootURL { + guard rootURL.startAccessingSecurityScopedResource() else { + return + } + } + #endif + rootURLChanges.send(rootURL) reloadLibrary() do { #if os(macOS) try keyedDefaults.set(securityScopedURL: rootURL, forKey: .rootURL) +#else + guard let rootURL else { + // TODO: Clean up. + return + } + + guard rootURL.startAccessingSecurityScopedResource() else { + return + } + let data = try rootURL.bookmarkData(options: .suitableForBookmarkFile, + includingResourceValuesForKeys: nil, + relativeTo: nil) + try URL.writeBookmarkData(data, to: .rootBookmarkURL) #endif } catch { print("Failed to save bookmark data with error \(error).") @@ -92,8 +122,21 @@ public class ApplicationModel: NSObject, @unchecked Sendable { } } + @MainActor public var lastBackgroundDate: Date { + didSet { + keyedDefaults.set(lastBackgroundDate, forKey: .lastBackgroundDate) + } + } + + @MainActor public var lastDocumentDate: Date? { + didSet { + keyedDefaults.set(lastDocumentDate, forKey: .lastDocumentDate) + } + } + @MainActor public var document = Document() { didSet { + lastDocumentDate = document.date documentChanges.send(document) } } @@ -133,17 +176,54 @@ public class ApplicationModel: NSObject, @unchecked Sendable { private let storeUpdateChecker = StoreUpdateChecker() @MainActor public override init() { + + // Ensure the Application Support directory exists. + let fileManager = FileManager.default + if !fileManager.fileExists(at: .applicationSupportDirectory) { + try! FileManager.default.createDirectory(at: .applicationSupportDirectory, withIntermediateDirectories: true) + } + + // Load the root URL. #if os(macOS) - rootURL = try? keyedDefaults.securityScopedURL(forKey: .rootURL) + _rootURL = try? keyedDefaults.securityScopedURL(forKey: .rootURL) +#else + if fileManager.fileExists(at: .rootBookmarkURL), + let data = try? URL.bookmarkData(withContentsOf: .rootBookmarkURL) { + var isStale = true + _rootURL = try? URL(resolvingBookmarkData: data, bookmarkDataIsStale: &isStale) + _ = _rootURL?.startAccessingSecurityScopedResource() + } #endif + + // Load the other settings. shouldSaveLocation = keyedDefaults.bool(forKey: .shouldSaveLocation, default: false) introductionVersion = keyedDefaults.integer(forKey: .introductionVersion, default: 0) suppressUpdateCheck = keyedDefaults.bool(forKey: .suppressUpdateCheck, default: false) + lastBackgroundDate = keyedDefaults.object(forKey: .lastBackgroundDate) as? Date ?? Date.distantFuture + lastDocumentDate = keyedDefaults.object(forKey: .lastDocumentDate) as? Date + super.init() rootURLChanges.send(rootURL) locationManager.delegate = self locationManager.pausesLocationUpdatesAutomatically = false storeUpdateChecker.delegate = self + + // Reload the last document if necessary. + if let lastDocumentDate, + let fileURL = rootURL?.appendingPathComponent(Self.filename(for: lastDocumentDate)), + let document = Document(contentsOf: fileURL) + { + self.document = document + } else { + new() + } + } + + public static func filename(for date: Date) -> String { + let formatter = DateFormatter() + formatter.dateFormat = "yyyy-MM-dd-HH-mm-ss" + formatter.timeZone = .gmt + return formatter.string(from: date).appending(".md") } @MainActor public func start() { @@ -164,7 +244,8 @@ public class ApplicationModel: NSObject, @unchecked Sendable { // Write the changes to disk. do { - try document.sync(to: rootURL) + let fileURL = rootURL.appendingPathComponent(Self.filename(for: document.date)) + try document.sync(to: fileURL) } catch { print("Failed to save file with error '\(error)'.") } diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/Document.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/Document.swift index 6c1df31..61d1009 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/Document.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/Document.swift @@ -23,8 +23,11 @@ import Foundation import Yams +import FrontmatterSwift + public struct Document { + // TODO: Store the timezone. public var date: Date public var content: String public var tags: [String] @@ -34,6 +37,39 @@ public struct Document { return content.isEmpty } + public init?(contentsOf url: URL) { + + guard FileManager.default.fileExists(at: url) else { + return nil + } + + var options = DecodeOptions() + options.detectDates = false + guard let frontmatterDocument = try? FrontmatterDocument(contentsOf: url, options: options) else { + return nil + } + + // TODO: Location should be optional. + // TODO: We should preserve other metadata. + // TODO: Custom date handling might not be necessary with `FrontmatterDocument`. + guard let tags = frontmatterDocument.metadata["tags"] as? [String], + let location = frontmatterDocument.metadata["location"] as? [String: Any], + let locality = location["locality"] as? String, + let name = location["name"] as? String, + let longitude = location["longitude"] as? CLLocationDegrees, + let latitude = location["latitude"] as? CLLocationDegrees, + let dateString = frontmatterDocument.metadata["date"] as? String, + let date = try? RegionalDate(string: dateString) + else { + return nil + } + + self.location = LocationDetails(latitude: latitude, longitude: longitude, name: name, locality: locality) + self.date = date.date + self.tags = tags + self.content = frontmatterDocument.content + } + public init(date: Date = Date()) { self.date = date self.content = "" @@ -54,12 +90,7 @@ public struct Document { } } - public func sync(to rootURL: URL) throws { - let formatter = DateFormatter() - formatter.dateFormat = "yyyy-MM-dd-HH-mm-ss" - formatter.timeZone = .gmt - let filename = formatter.string(from: date) - let url = rootURL.appendingPathComponent(filename).appendingPathExtension("md") + public func sync(to url: URL) throws { if isEmpty { let fileManager = FileManager.default if fileManager.fileExists(atPath: url.path) { diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/RegionalDate.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/RegionalDate.swift index f417109..55a421d 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/RegionalDate.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/RegionalDate.swift @@ -43,10 +43,7 @@ public struct RegionalDate: Codable, Equatable { self.timeZone = timeZone } - public init(from decoder: any Decoder) throws { - let container = try decoder.singleValueContainer() - let string = try container.decode(String.self) - + public init(string: String) throws { let dateFormatter = ISO8601DateFormatter() guard let date = dateFormatter.date(from: string) else { throw ThoughtsError.encodingError @@ -55,6 +52,12 @@ public struct RegionalDate: Codable, Equatable { self.timeZone = TimeZone(iso8601: string) ?? .gmt } + public init(from decoder: any Decoder) throws { + let container = try decoder.singleValueContainer() + let string = try container.decode(String.self) + try self.init(string: string) + } + public func encode(to encoder: any Encoder) throws { let dateFormatter = ISO8601DateFormatter() dateFormatter.timeZone = timeZone diff --git a/macos/Thoughts/Views/Compose/ComposeView.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ComposeView.swift similarity index 96% rename from macos/Thoughts/Views/Compose/ComposeView.swift rename to macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ComposeView.swift index cf0672a..0719978 100644 --- a/macos/Thoughts/Views/Compose/ComposeView.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ComposeView.swift @@ -24,8 +24,6 @@ import Combine import HighlightedTextEditor import TagField -import ThoughtsCore - struct ComposeView: View { enum Focus { @@ -55,8 +53,8 @@ struct ComposeView: View { @Bindable var applicationModel = applicationModel VStack(spacing: 0) { HighlightedTextEditor(text: $applicationModel.document.content, highlightRules: .thoughtsMarkdown) - .frame(minWidth: 400) - .edgesIgnoringSafeArea(.all) +// .frame(minWidth: 400) +// .edgesIgnoringSafeArea(.all) .focused($focus, equals: .text) Divider() TagField("Add tags...", tokens: $applicationModel.document.tags) { candidate, tags in @@ -81,7 +79,7 @@ struct ComposeView: View { .frame(maxWidth: .infinity, maxHeight: .infinity) .background(.background) .navigationTitle(applicationModel.document.date.formatted(date: .complete, time: .standard)) - .navigationSubtitle(applicationModel.document.location?.summary ?? "") + .navigationSubtitle(applicationModel.document.location?.summary ?? "-") .onOpenURL { url in switch url { case .compose: diff --git a/macos/Thoughts/Views/Compose/ContentView.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift similarity index 68% rename from macos/Thoughts/Views/Compose/ContentView.swift rename to macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift index 367e85e..38d6d15 100644 --- a/macos/Thoughts/Views/Compose/ContentView.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift @@ -20,9 +20,9 @@ import SwiftUI -import ThoughtsCore +public struct ContentView: View { -struct ContentView: View { + @State var showFileImporter = false var applicationModel: ApplicationModel @@ -38,7 +38,11 @@ struct ContentView: View { } } - var body: some View { + public init(applicationModel: ApplicationModel) { + self.applicationModel = applicationModel + } + + public var body: some View { HStack { if applicationModel.rootURL != nil { ComposeView(applicationModel: applicationModel) @@ -47,10 +51,14 @@ struct ContentView: View { Label("No Folder Set", systemImage: "folder") } description: { Text("Select a folder to store your notes.") - Button { - _ = applicationModel.setRootURL() - } label: { - Text("Set Notes Folder") + Button("Set Notes Folder") { + showFileImporter = true + } + .fileImporter(isPresented: $showFileImporter, allowedContentTypes: [.folder]) { result in + guard case .success(let url) = result else { + return + } + applicationModel.rootURL = url } } } @@ -62,13 +70,28 @@ struct ContentView: View { } label: { let hasLocation = applicationModel.document.location != nil Label("Use Location", systemImage: systemImage) - .foregroundColor(hasLocation ? .accent : nil) + .foregroundColor(hasLocation ? .accentColor : nil) .symbolEffect(.pulse, isActive: applicationModel.shouldSaveLocation && applicationModel.document.location == nil) } .disabled(applicationModel.rootURL == nil) } +#if os(iOS) + ToolbarItem { + Button { + applicationModel.new() + } label: { + Label("New", systemImage: "document.badge.plus") + } + } + ToolbarItem(placement: .navigationBarLeading) { + Button { + + } label: { + Label("Settings", systemImage: "gear") + } + } +#endif } } - } diff --git a/macos/dependencies/FrontmatterSwift b/macos/dependencies/FrontmatterSwift index 0d5d493..6e5b062 160000 --- a/macos/dependencies/FrontmatterSwift +++ b/macos/dependencies/FrontmatterSwift @@ -1 +1 @@ -Subproject commit 0d5d49396109b2a4f0f5c52aec993ef50b611ded +Subproject commit 6e5b06291bee4a0b8ffdd2b992479ee8bbbc7fde From 7e1b110c81d3527ddcb80aad52d458df5d1f855d Mon Sep 17 00:00:00 2001 From: Jason Morley Date: Sat, 6 Jun 2026 11:20:06 +0900 Subject: [PATCH 2/6] Simplify the code a little --- macos/Thoughts-iOS/ThoughtsApp.swift | 46 ------------------- .../Thoughts-iOS/Views/IntroductionView.swift | 40 ++++++++++++++++ 2 files changed, 40 insertions(+), 46 deletions(-) create mode 100644 macos/Thoughts-iOS/Views/IntroductionView.swift diff --git a/macos/Thoughts-iOS/ThoughtsApp.swift b/macos/Thoughts-iOS/ThoughtsApp.swift index af2d60c..a15e81b 100644 --- a/macos/Thoughts-iOS/ThoughtsApp.swift +++ b/macos/Thoughts-iOS/ThoughtsApp.swift @@ -22,25 +22,6 @@ import SwiftUI import ThoughtsCore - -struct IntroductionView: View { - - @Environment(\.dismiss) private var dismiss - - let applicationModel: ApplicationModel - - var body: some View { - Button("Done") { - applicationModel.introductionVersion = ApplicationModel.introductionVersion - applicationModel.new() - dismiss() - } - .navigationTitle("Introduction") - } - -} - - @main struct ThoughtsApp: App { @@ -56,41 +37,16 @@ struct ThoughtsApp: App { class ModelDelegate: NSObject, ApplicationModelDelegate { func showIntroduction(applicationModel: ApplicationModel) { -// let window = NSIntroductionWindow(applicationModel: applicationModel) -// window.center() -// window.makeKeyAndOrderFront(nil) } func showUpdateAlert(applicationModel: ApplicationModel) { -// let alert = NSAlert() -// alert.alertStyle = .informational -// alert.messageText = "Update Available" -// alert.informativeText = "Thoughts is no longer being updated on the Mac App Store. Please download the latest update from the website." -// alert.showsSuppressionButton = true -// _ = alert.addButton(withTitle: "OK") -// alert.runModal() -// let suppressionState = alert.suppressionButton?.state as? NSControl.StateValue ?? .off -// applicationModel.suppressUpdateCheck = suppressionState == .on } func setRootURL(applicationModel: ApplicationModel) -> Bool { -// dispatchPrecondition(condition: .onQueue(.main)) -// let openPanel = NSOpenPanel() -// openPanel.canChooseFiles = false -// openPanel.canChooseDirectories = true -// openPanel.canCreateDirectories = true -// guard openPanel.runModal() == NSApplication.ModalResponse.OK, -// let url = openPanel.url else { -// return false -// } -// applicationModel.rootURL = url -// applicationModel.document = Document() -// return true return false } func showThought(applicationModel: ApplicationModel) { -// NSWorkspace.shared.open(.compose) } } @@ -109,8 +65,6 @@ struct ThoughtsApp: App { self.applicationModel = applicationModel self.modelDelegate = modelDelegate self.applicationModel.start() - -// self.applicationModel.new() } var body: some Scene { diff --git a/macos/Thoughts-iOS/Views/IntroductionView.swift b/macos/Thoughts-iOS/Views/IntroductionView.swift new file mode 100644 index 0000000..7a29806 --- /dev/null +++ b/macos/Thoughts-iOS/Views/IntroductionView.swift @@ -0,0 +1,40 @@ +// Copyright (c) 2021-2026 Jason Morley +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +import SwiftUI +import ThoughtsCore + +struct IntroductionView: View { + + @Environment(\.dismiss) private var dismiss + + let applicationModel: ApplicationModel + + var body: some View { + Button("Done") { + applicationModel.introductionVersion = ApplicationModel.introductionVersion + applicationModel.new() + dismiss() + } + .navigationTitle("Introduction") + .interactiveDismissDisabled() + } + +} From dfaf64c92cadf2eb3cc95550731a1732e9a47f93 Mon Sep 17 00:00:00 2001 From: Jason Morley Date: Sat, 6 Jun 2026 11:40:48 +0900 Subject: [PATCH 3/6] Remove legacy setRootURL mechanism --- macos/Thoughts-iOS/ThoughtsApp.swift | 5 +- macos/Thoughts/ThoughtsApp.swift | 15 ------ .../Views/Introduction/IntroductionView.swift | 8 ++-- .../Introduction/NSIntroductionWindow.swift | 3 +- .../ThoughtsCore/Model/ApplicationModel.swift | 15 +----- .../Views/Compose/ContentView.swift | 10 +--- .../Views/Compose/SetNotesFolderButton.swift | 48 +++++++++++++++++++ 7 files changed, 57 insertions(+), 47 deletions(-) create mode 100644 macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/SetNotesFolderButton.swift diff --git a/macos/Thoughts-iOS/ThoughtsApp.swift b/macos/Thoughts-iOS/ThoughtsApp.swift index a15e81b..4d71b5d 100644 --- a/macos/Thoughts-iOS/ThoughtsApp.swift +++ b/macos/Thoughts-iOS/ThoughtsApp.swift @@ -42,10 +42,6 @@ struct ThoughtsApp: App { func showUpdateAlert(applicationModel: ApplicationModel) { } - func setRootURL(applicationModel: ApplicationModel) -> Bool { - return false - } - func showThought(applicationModel: ApplicationModel) { } @@ -81,6 +77,7 @@ struct ThoughtsApp: App { } } } + .environment(applicationModel) } .onChange(of: applicationModel.didShowIntroduction, initial: true) { _, didShowIntroduction in guard !didShowIntroduction else { diff --git a/macos/Thoughts/ThoughtsApp.swift b/macos/Thoughts/ThoughtsApp.swift index 1748ddb..637099d 100644 --- a/macos/Thoughts/ThoughtsApp.swift +++ b/macos/Thoughts/ThoughtsApp.swift @@ -53,21 +53,6 @@ struct ThoughtsApp: App { applicationModel.suppressUpdateCheck = suppressionState == .on } - func setRootURL(applicationModel: ApplicationModel) -> Bool { - dispatchPrecondition(condition: .onQueue(.main)) - let openPanel = NSOpenPanel() - openPanel.canChooseFiles = false - openPanel.canChooseDirectories = true - openPanel.canCreateDirectories = true - guard openPanel.runModal() == NSApplication.ModalResponse.OK, - let url = openPanel.url else { - return false - } - applicationModel.rootURL = url - applicationModel.document = Document() - return true - } - func showThought(applicationModel: ApplicationModel) { NSWorkspace.shared.open(.compose) } diff --git a/macos/Thoughts/Views/Introduction/IntroductionView.swift b/macos/Thoughts/Views/Introduction/IntroductionView.swift index 5ed11fb..11be41a 100644 --- a/macos/Thoughts/Views/Introduction/IntroductionView.swift +++ b/macos/Thoughts/Views/Introduction/IntroductionView.swift @@ -78,11 +78,9 @@ struct IntroductionView: View { FinderPreview() } } actions: { - Button("Set Destination Folder") { - if applicationModel.setRootURL() { - withAnimation { - self.page = .location - } + SetNotesFolderButton { + withAnimation { + self.page = .location } } .keyboardShortcut(.defaultAction) diff --git a/macos/Thoughts/Views/Introduction/NSIntroductionWindow.swift b/macos/Thoughts/Views/Introduction/NSIntroductionWindow.swift index 10764ab..07544f3 100644 --- a/macos/Thoughts/Views/Introduction/NSIntroductionWindow.swift +++ b/macos/Thoughts/Views/Introduction/NSIntroductionWindow.swift @@ -25,7 +25,8 @@ import ThoughtsCore class NSIntroductionWindow: NSWindow { convenience init(applicationModel: ApplicationModel) { - self.init(contentViewController: NSHostingController(rootView: IntroductionView(applicationModel: applicationModel))) + self.init(contentViewController: NSHostingController(rootView: IntroductionView(applicationModel: applicationModel) + .environment(applicationModel))) self.title = "Welcome to Thoughts" self.titleVisibility = .hidden self.titlebarAppearsTransparent = true diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift index b997e6e..e114e04 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift @@ -33,7 +33,6 @@ public protocol ApplicationModelDelegate: AnyObject { func showIntroduction(applicationModel: ApplicationModel) func showUpdateAlert(applicationModel: ApplicationModel) - func setRootURL(applicationModel: ApplicationModel) -> Bool func showThought(applicationModel: ApplicationModel) } @@ -64,15 +63,9 @@ public class ApplicationModel: NSObject, @unchecked Sendable { @MainActor public var rootURL: URL? { didSet { - - #if os(iOS) - if let rootURL { - guard rootURL.startAccessingSecurityScopedResource() else { - return - } + guard rootURL?.startAccessingSecurityScopedResource() ?? false else { + return } - #endif - rootURLChanges.send(rootURL) reloadLibrary() do { @@ -330,10 +323,6 @@ public class ApplicationModel: NSObject, @unchecked Sendable { library?.start() } - @MainActor public func setRootURL() -> Bool { - return delegate?.setRootURL(applicationModel: self) ?? false - } - } extension ApplicationModel: CLLocationManagerDelegate { diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift index 38d6d15..fdb55e6 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift @@ -51,15 +51,7 @@ public struct ContentView: View { Label("No Folder Set", systemImage: "folder") } description: { Text("Select a folder to store your notes.") - Button("Set Notes Folder") { - showFileImporter = true - } - .fileImporter(isPresented: $showFileImporter, allowedContentTypes: [.folder]) { result in - guard case .success(let url) = result else { - return - } - applicationModel.rootURL = url - } + SetNotesFolderButton() } } } diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/SetNotesFolderButton.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/SetNotesFolderButton.swift new file mode 100644 index 0000000..c5bd46b --- /dev/null +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/SetNotesFolderButton.swift @@ -0,0 +1,48 @@ +// Copyright (c) 2021-2026 Jason Morley +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +import SwiftUI + +public struct SetNotesFolderButton: View { + + @Environment(ApplicationModel.self) private var applicationModel + + @State var showFileImporter = false + + let completion: () -> Void + + public init(completion: @escaping () -> Void = {}) { + self.completion = completion + } + + public var body: some View { + Button("Set Notes Folder") { + showFileImporter = true + } + .fileImporter(isPresented: $showFileImporter, allowedContentTypes: [.folder]) { result in + guard case .success(let url) = result else { + return + } + applicationModel.rootURL = url + completion() + } + } + +} From eda89bf0ff6df3edf86686328b4cd49967753b1c Mon Sep 17 00:00:00 2001 From: Jason Morley Date: Sat, 6 Jun 2026 11:45:19 +0900 Subject: [PATCH 4/6] Inject the application model --- macos/Thoughts/Views/Compose/ComposeWindow.swift | 4 +--- .../Sources/ThoughtsCore/Views/Compose/ContentView.swift | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/macos/Thoughts/Views/Compose/ComposeWindow.swift b/macos/Thoughts/Views/Compose/ComposeWindow.swift index e4bb55f..ffc3752 100644 --- a/macos/Thoughts/Views/Compose/ComposeWindow.swift +++ b/macos/Thoughts/Views/Compose/ComposeWindow.swift @@ -24,13 +24,11 @@ import ThoughtsCore struct ComposeWindow: Scene { - @Environment(ApplicationModel.self) var applicationModel: ApplicationModel - static let windowID = "compose-window" var body: some Scene { Window("Thoughts", id: Self.windowID) { - ContentView(applicationModel: applicationModel) + ContentView() } } diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift index fdb55e6..7b1681a 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Views/Compose/ContentView.swift @@ -24,7 +24,7 @@ public struct ContentView: View { @State var showFileImporter = false - var applicationModel: ApplicationModel + @Environment(ApplicationModel.self) private var applicationModel @MainActor var systemImage: String { if applicationModel.shouldSaveLocation { @@ -38,8 +38,7 @@ public struct ContentView: View { } } - public init(applicationModel: ApplicationModel) { - self.applicationModel = applicationModel + public init() { } public var body: some View { From 580d9ff20c3f949a00adf5272c601f88b9cd1b8a Mon Sep 17 00:00:00 2001 From: Jason Morley Date: Sun, 7 Jun 2026 00:33:56 +0900 Subject: [PATCH 5/6] Tidy up URL setter --- .../ThoughtsCore/Model/ApplicationModel.swift | 36 +++++++++---------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift index e114e04..af23f3d 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift @@ -63,30 +63,26 @@ public class ApplicationModel: NSObject, @unchecked Sendable { @MainActor public var rootURL: URL? { didSet { - guard rootURL?.startAccessingSecurityScopedResource() ?? false else { - return - } - rootURLChanges.send(rootURL) - reloadLibrary() - do { -#if os(macOS) - try keyedDefaults.set(securityScopedURL: rootURL, forKey: .rootURL) -#else - guard let rootURL else { - // TODO: Clean up. - return - } - + if let rootURL { guard rootURL.startAccessingSecurityScopedResource() else { return } - let data = try rootURL.bookmarkData(options: .suitableForBookmarkFile, - includingResourceValuesForKeys: nil, - relativeTo: nil) - try URL.writeBookmarkData(data, to: .rootBookmarkURL) + rootURLChanges.send(rootURL) + reloadLibrary() + do { +#if os(macOS) + try keyedDefaults.set(securityScopedURL: rootURL, forKey: .rootURL) +#else + let data = try rootURL.bookmarkData(options: .suitableForBookmarkFile, + includingResourceValuesForKeys: nil, + relativeTo: nil) + try URL.writeBookmarkData(data, to: .rootBookmarkURL) #endif - } catch { - print("Failed to save bookmark data with error \(error).") + } catch { + print("Failed to save bookmark data with error \(error).") + } + } else { + // TODO: Remove the default. } } } From 14255f8f02b10e782b91eb3d9aba8756464d79c8 Mon Sep 17 00:00:00 2001 From: Jason Morley Date: Sun, 7 Jun 2026 00:35:15 +0900 Subject: [PATCH 6/6] Further setter tidy-up --- .../Sources/ThoughtsCore/Model/ApplicationModel.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift index af23f3d..1c3bab1 100644 --- a/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift +++ b/macos/ThoughtsCore/Sources/ThoughtsCore/Model/ApplicationModel.swift @@ -73,10 +73,10 @@ public class ApplicationModel: NSObject, @unchecked Sendable { #if os(macOS) try keyedDefaults.set(securityScopedURL: rootURL, forKey: .rootURL) #else - let data = try rootURL.bookmarkData(options: .suitableForBookmarkFile, - includingResourceValuesForKeys: nil, - relativeTo: nil) - try URL.writeBookmarkData(data, to: .rootBookmarkURL) + try URL.writeBookmarkData(try rootURL.bookmarkData(options: .suitableForBookmarkFile, + includingResourceValuesForKeys: nil, + relativeTo: nil), + to: .rootBookmarkURL) #endif } catch { print("Failed to save bookmark data with error \(error).")