diff --git a/.gitignore b/.gitignore index a218610..eb83502 100644 --- a/.gitignore +++ b/.gitignore @@ -94,4 +94,4 @@ iOSInjectionProject/ Store/ # Secret -Threaded/Secret.plist +Bubble/Secret.plist diff --git a/Threaded.xcodeproj/project.pbxproj b/Bubble.xcodeproj/project.pbxproj similarity index 94% rename from Threaded.xcodeproj/project.pbxproj rename to Bubble.xcodeproj/project.pbxproj index 2476e3f..99ed154 100644 --- a/Threaded.xcodeproj/project.pbxproj +++ b/Bubble.xcodeproj/project.pbxproj @@ -165,11 +165,11 @@ B9BF54072B6B6823004B24E7 /* KeychainSwift in Frameworks */ = {isa = PBXBuildFile; productRef = B9BF54062B6B6823004B24E7 /* KeychainSwift */; }; B9C20D0B2B921C78004DC9B3 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9C20D0A2B921C78004DC9B3 /* WidgetKit.framework */; }; B9C20D0D2B921C78004DC9B3 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9C20D0C2B921C78004DC9B3 /* SwiftUI.framework */; }; - B9C20D102B921C78004DC9B3 /* ThreadedWidgetsBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C20D0F2B921C78004DC9B3 /* ThreadedWidgetsBundle.swift */; }; + B9C20D102B921C78004DC9B3 /* BubbleWidgetsBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C20D0F2B921C78004DC9B3 /* BubbleWidgetsBundle.swift */; }; B9C20D122B921C78004DC9B3 /* FollowCountWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C20D112B921C78004DC9B3 /* FollowCountWidget.swift */; }; B9C20D142B921C78004DC9B3 /* AppIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C20D132B921C78004DC9B3 /* AppIntent.swift */; }; B9C20D162B921C7B004DC9B3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B9C20D152B921C7B004DC9B3 /* Assets.xcassets */; }; - B9C20D1A2B921C7B004DC9B3 /* ThreadedWidgetsExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = B9C20D092B921C78004DC9B3 /* ThreadedWidgetsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + B9C20D1A2B921C7B004DC9B3 /* BubbleWidgetsExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = B9C20D092B921C78004DC9B3 /* BubbleWidgetsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; B9C20D342B9229EC004DC9B3 /* Client.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB949A2B2EF09A00D81C07 /* Client.swift */; }; B9C20D372B9229EC004DC9B3 /* AppInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB94A12B2EF24A00D81C07 /* AppInfo.swift */; }; B9C20D3D2B9229EC004DC9B3 /* Emoji.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB94872B2E223E00D81C07 /* Emoji.swift */; }; @@ -183,13 +183,13 @@ B9D9C6C72B6A590F00C26A41 /* ProfilePicture.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9D9C6C62B6A590F00C26A41 /* ProfilePicture.swift */; }; B9DC69292B78D9A500E625B9 /* SearchResultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9DC69282B78D9A500E625B9 /* SearchResultView.swift */; }; B9DC692D2B79362700E625B9 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DC692C2B79362700E625B9 /* StoreKit.framework */; }; - B9DC69302B79378400E625B9 /* ThreadedPlus.storekit in Resources */ = {isa = PBXBuildFile; fileRef = B9DC692F2B79378400E625B9 /* ThreadedPlus.storekit */; }; + B9DC69302B79378400E625B9 /* BubblePlus.storekit in Resources */ = {isa = PBXBuildFile; fileRef = B9DC692F2B79378400E625B9 /* BubblePlus.storekit */; }; B9EBE8562B47256900FB594D /* PostAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9EBE8552B47256900FB594D /* PostAttachment.swift */; }; B9EBE8582B474FD600FB594D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9EBE8572B474FD600FB594D /* AppDelegate.swift */; }; B9F8FA162B5D3AC30044DAB4 /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8FA152B5D3AC30044DAB4 /* SafariView.swift */; }; B9FA6E752B82367B00D63E30 /* AttachmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FA6E742B82367B00D63E30 /* AttachmentView.swift */; }; B9FA6E772B82788A00D63E30 /* AccountRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FA6E762B82788A00D63E30 /* AccountRow.swift */; }; - B9FB945B2B2DEECE00D81C07 /* ThreadedApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB945A2B2DEECE00D81C07 /* ThreadedApp.swift */; }; + B9FB945B2B2DEECE00D81C07 /* BubbleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB945A2B2DEECE00D81C07 /* BubbleApp.swift */; }; B9FB945D2B2DEECE00D81C07 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB945C2B2DEECE00D81C07 /* ContentView.swift */; }; B9FB94612B2DEECF00D81C07 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B9FB94602B2DEECF00D81C07 /* Assets.xcassets */; }; B9FB94642B2DEECF00D81C07 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B9FB94632B2DEECF00D81C07 /* Preview Assets.xcassets */; }; @@ -216,7 +216,7 @@ B9FB94AA2B2F009F00D81C07 /* AuthenticationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9FB94A92B2F009F00D81C07 /* AuthenticationServices.framework */; }; B9FB94AD2B2F009F00D81C07 /* AuthenticationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB94AC2B2F009F00D81C07 /* AuthenticationViewController.swift */; }; B9FB94B02B2F009F00D81C07 /* AuthenticationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B9FB94AE2B2F009F00D81C07 /* AuthenticationViewController.xib */; }; - B9FB94B42B2F009F00D81C07 /* ThreadedAuthService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = B9FB94A72B2F009F00D81C07 /* ThreadedAuthService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + B9FB94B42B2F009F00D81C07 /* BubbleAuthService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = B9FB94A72B2F009F00D81C07 /* BubbleAuthService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; B9FB94BC2B2F035500D81C07 /* Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB94BB2B2F035500D81C07 /* Tag.swift */; }; B9FD18982C55108F00A74A71 /* EditProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FD18972C55108F00A74A71 /* EditProfileView.swift */; }; B9FD189A2C57DE9200A74A71 /* IconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FD18992C57DE9200A74A71 /* IconView.swift */; }; @@ -256,8 +256,8 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - B9FB94B42B2F009F00D81C07 /* ThreadedAuthService.appex in Embed Foundation Extensions */, - B9C20D1A2B921C7B004DC9B3 /* ThreadedWidgetsExtension.appex in Embed Foundation Extensions */, + B9FB94B42B2F009F00D81C07 /* BubbleAuthService.appex in Embed Foundation Extensions */, + B9C20D1A2B921C7B004DC9B3 /* BubbleWidgetsExtension.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -319,16 +319,16 @@ B9BED5152B5D5E6500C9B715 /* PostInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostInteractor.swift; sourceTree = ""; }; B9BED5172B5D649C00C9B715 /* PostMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostMenu.swift; sourceTree = ""; }; B9BED5192B5D662D00C9B715 /* ShareSheetController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareSheetController.swift; sourceTree = ""; }; - B9C20D092B921C78004DC9B3 /* ThreadedWidgetsExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ThreadedWidgetsExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + B9C20D092B921C78004DC9B3 /* BubbleWidgetsExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = BubbleWidgetsExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; B9C20D0A2B921C78004DC9B3 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; B9C20D0C2B921C78004DC9B3 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; - B9C20D0F2B921C78004DC9B3 /* ThreadedWidgetsBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadedWidgetsBundle.swift; sourceTree = ""; }; + B9C20D0F2B921C78004DC9B3 /* BubbleWidgetsBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BubbleWidgetsBundle.swift; sourceTree = ""; }; B9C20D112B921C78004DC9B3 /* FollowCountWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowCountWidget.swift; sourceTree = ""; }; B9C20D132B921C78004DC9B3 /* AppIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIntent.swift; sourceTree = ""; }; B9C20D152B921C7B004DC9B3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; B9C20D172B921C7B004DC9B3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B9C20D582B923CDD004DC9B3 /* ThreadedWidgetsExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ThreadedWidgetsExtension.entitlements; sourceTree = ""; }; - B9C20D592B923D53004DC9B3 /* Threaded.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Threaded.entitlements; sourceTree = ""; }; + B9C20D582B923CDD004DC9B3 /* BubbleWidgetsExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = BubbleWidgetsExtension.entitlements; sourceTree = ""; }; + B9C20D592B923D53004DC9B3 /* Bubble.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Bubble.entitlements; sourceTree = ""; }; B9C7F46B2C387D3B009C36DC /* WarningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WarningView.swift; sourceTree = ""; }; B9CC45B72B40A2D6001E4FA5 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = ""; }; B9CC45B92B40AA1E001E4FA5 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; @@ -340,14 +340,14 @@ B9D9C6C62B6A590F00C26A41 /* ProfilePicture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePicture.swift; sourceTree = ""; }; B9DC69282B78D9A500E625B9 /* SearchResultView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultView.swift; sourceTree = ""; }; B9DC692C2B79362700E625B9 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; - B9DC692F2B79378400E625B9 /* ThreadedPlus.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = ThreadedPlus.storekit; sourceTree = ""; }; + B9DC692F2B79378400E625B9 /* BubblePlus.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = BubblePlus.storekit; sourceTree = ""; }; B9EBE8552B47256900FB594D /* PostAttachment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostAttachment.swift; sourceTree = ""; }; B9EBE8572B474FD600FB594D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; B9F8FA152B5D3AC30044DAB4 /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = ""; }; B9FA6E742B82367B00D63E30 /* AttachmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachmentView.swift; sourceTree = ""; }; B9FA6E762B82788A00D63E30 /* AccountRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountRow.swift; sourceTree = ""; }; - B9FB94572B2DEECE00D81C07 /* Threaded.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Threaded.app; sourceTree = BUILT_PRODUCTS_DIR; }; - B9FB945A2B2DEECE00D81C07 /* ThreadedApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadedApp.swift; sourceTree = ""; }; + B9FB94572B2DEECE00D81C07 /* Bubble.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Bubble.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B9FB945A2B2DEECE00D81C07 /* BubbleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BubbleApp.swift; sourceTree = ""; }; B9FB945C2B2DEECE00D81C07 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; B9FB94602B2DEECF00D81C07 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; B9FB94632B2DEECF00D81C07 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; @@ -371,7 +371,7 @@ B9FB949E2B2EF0F200D81C07 /* MastodonRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MastodonRequest.swift; sourceTree = ""; }; B9FB94A02B2EF23100D81C07 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; B9FB94A12B2EF24A00D81C07 /* AppInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppInfo.swift; sourceTree = ""; }; - B9FB94A72B2F009F00D81C07 /* ThreadedAuthService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ThreadedAuthService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + B9FB94A72B2F009F00D81C07 /* BubbleAuthService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = BubbleAuthService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; B9FB94A92B2F009F00D81C07 /* AuthenticationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AuthenticationServices.framework; path = System/Library/Frameworks/AuthenticationServices.framework; sourceTree = SDKROOT; }; B9FB94AC2B2F009F00D81C07 /* AuthenticationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationViewController.swift; sourceTree = ""; }; B9FB94AF2B2F009F00D81C07 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AuthenticationViewController.xib; sourceTree = ""; }; @@ -462,11 +462,11 @@ path = Post; sourceTree = ""; }; - B9C20D0E2B921C78004DC9B3 /* ThreadedWidgets */ = { + B9C20D0E2B921C78004DC9B3 /* BubbleWidgets */ = { isa = PBXGroup; children = ( - B9C20D582B923CDD004DC9B3 /* ThreadedWidgetsExtension.entitlements */, - B9C20D0F2B921C78004DC9B3 /* ThreadedWidgetsBundle.swift */, + B9C20D582B923CDD004DC9B3 /* BubbleWidgetsExtension.entitlements */, + B9C20D0F2B921C78004DC9B3 /* BubbleWidgetsBundle.swift */, B9C20D112B921C78004DC9B3 /* FollowCountWidget.swift */, B9B469AF2B9A275F00AD5585 /* FollowGoalWidget.swift */, B9A80DDD2C67BFF800DE3D88 /* CreatePostWidget.swift */, @@ -475,7 +475,7 @@ B9C20D152B921C7B004DC9B3 /* Assets.xcassets */, B9C20D172B921C7B004DC9B3 /* Info.plist */, ); - path = ThreadedWidgets; + path = BubbleWidgets; sourceTree = ""; }; B9D9C6BF2B6A56D500C26A41 /* Notifications */ = { @@ -490,7 +490,7 @@ B9DC692E2B79375B00E625B9 /* Store */ = { isa = PBXGroup; children = ( - B9DC692F2B79378400E625B9 /* ThreadedPlus.storekit */, + B9DC692F2B79378400E625B9 /* BubblePlus.storekit */, B95ED2362B87C9550055F5BD /* StoreKitTestCertificate.cer */, ); path = Store; @@ -500,8 +500,8 @@ isa = PBXGroup; children = ( B9CC45B92B40AA1E001E4FA5 /* README.md */, - B9FB94592B2DEECE00D81C07 /* Threaded */, - B9C20D0E2B921C78004DC9B3 /* ThreadedWidgets */, + B9FB94592B2DEECE00D81C07 /* Bubble */, + B9C20D0E2B921C78004DC9B3 /* BubbleWidgets */, B9FB94AB2B2F009F00D81C07 /* AuthService */, B9FB94A82B2F009F00D81C07 /* Frameworks */, B97BCE292B3ED2C80044756D /* LICENSE */, @@ -513,20 +513,20 @@ B9FB94582B2DEECE00D81C07 /* Products */ = { isa = PBXGroup; children = ( - B9FB94572B2DEECE00D81C07 /* Threaded.app */, - B9FB94A72B2F009F00D81C07 /* ThreadedAuthService.appex */, - B9C20D092B921C78004DC9B3 /* ThreadedWidgetsExtension.appex */, + B9FB94572B2DEECE00D81C07 /* Bubble.app */, + B9FB94A72B2F009F00D81C07 /* BubbleAuthService.appex */, + B9C20D092B921C78004DC9B3 /* BubbleWidgetsExtension.appex */, ); name = Products; sourceTree = ""; }; - B9FB94592B2DEECE00D81C07 /* Threaded */ = { + B9FB94592B2DEECE00D81C07 /* Bubble */ = { isa = PBXGroup; children = ( - B9C20D592B923D53004DC9B3 /* Threaded.entitlements */, + B9C20D592B923D53004DC9B3 /* Bubble.entitlements */, B9FB94A02B2EF23100D81C07 /* Info.plist */, B9029FC12B81259400AA9B68 /* Secret.plist */, - B9FB945A2B2DEECE00D81C07 /* ThreadedApp.swift */, + B9FB945A2B2DEECE00D81C07 /* BubbleApp.swift */, B9EBE8572B474FD600FB594D /* AppDelegate.swift */, B9FB946E2B2DF3BB00D81C07 /* Components */, B9FB946D2B2DF3B800D81C07 /* Views */, @@ -537,7 +537,7 @@ B9FB948F2B2E2B0E00D81C07 /* Localizable.xcstrings */, B9CFC43A2B4F08C9004CFCB7 /* LaunchStoryboard.storyboard */, ); - path = Threaded; + path = Bubble; sourceTree = ""; }; B9FB94622B2DEECF00D81C07 /* Preview Content */ = { @@ -672,9 +672,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - B9C20D082B921C78004DC9B3 /* ThreadedWidgetsExtension */ = { + B9C20D082B921C78004DC9B3 /* BubbleWidgetsExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = B9C20D1D2B921C7B004DC9B3 /* Build configuration list for PBXNativeTarget "ThreadedWidgetsExtension" */; + buildConfigurationList = B9C20D1D2B921C7B004DC9B3 /* Build configuration list for PBXNativeTarget "BubbleWidgetsExtension" */; buildPhases = ( B9C20D052B921C78004DC9B3 /* Sources */, B9C20D062B921C78004DC9B3 /* Frameworks */, @@ -684,7 +684,7 @@ ); dependencies = ( ); - name = ThreadedWidgetsExtension; + name = BubbleWidgetsExtension; packageProductDependencies = ( B9A80E842C67C7C300DE3D88 /* SwiftSoup */, B9A80E862C67C7C300DE3D88 /* Nuke */, @@ -698,12 +698,12 @@ B9A80E962C67C7C300DE3D88 /* RevenueCatUI */, ); productName = ThreadedWidgetsExtension; - productReference = B9C20D092B921C78004DC9B3 /* ThreadedWidgetsExtension.appex */; + productReference = B9C20D092B921C78004DC9B3 /* BubbleWidgetsExtension.appex */; productType = "com.apple.product-type.app-extension"; }; - B9FB94562B2DEECE00D81C07 /* Threaded */ = { + B9FB94562B2DEECE00D81C07 /* Bubble */ = { isa = PBXNativeTarget; - buildConfigurationList = B9FB94672B2DEECF00D81C07 /* Build configuration list for PBXNativeTarget "Threaded" */; + buildConfigurationList = B9FB94672B2DEECF00D81C07 /* Build configuration list for PBXNativeTarget "Bubble" */; buildPhases = ( B9FB94532B2DEECE00D81C07 /* Sources */, B9FB94542B2DEECE00D81C07 /* Frameworks */, @@ -717,7 +717,7 @@ B9FB94B32B2F009F00D81C07 /* PBXTargetDependency */, B9C20D192B921C7B004DC9B3 /* PBXTargetDependency */, ); - name = Threaded; + name = Bubble; packageProductDependencies = ( B9FB94832B2E20AF00D81C07 /* SwiftSoup */, B93B676C2B42C94F000892E9 /* Nuke */, @@ -730,12 +730,12 @@ B95ED2342B8707D60055F5BD /* RevenueCatUI */, ); productName = Threaded; - productReference = B9FB94572B2DEECE00D81C07 /* Threaded.app */; + productReference = B9FB94572B2DEECE00D81C07 /* Bubble.app */; productType = "com.apple.product-type.application"; }; - B9FB94A62B2F009F00D81C07 /* ThreadedAuthService */ = { + B9FB94A62B2F009F00D81C07 /* BubbleAuthService */ = { isa = PBXNativeTarget; - buildConfigurationList = B9FB94B52B2F009F00D81C07 /* Build configuration list for PBXNativeTarget "ThreadedAuthService" */; + buildConfigurationList = B9FB94B52B2F009F00D81C07 /* Build configuration list for PBXNativeTarget "BubbleAuthService" */; buildPhases = ( B9FB94A32B2F009F00D81C07 /* Sources */, B9FB94A42B2F009F00D81C07 /* Frameworks */, @@ -745,9 +745,9 @@ ); dependencies = ( ); - name = ThreadedAuthService; + name = BubbleAuthService; productName = AuthService; - productReference = B9FB94A72B2F009F00D81C07 /* ThreadedAuthService.appex */; + productReference = B9FB94A72B2F009F00D81C07 /* BubbleAuthService.appex */; productType = "com.apple.product-type.app-extension"; }; /* End PBXNativeTarget section */ @@ -771,7 +771,7 @@ }; }; }; - buildConfigurationList = B9FB94522B2DEECE00D81C07 /* Build configuration list for PBXProject "Threaded" */; + buildConfigurationList = B9FB94522B2DEECE00D81C07 /* Build configuration list for PBXProject "Bubble" */; compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; @@ -792,9 +792,9 @@ projectDirPath = ""; projectRoot = ""; targets = ( - B9FB94562B2DEECE00D81C07 /* Threaded */, - B9C20D082B921C78004DC9B3 /* ThreadedWidgetsExtension */, - B9FB94A62B2F009F00D81C07 /* ThreadedAuthService */, + B9FB94562B2DEECE00D81C07 /* Bubble */, + B9C20D082B921C78004DC9B3 /* BubbleWidgetsExtension */, + B9FB94A62B2F009F00D81C07 /* BubbleAuthService */, ); }; /* End PBXProject section */ @@ -814,7 +814,7 @@ buildActionMask = 2147483647; files = ( B97BCE282B3ED2A80044756D /* .gitignore in Resources */, - B9DC69302B79378400E625B9 /* ThreadedPlus.storekit in Resources */, + B9DC69302B79378400E625B9 /* BubblePlus.storekit in Resources */, B9FB94642B2DEECF00D81C07 /* Preview Assets.xcassets in Resources */, B9FB94612B2DEECF00D81C07 /* Assets.xcassets in Resources */, B9029FC22B81259400AA9B68 /* Secret.plist in Resources */, @@ -842,7 +842,7 @@ files = ( B9C20D122B921C78004DC9B3 /* FollowCountWidget.swift in Sources */, B9A80DDE2C67BFF800DE3D88 /* CreatePostWidget.swift in Sources */, - B9C20D102B921C78004DC9B3 /* ThreadedWidgetsBundle.swift in Sources */, + B9C20D102B921C78004DC9B3 /* BubbleWidgetsBundle.swift in Sources */, B90DEB1F2C822C2700D06121 /* StatusDraft.swift in Sources */, B90DEB232C822ED400D06121 /* PostDraftView.swift in Sources */, B9A80DE02C67C2D000DE3D88 /* Navigator.swift in Sources */, @@ -975,7 +975,7 @@ B94CF7652C8DE9AB00DFFF8F /* PlusNecessaryView.swift in Sources */, B934EA242BAB5E7F001F4345 /* RestrictedView.swift in Sources */, B9FB94722B2DF49700D81C07 /* ConnectView.swift in Sources */, - B9FB945B2B2DEECE00D81C07 /* ThreadedApp.swift in Sources */, + B9FB945B2B2DEECE00D81C07 /* BubbleApp.swift in Sources */, B9FB94862B2E211200D81C07 /* Account+Elms.swift in Sources */, B9A80DDF2C67C27B00DE3D88 /* AppIntent.swift in Sources */, B97491E32B6E96700098BC48 /* SymbolWidth.swift in Sources */, @@ -1038,12 +1038,12 @@ /* Begin PBXTargetDependency section */ B9C20D192B921C7B004DC9B3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = B9C20D082B921C78004DC9B3 /* ThreadedWidgetsExtension */; + target = B9C20D082B921C78004DC9B3 /* BubbleWidgetsExtension */; targetProxy = B9C20D182B921C7B004DC9B3 /* PBXContainerItemProxy */; }; B9FB94B32B2F009F00D81C07 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = B9FB94A62B2F009F00D81C07 /* ThreadedAuthService */; + target = B9FB94A62B2F009F00D81C07 /* BubbleAuthService */; targetProxy = B9FB94B22B2F009F00D81C07 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -1065,13 +1065,13 @@ buildSettings = { ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; - CODE_SIGN_ENTITLEMENTS = ThreadedWidgets/ThreadedWidgetsExtension.entitlements; + CODE_SIGN_ENTITLEMENTS = BubbleWidgets/BubbleWidgetsExtension.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 702; DEVELOPMENT_TEAM = HB5P3BML86; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ThreadedWidgets/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ThreadedWidgets; + INFOPLIST_FILE = BubbleWidgets/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Bubble; INFOPLIST_KEY_NSHumanReadableCopyright = ""; IPHONEOS_DEPLOYMENT_TARGET = 17.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1100,13 +1100,13 @@ buildSettings = { ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; - CODE_SIGN_ENTITLEMENTS = ThreadedWidgets/ThreadedWidgetsExtension.entitlements; + CODE_SIGN_ENTITLEMENTS = BubbleWidgets/BubbleWidgetsExtension.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 702; DEVELOPMENT_TEAM = HB5P3BML86; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ThreadedWidgets/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ThreadedWidgets; + INFOPLIST_FILE = BubbleWidgets/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Bubble; INFOPLIST_KEY_NSHumanReadableCopyright = ""; IPHONEOS_DEPLOYMENT_TARGET = 17.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1263,17 +1263,17 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; - CODE_SIGN_ENTITLEMENTS = Threaded/Threaded.entitlements; + CODE_SIGN_ENTITLEMENTS = Bubble/Bubble.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 702; - DEVELOPMENT_ASSET_PATHS = "\"Threaded/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = HB5P3BML86; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = Threaded/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = Threaded; + INFOPLIST_FILE = Bubble/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Bubble; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking"; - INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Threaded allows you to save images you see in posts"; + INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Bubble allows you to save images you see in posts"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchStoryboard.storyboard; @@ -1305,17 +1305,17 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; - CODE_SIGN_ENTITLEMENTS = Threaded/Threaded.entitlements; + CODE_SIGN_ENTITLEMENTS = Bubble/Bubble.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 702; - DEVELOPMENT_ASSET_PATHS = "\"Threaded/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = HB5P3BML86; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = Threaded/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = Threaded; + INFOPLIST_FILE = Bubble/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Bubble; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking"; - INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Threaded allows you to save images you see in posts"; + INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Bubble allows you to save images you see in posts"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchStoryboard.storyboard; @@ -1402,7 +1402,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - B9C20D1D2B921C7B004DC9B3 /* Build configuration list for PBXNativeTarget "ThreadedWidgetsExtension" */ = { + B9C20D1D2B921C7B004DC9B3 /* Build configuration list for PBXNativeTarget "BubbleWidgetsExtension" */ = { isa = XCConfigurationList; buildConfigurations = ( B9C20D1B2B921C7B004DC9B3 /* Debug */, @@ -1411,7 +1411,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B9FB94522B2DEECE00D81C07 /* Build configuration list for PBXProject "Threaded" */ = { + B9FB94522B2DEECE00D81C07 /* Build configuration list for PBXProject "Bubble" */ = { isa = XCConfigurationList; buildConfigurations = ( B9FB94652B2DEECF00D81C07 /* Debug */, @@ -1420,7 +1420,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B9FB94672B2DEECF00D81C07 /* Build configuration list for PBXNativeTarget "Threaded" */ = { + B9FB94672B2DEECF00D81C07 /* Build configuration list for PBXNativeTarget "Bubble" */ = { isa = XCConfigurationList; buildConfigurations = ( B9FB94682B2DEECF00D81C07 /* Debug */, @@ -1429,7 +1429,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B9FB94B52B2F009F00D81C07 /* Build configuration list for PBXNativeTarget "ThreadedAuthService" */ = { + B9FB94B52B2F009F00D81C07 /* Build configuration list for PBXNativeTarget "BubbleAuthService" */ = { isa = XCConfigurationList; buildConfigurations = ( B9FB94B62B2F009F00D81C07 /* Debug */, diff --git a/Threaded.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Bubble.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Threaded.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Bubble.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Threaded.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Bubble.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Threaded.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Bubble.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Threaded.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Bubble.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from Threaded.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to Bubble.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/Threaded.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Bubble.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved similarity index 100% rename from Threaded.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved rename to Bubble.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/Threaded.xcodeproj/xcshareddata/xcschemes/Threaded.xcscheme b/Bubble.xcodeproj/xcshareddata/xcschemes/Bubble.xcscheme similarity index 82% rename from Threaded.xcodeproj/xcshareddata/xcschemes/Threaded.xcscheme rename to Bubble.xcodeproj/xcshareddata/xcschemes/Bubble.xcscheme index d79f7e4..1743979 100644 --- a/Threaded.xcodeproj/xcshareddata/xcschemes/Threaded.xcscheme +++ b/Bubble.xcodeproj/xcshareddata/xcschemes/Bubble.xcscheme @@ -15,9 +15,9 @@ + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> @@ -45,13 +45,13 @@ + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> + identifier = "../../Bubble/Store/BubblePlus.storekit"> + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> diff --git a/Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedAuthService.xcscheme b/Bubble.xcodeproj/xcshareddata/xcschemes/BubbleAuthService.xcscheme similarity index 82% rename from Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedAuthService.xcscheme rename to Bubble.xcodeproj/xcshareddata/xcschemes/BubbleAuthService.xcscheme index ef14169..eb32093 100644 --- a/Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedAuthService.xcscheme +++ b/Bubble.xcodeproj/xcshareddata/xcschemes/BubbleAuthService.xcscheme @@ -16,9 +16,9 @@ + BuildableName = "BubbleAuthService.appex" + BlueprintName = "BubbleAuthService" + ReferencedContainer = "container:Bubble.xcodeproj"> + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> @@ -61,9 +61,9 @@ + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> @@ -80,9 +80,9 @@ + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> diff --git a/Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedWatch Watch App.xcscheme b/Bubble.xcodeproj/xcshareddata/xcschemes/BubbleWatch Watch App.xcscheme similarity index 89% rename from Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedWatch Watch App.xcscheme rename to Bubble.xcodeproj/xcshareddata/xcschemes/BubbleWatch Watch App.xcscheme index a290bf6..dbb2864 100644 --- a/Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedWatch Watch App.xcscheme +++ b/Bubble.xcodeproj/xcshareddata/xcschemes/BubbleWatch Watch App.xcscheme @@ -18,7 +18,7 @@ BlueprintIdentifier = "B9B469B62B9A7E6800AD5585" BuildableName = "Threaded.app" BlueprintName = "ThreadedWatch Watch App" - ReferencedContainer = "container:Threaded.xcodeproj"> + ReferencedContainer = "container:Bubble.xcodeproj"> + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> @@ -61,7 +61,7 @@ BlueprintIdentifier = "B9B469B62B9A7E6800AD5585" BuildableName = "Threaded.app" BlueprintName = "ThreadedWatch Watch App" - ReferencedContainer = "container:Threaded.xcodeproj"> + ReferencedContainer = "container:Bubble.xcodeproj"> + ReferencedContainer = "container:Bubble.xcodeproj"> @@ -91,7 +91,7 @@ BlueprintIdentifier = "B9B469B62B9A7E6800AD5585" BuildableName = "Threaded.app" BlueprintName = "ThreadedWatch Watch App" - ReferencedContainer = "container:Threaded.xcodeproj"> + ReferencedContainer = "container:Bubble.xcodeproj"> diff --git a/Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedWidgetsExtension.xcscheme b/Bubble.xcodeproj/xcshareddata/xcschemes/BubbleWidgetsExtension.xcscheme similarity index 82% rename from Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedWidgetsExtension.xcscheme rename to Bubble.xcodeproj/xcshareddata/xcschemes/BubbleWidgetsExtension.xcscheme index 2dc5b4c..0ce02d6 100644 --- a/Threaded.xcodeproj/xcshareddata/xcschemes/ThreadedWidgetsExtension.xcscheme +++ b/Bubble.xcodeproj/xcshareddata/xcschemes/BubbleWidgetsExtension.xcscheme @@ -17,9 +17,9 @@ + BuildableName = "BubbleWidgetsExtension.appex" + BlueprintName = "BubbleWidgetsExtension" + ReferencedContainer = "container:Bubble.xcodeproj"> + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> @@ -63,18 +63,18 @@ + BuildableName = "BubbleWidgetsExtension.appex" + BlueprintName = "BubbleWidgetsExtension" + ReferencedContainer = "container:Bubble.xcodeproj"> + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> @@ -108,9 +108,9 @@ + BuildableName = "Bubble.app" + BlueprintName = "Bubble" + ReferencedContainer = "container:Bubble.xcodeproj"> diff --git a/Threaded/AppDelegate.swift b/Bubble/AppDelegate.swift similarity index 99% rename from Threaded/AppDelegate.swift rename to Bubble/AppDelegate.swift index e198e0c..c57c30d 100644 --- a/Threaded/AppDelegate.swift +++ b/Bubble/AppDelegate.swift @@ -65,7 +65,7 @@ public class AppDelegate: NSObject, UIWindowSceneDelegate, Sendable, UIApplicati /// This function returns a fake "true" value every time whatever the customer info is static func hasPlus() -> Bool { - self.premium = false + self.premium = true return true } diff --git a/Threaded/Assets.xcassets/AccentColor.colorset/Contents.json b/Bubble/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/AccentColor.colorset/Contents.json rename to Bubble/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/Threaded/Assets.xcassets/AppBackground.colorset/Contents.json b/Bubble/Assets.xcassets/AppBackground.colorset/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/AppBackground.colorset/Contents.json rename to Bubble/Assets.xcassets/AppBackground.colorset/Contents.json diff --git a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/Contents.json b/Bubble/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 80% rename from Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/Contents.json rename to Bubble/Assets.xcassets/AppIcon.appiconset/Contents.json index 3c0c934..f1e321e 100644 --- a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/Contents.json +++ b/Bubble/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "AppIcon-White.png", + "filename" : "HeroIcon_white_x1024.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" @@ -13,7 +13,7 @@ "value" : "dark" } ], - "filename" : "AppIcon.png", + "filename" : "HeroIcon_black_x1024.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" @@ -25,7 +25,7 @@ "value" : "tinted" } ], - "filename" : "AppIcon 1.png", + "filename" : "HeroIcon_black_x1024 1.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_black_x1024 1.png b/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_black_x1024 1.png new file mode 100644 index 0000000..6fef5e8 Binary files /dev/null and b/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_black_x1024 1.png differ diff --git a/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_black_x1024.png b/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_black_x1024.png new file mode 100644 index 0000000..6fef5e8 Binary files /dev/null and b/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_black_x1024.png differ diff --git a/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_white_x1024.png b/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_white_x1024.png new file mode 100644 index 0000000..d46b14a Binary files /dev/null and b/Bubble/Assets.xcassets/AppIcon.appiconset/HeroIcon_white_x1024.png differ diff --git a/Threaded/Assets.xcassets/AppIcons/Contents.json b/Bubble/Assets.xcassets/AppIcons/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/AppIcons/Contents.json rename to Bubble/Assets.xcassets/AppIcons/Contents.json diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/Contents.json b/Bubble/Assets.xcassets/AppIconsPrevis/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/AppIconsPrevis/Contents.json rename to Bubble/Assets.xcassets/AppIconsPrevis/Contents.json diff --git a/Threaded/Assets.xcassets/Contents.json b/Bubble/Assets.xcassets/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/Contents.json rename to Bubble/Assets.xcassets/Contents.json diff --git a/Threaded/Assets.xcassets/Hero/Contents.json b/Bubble/Assets.xcassets/Hero/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/Hero/Contents.json rename to Bubble/Assets.xcassets/Hero/Contents.json diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/Contents.json b/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/Contents.json similarity index 76% rename from Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/Contents.json rename to Bubble/Assets.xcassets/Hero/HeroIcon.imageset/Contents.json index a92aa23..f42327a 100644 --- a/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/Contents.json +++ b/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "AppIcon-White.png", + "filename" : "HeroIcon_trans_wh.png", "idiom" : "universal" }, { @@ -11,7 +11,7 @@ "value" : "dark" } ], - "filename" : "AppIcon.png", + "filename" : "HeroIcon_trans_bl.png", "idiom" : "universal" } ], diff --git a/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_trans_bl.png b/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_trans_bl.png new file mode 100644 index 0000000..aceb76b Binary files /dev/null and b/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_trans_bl.png differ diff --git a/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_trans_wh.png b/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_trans_wh.png new file mode 100644 index 0000000..783674c Binary files /dev/null and b/Bubble/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_trans_wh.png differ diff --git a/Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/Contents.json b/Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/Contents.json rename to Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/Contents.json diff --git a/Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_black.png b/Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_black.png new file mode 100644 index 0000000..767dc44 Binary files /dev/null and b/Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_black.png differ diff --git a/Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_white.png b/Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_white.png new file mode 100644 index 0000000..960db2f Binary files /dev/null and b/Bubble/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_white.png differ diff --git a/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/Contents.json b/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/Contents.json similarity index 76% rename from Threaded/Assets.xcassets/Hero/HeroPlus.imageset/Contents.json rename to Bubble/Assets.xcassets/Hero/HeroPlus.imageset/Contents.json index 31289f8..20c31ca 100644 --- a/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/Contents.json +++ b/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "PlusIcon_black.png", + "filename" : "HeroPlus_trans_wh.png", "idiom" : "universal" }, { @@ -11,7 +11,7 @@ "value" : "dark" } ], - "filename" : "PlusIcon_white.png", + "filename" : "HeroPlus_trans_bl.png", "idiom" : "universal" } ], diff --git a/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/HeroPlus_trans_bl.png b/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/HeroPlus_trans_bl.png new file mode 100644 index 0000000..f086ac0 Binary files /dev/null and b/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/HeroPlus_trans_bl.png differ diff --git a/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/HeroPlus_trans_wh.png b/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/HeroPlus_trans_wh.png new file mode 100644 index 0000000..b3bce5a Binary files /dev/null and b/Bubble/Assets.xcassets/Hero/HeroPlus.imageset/HeroPlus_trans_wh.png differ diff --git a/Threaded/Assets.xcassets/MastodonMark.imageset/Contents.json b/Bubble/Assets.xcassets/MastodonMark.imageset/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/MastodonMark.imageset/Contents.json rename to Bubble/Assets.xcassets/MastodonMark.imageset/Contents.json diff --git a/Threaded/Assets.xcassets/MastodonMark.imageset/Logo violet 1mastodon.png b/Bubble/Assets.xcassets/MastodonMark.imageset/Logo violet 1mastodon.png similarity index 100% rename from Threaded/Assets.xcassets/MastodonMark.imageset/Logo violet 1mastodon.png rename to Bubble/Assets.xcassets/MastodonMark.imageset/Logo violet 1mastodon.png diff --git a/Threaded/Assets.xcassets/SupportApps/Contents.json b/Bubble/Assets.xcassets/SupportApps/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/SupportApps/Contents.json rename to Bubble/Assets.xcassets/SupportApps/Contents.json diff --git a/Threaded/Assets.xcassets/SupportApps/DiscordMark.imageset/Contents.json b/Bubble/Assets.xcassets/SupportApps/DiscordMark.imageset/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/SupportApps/DiscordMark.imageset/Contents.json rename to Bubble/Assets.xcassets/SupportApps/DiscordMark.imageset/Contents.json diff --git a/Threaded/Assets.xcassets/SupportApps/DiscordMark.imageset/Discord logo.png b/Bubble/Assets.xcassets/SupportApps/DiscordMark.imageset/Discord logo.png similarity index 100% rename from Threaded/Assets.xcassets/SupportApps/DiscordMark.imageset/Discord logo.png rename to Bubble/Assets.xcassets/SupportApps/DiscordMark.imageset/Discord logo.png diff --git a/Threaded/Assets.xcassets/SupportApps/ElementMark.imageset/Contents.json b/Bubble/Assets.xcassets/SupportApps/ElementMark.imageset/Contents.json similarity index 100% rename from Threaded/Assets.xcassets/SupportApps/ElementMark.imageset/Contents.json rename to Bubble/Assets.xcassets/SupportApps/ElementMark.imageset/Contents.json diff --git a/Threaded/Assets.xcassets/SupportApps/ElementMark.imageset/Element Logo.png b/Bubble/Assets.xcassets/SupportApps/ElementMark.imageset/Element Logo.png similarity index 100% rename from Threaded/Assets.xcassets/SupportApps/ElementMark.imageset/Element Logo.png rename to Bubble/Assets.xcassets/SupportApps/ElementMark.imageset/Element Logo.png diff --git a/Threaded/Threaded.entitlements b/Bubble/Bubble.entitlements similarity index 100% rename from Threaded/Threaded.entitlements rename to Bubble/Bubble.entitlements diff --git a/Threaded/ThreadedApp.swift b/Bubble/BubbleApp.swift similarity index 90% rename from Threaded/ThreadedApp.swift rename to Bubble/BubbleApp.swift index 025e0c4..fe50873 100644 --- a/Threaded/ThreadedApp.swift +++ b/Bubble/BubbleApp.swift @@ -5,7 +5,7 @@ import TipKit import RevenueCat @main -struct ThreadedApp: App { +struct BubbleApp: App { init() { guard let plist = AppDelegate.readSecret() else { fatalError("Missing Secret.plist file") } @@ -18,7 +18,7 @@ struct ThreadedApp: App { } } - ThreadedShortcuts.updateAppShortcutParameters() //might not work? + BubbleShortcuts.updateAppShortcutParameters() //might not work? } var body: some Scene { @@ -29,7 +29,7 @@ struct ThreadedApp: App { HapticManager.prepareHaptics() } .task { - #if DEBUG + #if targetEnvironment(simulator) Tips.showAllTipsForTesting() UserDefaults.standard.set("ABC", forKey: "lastVersion") #endif diff --git a/Threaded/Components/AccountRow.swift b/Bubble/Components/AccountRow.swift similarity index 100% rename from Threaded/Components/AccountRow.swift rename to Bubble/Components/AccountRow.swift diff --git a/Threaded/Components/ButtonStyles.swift b/Bubble/Components/ButtonStyles.swift similarity index 100% rename from Threaded/Components/ButtonStyles.swift rename to Bubble/Components/ButtonStyles.swift diff --git a/Threaded/Components/ComingSoonView.swift b/Bubble/Components/ComingSoonView.swift similarity index 100% rename from Threaded/Components/ComingSoonView.swift rename to Bubble/Components/ComingSoonView.swift diff --git a/Threaded/Components/ContactRow.swift b/Bubble/Components/ContactRow.swift similarity index 100% rename from Threaded/Components/ContactRow.swift rename to Bubble/Components/ContactRow.swift diff --git a/Threaded/Components/DynamicTextEditor.swift b/Bubble/Components/DynamicTextEditor.swift similarity index 100% rename from Threaded/Components/DynamicTextEditor.swift rename to Bubble/Components/DynamicTextEditor.swift diff --git a/Threaded/Components/MailView.swift b/Bubble/Components/MailView.swift similarity index 100% rename from Threaded/Components/MailView.swift rename to Bubble/Components/MailView.swift diff --git a/Threaded/Components/NotificationRow.swift b/Bubble/Components/NotificationRow.swift similarity index 100% rename from Threaded/Components/NotificationRow.swift rename to Bubble/Components/NotificationRow.swift diff --git a/Threaded/Components/OnlineImage.swift b/Bubble/Components/OnlineImage.swift similarity index 100% rename from Threaded/Components/OnlineImage.swift rename to Bubble/Components/OnlineImage.swift diff --git a/Threaded/Components/PlusNecessaryView.swift b/Bubble/Components/PlusNecessaryView.swift similarity index 92% rename from Threaded/Components/PlusNecessaryView.swift rename to Bubble/Components/PlusNecessaryView.swift index 1f22c16..2a96c71 100644 --- a/Threaded/Components/PlusNecessaryView.swift +++ b/Bubble/Components/PlusNecessaryView.swift @@ -13,7 +13,7 @@ struct PlusNecessaryView: View { VStack(spacing: 7.5) { if let feature = lockedFeature { HStack { - Text("shop.threaded-plus.with") + Text("shop.bubble-plus.with") .foregroundStyle(Color.black) .font(.callout.width(.expanded).weight(.bold)) @@ -50,11 +50,11 @@ struct PlusNecessaryView: View { .frame(width: 50, height: 50) .padding(.vertical) - Text("shop.threaded-plus.required") + Text("shop.bubble-plus.required") .font(.title2.bold()) .lineLimit(1) - Text("shop.threaded-plus.required.description") + Text("shop.bubble-plus.required.description") .foregroundStyle(Color.gray) .font(.callout) .lineLimit(2, reservesSpace: true) @@ -66,7 +66,7 @@ struct PlusNecessaryView: View { UniversalNavigator.static.presentedCover = .shop } label: { Label { - Text("shop.threaded-plus.learn") + Text("shop.bubble-plus.learn") } icon: { Image("HeroPlus") .resizable() diff --git a/Threaded/Components/Post/CompactPostView.swift b/Bubble/Components/Post/CompactPostView.swift similarity index 100% rename from Threaded/Components/Post/CompactPostView.swift rename to Bubble/Components/Post/CompactPostView.swift diff --git a/Threaded/Components/Post/EmojiSelector.swift b/Bubble/Components/Post/EmojiSelector.swift similarity index 100% rename from Threaded/Components/Post/EmojiSelector.swift rename to Bubble/Components/Post/EmojiSelector.swift diff --git a/Threaded/Components/Post/PostAttachment.swift b/Bubble/Components/Post/PostAttachment.swift similarity index 100% rename from Threaded/Components/Post/PostAttachment.swift rename to Bubble/Components/Post/PostAttachment.swift diff --git a/Threaded/Components/Post/PostCardView.swift b/Bubble/Components/Post/PostCardView.swift similarity index 100% rename from Threaded/Components/Post/PostCardView.swift rename to Bubble/Components/Post/PostCardView.swift diff --git a/Threaded/Components/Post/PostInteractor.swift b/Bubble/Components/Post/PostInteractor.swift similarity index 100% rename from Threaded/Components/Post/PostInteractor.swift rename to Bubble/Components/Post/PostInteractor.swift diff --git a/Threaded/Components/Post/PostMenu.swift b/Bubble/Components/Post/PostMenu.swift similarity index 100% rename from Threaded/Components/Post/PostMenu.swift rename to Bubble/Components/Post/PostMenu.swift diff --git a/Threaded/Components/Post/PostPoll.swift b/Bubble/Components/Post/PostPoll.swift similarity index 100% rename from Threaded/Components/Post/PostPoll.swift rename to Bubble/Components/Post/PostPoll.swift diff --git a/Threaded/Components/Post/QuotePostView.swift b/Bubble/Components/Post/QuotePostView.swift similarity index 100% rename from Threaded/Components/Post/QuotePostView.swift rename to Bubble/Components/Post/QuotePostView.swift diff --git a/Threaded/Components/ProfilePicture.swift b/Bubble/Components/ProfilePicture.swift similarity index 100% rename from Threaded/Components/ProfilePicture.swift rename to Bubble/Components/ProfilePicture.swift diff --git a/Threaded/Components/SearchResultView.swift b/Bubble/Components/SearchResultView.swift similarity index 100% rename from Threaded/Components/SearchResultView.swift rename to Bubble/Components/SearchResultView.swift diff --git a/Threaded/Components/ShareSheetController.swift b/Bubble/Components/ShareSheetController.swift similarity index 100% rename from Threaded/Components/ShareSheetController.swift rename to Bubble/Components/ShareSheetController.swift diff --git a/Threaded/Components/SymbolWidth.swift b/Bubble/Components/SymbolWidth.swift similarity index 100% rename from Threaded/Components/SymbolWidth.swift rename to Bubble/Components/SymbolWidth.swift diff --git a/Threaded/Components/TabsView.swift b/Bubble/Components/TabsView.swift similarity index 100% rename from Threaded/Components/TabsView.swift rename to Bubble/Components/TabsView.swift diff --git a/Threaded/Components/TextEmoji.swift b/Bubble/Components/TextEmoji.swift similarity index 100% rename from Threaded/Components/TextEmoji.swift rename to Bubble/Components/TextEmoji.swift diff --git a/Threaded/Components/ThreadedStyle.swift b/Bubble/Components/ThreadedStyle.swift similarity index 100% rename from Threaded/Components/ThreadedStyle.swift rename to Bubble/Components/ThreadedStyle.swift diff --git a/Threaded/Components/WarningView.swift b/Bubble/Components/WarningView.swift similarity index 100% rename from Threaded/Components/WarningView.swift rename to Bubble/Components/WarningView.swift diff --git a/Threaded/Data/Accounts/Account+Elms.swift b/Bubble/Data/Accounts/Account+Elms.swift similarity index 100% rename from Threaded/Data/Accounts/Account+Elms.swift rename to Bubble/Data/Accounts/Account+Elms.swift diff --git a/Threaded/Data/Accounts/Account.swift b/Bubble/Data/Accounts/Account.swift similarity index 100% rename from Threaded/Data/Accounts/Account.swift rename to Bubble/Data/Accounts/Account.swift diff --git a/Threaded/Data/Accounts/AccountManager.swift b/Bubble/Data/Accounts/AccountManager.swift similarity index 100% rename from Threaded/Data/Accounts/AccountManager.swift rename to Bubble/Data/Accounts/AccountManager.swift diff --git a/Threaded/Data/Accounts/AccountsList.swift b/Bubble/Data/Accounts/AccountsList.swift similarity index 100% rename from Threaded/Data/Accounts/AccountsList.swift rename to Bubble/Data/Accounts/AccountsList.swift diff --git a/Threaded/Data/Accounts/LoggedAccounts.swift b/Bubble/Data/Accounts/LoggedAccounts.swift similarity index 100% rename from Threaded/Data/Accounts/LoggedAccounts.swift rename to Bubble/Data/Accounts/LoggedAccounts.swift diff --git a/Threaded/Data/AltClients.swift b/Bubble/Data/AltClients.swift similarity index 100% rename from Threaded/Data/AltClients.swift rename to Bubble/Data/AltClients.swift diff --git a/Threaded/Data/AppInfo.swift b/Bubble/Data/AppInfo.swift similarity index 64% rename from Threaded/Data/AppInfo.swift rename to Bubble/Data/AppInfo.swift index c1c8f36..af8f9e4 100644 --- a/Threaded/Data/AppInfo.swift +++ b/Bubble/Data/AppInfo.swift @@ -4,10 +4,10 @@ import Foundation public enum AppInfo { public static let scopes = "read write follow push" - public static let scheme = "threadedapp://" - public static let clientName = "ThreadedApp" + public static let scheme = "bubbleapp://" + public static let clientName = "BubbleApp" public static let defaultServer = "mastodon.social" - public static let website = "https://apps.lumaa.fr/app/threaded" + public static let website = "https://apps.lumaa.fr/app/bubble" } extension AppInfo { diff --git a/Threaded/Data/Client.swift b/Bubble/Data/Client.swift similarity index 100% rename from Threaded/Data/Client.swift rename to Bubble/Data/Client.swift diff --git a/Threaded/Data/Content/Compressor.swift b/Bubble/Data/Content/Compressor.swift similarity index 100% rename from Threaded/Data/Content/Compressor.swift rename to Bubble/Data/Content/Compressor.swift diff --git a/Threaded/Data/Content/ContentFilter.swift b/Bubble/Data/Content/ContentFilter.swift similarity index 100% rename from Threaded/Data/Content/ContentFilter.swift rename to Bubble/Data/Content/ContentFilter.swift diff --git a/Threaded/Data/Content/FetchTimeline.swift b/Bubble/Data/Content/FetchTimeline.swift similarity index 100% rename from Threaded/Data/Content/FetchTimeline.swift rename to Bubble/Data/Content/FetchTimeline.swift diff --git a/Threaded/Data/Content/HTMLString.swift b/Bubble/Data/Content/HTMLString.swift similarity index 100% rename from Threaded/Data/Content/HTMLString.swift rename to Bubble/Data/Content/HTMLString.swift diff --git a/Threaded/Data/Content/MediaTransferables.swift b/Bubble/Data/Content/MediaTransferables.swift similarity index 100% rename from Threaded/Data/Content/MediaTransferables.swift rename to Bubble/Data/Content/MediaTransferables.swift diff --git a/Threaded/Data/Content/SearchResults.swift b/Bubble/Data/Content/SearchResults.swift similarity index 100% rename from Threaded/Data/Content/SearchResults.swift rename to Bubble/Data/Content/SearchResults.swift diff --git a/Threaded/Data/Content/Status.swift b/Bubble/Data/Content/Status.swift similarity index 100% rename from Threaded/Data/Content/Status.swift rename to Bubble/Data/Content/Status.swift diff --git a/Threaded/Data/Content/StatusDraft.swift b/Bubble/Data/Content/StatusDraft.swift similarity index 100% rename from Threaded/Data/Content/StatusDraft.swift rename to Bubble/Data/Content/StatusDraft.swift diff --git a/Threaded/Data/Content/Tag.swift b/Bubble/Data/Content/Tag.swift similarity index 100% rename from Threaded/Data/Content/Tag.swift rename to Bubble/Data/Content/Tag.swift diff --git a/Threaded/Data/Content/Tenor.swift b/Bubble/Data/Content/Tenor.swift similarity index 100% rename from Threaded/Data/Content/Tenor.swift rename to Bubble/Data/Content/Tenor.swift diff --git a/Threaded/Data/Content/TimelineFilter.swift b/Bubble/Data/Content/TimelineFilter.swift similarity index 100% rename from Threaded/Data/Content/TimelineFilter.swift rename to Bubble/Data/Content/TimelineFilter.swift diff --git a/Threaded/Data/Emoji.swift b/Bubble/Data/Emoji.swift similarity index 100% rename from Threaded/Data/Emoji.swift rename to Bubble/Data/Emoji.swift diff --git a/Threaded/Data/HapticManager.swift b/Bubble/Data/HapticManager.swift similarity index 100% rename from Threaded/Data/HapticManager.swift rename to Bubble/Data/HapticManager.swift diff --git a/Threaded/Data/HuggingFace.swift b/Bubble/Data/HuggingFace.swift similarity index 100% rename from Threaded/Data/HuggingFace.swift rename to Bubble/Data/HuggingFace.swift diff --git a/Threaded/Data/Instance.swift b/Bubble/Data/Instance.swift similarity index 100% rename from Threaded/Data/Instance.swift rename to Bubble/Data/Instance.swift diff --git a/Threaded/Data/MastodonRequest.swift b/Bubble/Data/MastodonRequest.swift similarity index 100% rename from Threaded/Data/MastodonRequest.swift rename to Bubble/Data/MastodonRequest.swift diff --git a/Threaded/Data/Navigator.swift b/Bubble/Data/Navigator.swift similarity index 100% rename from Threaded/Data/Navigator.swift rename to Bubble/Data/Navigator.swift diff --git a/Threaded/Data/Notifications/Message.swift b/Bubble/Data/Notifications/Message.swift similarity index 100% rename from Threaded/Data/Notifications/Message.swift rename to Bubble/Data/Notifications/Message.swift diff --git a/Threaded/Data/Notifications/Notification.swift b/Bubble/Data/Notifications/Notification.swift similarity index 100% rename from Threaded/Data/Notifications/Notification.swift rename to Bubble/Data/Notifications/Notification.swift diff --git a/Threaded/Data/URLNavigator.swift b/Bubble/Data/URLNavigator.swift similarity index 100% rename from Threaded/Data/URLNavigator.swift rename to Bubble/Data/URLNavigator.swift diff --git a/Threaded/Data/UserPreferences.swift b/Bubble/Data/UserPreferences.swift similarity index 100% rename from Threaded/Data/UserPreferences.swift rename to Bubble/Data/UserPreferences.swift diff --git a/Threaded/Info.plist b/Bubble/Info.plist similarity index 89% rename from Threaded/Info.plist rename to Bubble/Info.plist index 50379b4..50a660f 100644 --- a/Threaded/Info.plist +++ b/Bubble/Info.plist @@ -10,10 +10,10 @@ CFBundleURLIconFile CFBundleURLName - threadedapp + bubbleapp CFBundleURLSchemes - threadedapp + bubbleapp diff --git a/Threaded/LaunchStoryboard.storyboard b/Bubble/LaunchStoryboard.storyboard similarity index 100% rename from Threaded/LaunchStoryboard.storyboard rename to Bubble/LaunchStoryboard.storyboard diff --git a/Threaded/Localizable.xcstrings b/Bubble/Localizable.xcstrings similarity index 94% rename from Threaded/Localizable.xcstrings rename to Bubble/Localizable.xcstrings index 5cb9a5a..36635b9 100644 --- a/Threaded/Localizable.xcstrings +++ b/Bubble/Localizable.xcstrings @@ -66,13 +66,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "About Threaded" + "value" : "About Bubble" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "À propos de Threaded" + "value" : "À propos de Bubble" } } } @@ -82,13 +82,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded is a very simple Mastodon client, that is meant to look like the newest social media Threads made by Meta Platforms. It integrates perfectly with your Mastodon account, and matches the Threads vibe, while having Mastodon-only features.\n\nThreaded is a 100% free, made in France using SwiftUI, [open-source](https://github.com/lumaa-dev/ThreadedApp), and doesn't violate [your privacy](https://apps.lumaa.fr/legal/privacy).\n\nThreaded is not related or affiliated to Meta Platforms." + "value" : "Bubble is a very simple Mastodon client, that is meant to look like the newest social media Threads made by Meta Platforms. It integrates perfectly with your Mastodon account, and matches the Threads vibe, while having Mastodon-only features.\n\nBubble is a 100% free, made in France using SwiftUI, [open-source](https://github.com/lumaa-dev/BubbleApp), and doesn't violate [your privacy](https://apps.lumaa.fr/legal/privacy).\n\nBubble is not related or affiliated to Meta Platforms." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded is a very simple Mastodon client, that is meant to look like the newest social media Threads made by Meta Platforms. It integrates perfectly with your Mastodon account, and matches the Threads vibe, while having Mastodon-only features.\n\nThreaded is a 100% free, made in France using SwiftUI, [open-source](https://github.com/lumaa-dev/ThreadedApp), and doesn't violate [your privacy](https://apps.lumaa.fr/legal/privacy).\n\nThreaded is not related or affiliated to Meta Platforms." + "value" : "Bubble is a very simple Mastodon client, that is meant to look like the newest social media Threads made by Meta Platforms. It integrates perfectly with your Mastodon account, and matches the Threads vibe, while having Mastodon-only features.\n\nBubble is a 100% free, made in France using SwiftUI, [open-source](https://github.com/lumaa-dev/BubbleApp), and doesn't violate [your privacy](https://apps.lumaa.fr/legal/privacy).\n\nBubble is not related or affiliated to Meta Platforms." } } } @@ -98,13 +98,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded uses third-party open-source libraries and code:\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)\n\nSpecial thanks to:\n- [@damon@social.wedistribute.org](https://social.wedistribute.org/@damon)\n- Beezus\n- Beta testers on TestFlight" + "value" : "Bubble uses third-party open-source libraries and code:\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)\n\nSpecial thanks to:\n- [@damon@social.wedistribute.org](https://social.wedistribute.org/@damon)\n- Beezus\n- Beta testers on TestFlight" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded uses third-party open-source libraries and code:\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)\n\nSpecial thanks to:\n- [@damon@social.wedistribute.org](https://social.wedistribute.org/@damon)\n- Beezus\n- Beta testers on TestFlight" + "value" : "Bubble uses third-party open-source libraries and code:\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)\n\nSpecial thanks to:\n- [@damon@social.wedistribute.org](https://social.wedistribute.org/@damon)\n- Beezus\n- Beta testers on TestFlight" } } } @@ -130,13 +130,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "ThreadedApp v%@" + "value" : "BubbleApp v%@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "ThreadedApp v%@" + "value" : "BubbleApp v%@" } } } @@ -722,13 +722,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded Developer" + "value" : "Bubble Developer" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Développeur de Threaded" + "value" : "Développeur de Bubble" } } } @@ -1210,13 +1210,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Inside Threaded" + "value" : "Inside Bubble" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Par Threaded" + "value" : "Par Bubble" } } } @@ -1658,13 +1658,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Opens the Threaded app with the post composer " + "value" : "Opens the Bubble app with the post composer " } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ouvre l’application Threaded avec le compositeur de publications" + "value" : "Ouvre l’application Bubble avec le compositeur de publications" } } } @@ -1818,13 +1818,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "The instance has been detected to be dangerous, Threaded does not take responsibility for any content posted or seen on this instance and will not provide support. Do you agree to take FULL responsibility?" + "value" : "The instance has been detected to be dangerous, Bubble does not take responsibility for any content posted or seen on this instance and will not provide support. Do you agree to take FULL responsibility?" } }, "fr" : { "stringUnit" : { - "state" : "translated", - "value" : "Cette instance a été détectée comme étant dangereuse, Threaded ne prend pas la responsabilité pour tout contenu posté ou vu dans cette instance et ne fournira pas d'aide. Êtes-vous d'accord pour prendre la TOTALE responsabilité ?" + "state" : "needs_review", + "value" : "Cette instance a été détectée comme étant dangereuse, Bubble ne prend pas la responsabilité pour tout contenu posté ou vu dans cette instance et ne fournira pas d'aide. Êtes-vous d'accord pour prendre la TOTALE responsabilité ?" } } } @@ -1866,13 +1866,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Log in your Mastodon account using its instance URL. You cannot create an account using Threaded." + "value" : "Log in your Mastodon account using its instance URL. You cannot create an account using Bubble." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Connectez-vous à l'aide de votre compte Mastodon en utilisant l'URL de votre instance. Vous ne pouvez pas créer de compte via Threaded" + "value" : "Connectez-vous à l'aide de votre compte Mastodon en utilisant l'URL de votre instance. Vous ne pouvez pas créer de compte via Bubble" } } } @@ -1978,13 +1978,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Welcome to Threaded!" + "value" : "Welcome to Bubble!" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bienvenue sur Threaded !" + "value" : "Bienvenue sur Bubble !" } } } @@ -2938,6 +2938,214 @@ } } }, + "shop.bubble-plus.dismiss" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dismiss" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + } + } + }, + "shop.bubble-plus.learn" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Learn more" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "En savoir plus" + } + } + } + }, + "shop.bubble-plus.lifetime" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plus for a Lifetime" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plus à vie" + } + } + } + }, + "shop.bubble-plus.monthly" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bubble+ - Monthly" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bubble+ - Mensuel" + } + } + } + }, + "shop.bubble-plus.monthly.price" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "For $1.99 per month, auto-renewed" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour 1.99€ par mois, renouvellement automatique" + } + } + } + }, + "shop.bubble-plus.required" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Requires Plus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nécessite Plus" + } + } + } + }, + "shop.bubble-plus.required.description" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bubble+ is required to use a few additional features, like VIP, download attachments, and other." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bubble+ est nécessaire pour utiliser certaines fonctionnalités additionnelles, comme être VIP, télécharger des pièce-jointes, et autres." + } + } + } + }, + "shop.bubble-plus.subscribe" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Subscribe" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "S'abonner" + } + } + } + }, + "shop.bubble-plus.subscription" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plus as a Subscription" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plus en tant qu'abonnement" + } + } + } + }, + "shop.bubble-plus.subscription.description" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The Bubble+ subscription adds additional new and unique features to Bubble! It also supports the development ❤️" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'abonnement Bubble+ ajoute des nouvelles et uniques fonctionnalités à Bubble ! Cela permet aussi de contribuer à son développement ❤️" + } + } + } + }, + "shop.bubble-plus.with" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Only with" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avec" + } + } + } + }, + "shop.bubble-plus.yearly" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bubble+ - Yearly" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bubble+ - Annuel" + } + } + } + }, + "shop.bubble-plus.yearly.price" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "For $17.99 per year, auto-renewed" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour 19.99€ par ans, renouvellement automatique" + } + } + } + }, "shop.features" : { "localizations" : { "en" : { @@ -3178,214 +3386,6 @@ } } }, - "shop.threaded-plus.dismiss" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dismiss" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Annuler" - } - } - } - }, - "shop.threaded-plus.learn" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Learn more" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "En savoir plus" - } - } - } - }, - "shop.threaded-plus.lifetime" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Plus for a Lifetime" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Plus à vie" - } - } - } - }, - "shop.threaded-plus.monthly" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Threaded+ - Monthly" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Threaded+ - Mensuel" - } - } - } - }, - "shop.threaded-plus.monthly.price" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "For $1.99 per month, auto-renewed" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pour 1.99€ par mois, renouvellement automatique" - } - } - } - }, - "shop.threaded-plus.required" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Requires Plus" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nécessite Plus" - } - } - } - }, - "shop.threaded-plus.required.description" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Threaded+ is required to use a few additional features, like VIP, download attachments, and other." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Threaded+ est nécessaire pour utiliser certaines fonctionnalités additionnelles, comme être VIP, télécharger des pièce-jointes, et autres." - } - } - } - }, - "shop.threaded-plus.subscribe" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Subscribe" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "S'abonner" - } - } - } - }, - "shop.threaded-plus.subscription" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Plus as a Subscription" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Plus en tant qu'abonnement" - } - } - } - }, - "shop.threaded-plus.subscription.description" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "The Threaded+ subscription adds additional new and unique features to Threaded! It also supports the development ❤️" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "L'abonnement Threaded+ ajoute des nouvelles et uniques fonctionnalités à Threaded ! Cela permet aussi de contribuer à son développement ❤️" - } - } - } - }, - "shop.threaded-plus.with" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Only with" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Avec" - } - } - } - }, - "shop.threaded-plus.yearly" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Threaded+ - Yearly" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Threaded+ - Annuel" - } - } - } - }, - "shop.threaded-plus.yearly.price" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "For $17.99 per year, auto-renewed" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pour 19.99€ par ans, renouvellement automatique" - } - } - } - }, "status.action.bookmark" : { "localizations" : { "en" : { @@ -3551,13 +3551,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Subscribe to Threaded+ to have more drafts" + "value" : "Subscribe to Bubble+ to have more drafts" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Abonnez-vous à Threaded+ pour obtenir plus de brouillons" + "value" : "Abonnez-vous à Bubble+ pour obtenir plus de brouillons" } } } @@ -4307,13 +4307,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Join the Threaded Discord server to receive help, talk about the Fediverse, and many other things" + "value" : "Join the Bubble Discord server to receive help, talk about the Fediverse, and many other things" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Rejoignez le serveur Discord Threaded pour recevoir de l'aide, parler du fédivers, et autres" + "value" : "Rejoignez le serveur Discord Bubble pour recevoir de l'aide, parler du fédivers, et autres" } } } @@ -4323,13 +4323,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Join Threaded" + "value" : "Join Bubble" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Rejoindre Threaded" + "value" : "Rejoindre Bubble" } } } @@ -4371,13 +4371,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "You cannot send e-mail via Threaded" + "value" : "You cannot send e-mail via Bubble" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Vous ne pouvez pas envoyer d'emails via Threaded" + "value" : "Vous ne pouvez pas envoyer d'emails via Bubble" } } } @@ -4403,13 +4403,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded Support" + "value" : "Bubble Support" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aide Threaded" + "value" : "Aide Bubble" } } } @@ -4451,13 +4451,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Join #threadedapp:matrix.org" + "value" : "Join #bubbleapp:matrix.org" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Rejoindre #threadedapp:matrix.org" + "value" : "Rejoindre #bubbleapp:matrix.org" } } } @@ -4467,13 +4467,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Mention Threaded" + "value" : "Mention Bubble" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Mentionner Threaded" + "value" : "Mentionner Bubble" } } } @@ -4483,13 +4483,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "You can mention the official Threaded account on Mastodon, and you will get the help you need" + "value" : "You can mention the official Bubble account on Mastodon, and you will get the help you need" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Vous pouvez mentionner le compte officiel de Threaded, puis vous aurez l'aide dont vous avez besoin" + "value" : "Vous pouvez mentionner le compte officiel de Bubble, puis vous aurez l'aide dont vous avez besoin" } } } @@ -4767,13 +4767,13 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded is not affiliated to Mastodon. Threaded does not take responsabilities for posting misinforming or illegal content. Read your Mastodon instance's Terms of Service for more information." + "value" : "Bubble is not affiliated to Mastodon. Bubble does not take responsabilities for posting misinforming or illegal content. Read your Mastodon instance's Terms of Service for more information." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Threaded n'est pas affilié à Mastodon. Threaded ne prend aucune responsabilité sur la publication de contenu ayant de la désinformation ou du contenu illégal. Lisez les Condition d'utilisation de votre instance Mastodon pour plus d'information." + "value" : "Bubble n'est pas affilié à Mastodon. Bubble ne prend aucune responsabilité sur la publication de contenu ayant de la désinformation ou du contenu illégal. Lisez les Condition d'utilisation de votre instance Mastodon pour plus d'information." } } } diff --git a/Threaded/Preview Content/Preview Assets.xcassets/Contents.json b/Bubble/Preview Content/Preview Assets.xcassets/Contents.json similarity index 100% rename from Threaded/Preview Content/Preview Assets.xcassets/Contents.json rename to Bubble/Preview Content/Preview Assets.xcassets/Contents.json diff --git a/Threaded/Secret_TEMPLATE.plist b/Bubble/Secret_TEMPLATE.plist similarity index 100% rename from Threaded/Secret_TEMPLATE.plist rename to Bubble/Secret_TEMPLATE.plist diff --git a/Threaded/Views/AccountView.swift b/Bubble/Views/AccountView.swift similarity index 100% rename from Threaded/Views/AccountView.swift rename to Bubble/Views/AccountView.swift diff --git a/Threaded/Views/AddInstanceView.swift b/Bubble/Views/AddInstanceView.swift similarity index 100% rename from Threaded/Views/AddInstanceView.swift rename to Bubble/Views/AddInstanceView.swift diff --git a/Threaded/Views/AttachmentView.swift b/Bubble/Views/AttachmentView.swift similarity index 100% rename from Threaded/Views/AttachmentView.swift rename to Bubble/Views/AttachmentView.swift diff --git a/Threaded/Views/ConnectView.swift b/Bubble/Views/ConnectView.swift similarity index 100% rename from Threaded/Views/ConnectView.swift rename to Bubble/Views/ConnectView.swift diff --git a/Threaded/Views/ContactsView.swift b/Bubble/Views/ContactsView.swift similarity index 100% rename from Threaded/Views/ContactsView.swift rename to Bubble/Views/ContactsView.swift diff --git a/Threaded/Views/ContentView.swift b/Bubble/Views/ContentView.swift similarity index 100% rename from Threaded/Views/ContentView.swift rename to Bubble/Views/ContentView.swift diff --git a/Threaded/Views/DiscoveryView.swift b/Bubble/Views/DiscoveryView.swift similarity index 100% rename from Threaded/Views/DiscoveryView.swift rename to Bubble/Views/DiscoveryView.swift diff --git a/Threaded/Views/EditProfileView.swift b/Bubble/Views/EditProfileView.swift similarity index 100% rename from Threaded/Views/EditProfileView.swift rename to Bubble/Views/EditProfileView.swift diff --git a/Threaded/Views/NotificationsView.swift b/Bubble/Views/NotificationsView.swift similarity index 100% rename from Threaded/Views/NotificationsView.swift rename to Bubble/Views/NotificationsView.swift diff --git a/Threaded/Views/PostDetailsView.swift b/Bubble/Views/PostDetailsView.swift similarity index 100% rename from Threaded/Views/PostDetailsView.swift rename to Bubble/Views/PostDetailsView.swift diff --git a/Threaded/Views/PostDraftView.swift b/Bubble/Views/PostDraftView.swift similarity index 100% rename from Threaded/Views/PostDraftView.swift rename to Bubble/Views/PostDraftView.swift diff --git a/Threaded/Views/PostingView.swift b/Bubble/Views/PostingView.swift similarity index 100% rename from Threaded/Views/PostingView.swift rename to Bubble/Views/PostingView.swift diff --git a/Threaded/Views/PostsView.swift b/Bubble/Views/PostsView.swift similarity index 100% rename from Threaded/Views/PostsView.swift rename to Bubble/Views/PostsView.swift diff --git a/Threaded/Views/ProfileView.swift b/Bubble/Views/ProfileView.swift similarity index 100% rename from Threaded/Views/ProfileView.swift rename to Bubble/Views/ProfileView.swift diff --git a/Threaded/Views/ReportStatusView.swift b/Bubble/Views/ReportStatusView.swift similarity index 100% rename from Threaded/Views/ReportStatusView.swift rename to Bubble/Views/ReportStatusView.swift diff --git a/Threaded/Views/SafariView.swift b/Bubble/Views/SafariView.swift similarity index 100% rename from Threaded/Views/SafariView.swift rename to Bubble/Views/SafariView.swift diff --git a/Threaded/Views/Settings/AboutView.swift b/Bubble/Views/Settings/AboutView.swift similarity index 98% rename from Threaded/Views/Settings/AboutView.swift rename to Bubble/Views/Settings/AboutView.swift index b5af235..e7cc55f 100644 --- a/Threaded/Views/Settings/AboutView.swift +++ b/Bubble/Views/Settings/AboutView.swift @@ -20,7 +20,7 @@ struct AboutView: View { .listRowThreaded() Button { - if let url = URL(string: "https://lumaa.fr/?utm_source=ThreadedApp") { + if let url = URL(string: "https://lumaa.fr/?utm_source=BubbleApp") { openURL(url) } } label: { @@ -67,7 +67,7 @@ struct AboutView: View { .scaledToFit() .frame(height: 100) - Text(String("Threaded")) + Text(String("Bubble")) .font(.title.bold()) Text(String("© Lumaa 2023-2024")) diff --git a/Threaded/Views/Settings/AppearenceView.swift b/Bubble/Views/Settings/AppearenceView.swift similarity index 100% rename from Threaded/Views/Settings/AppearenceView.swift rename to Bubble/Views/Settings/AppearenceView.swift diff --git a/Threaded/Views/Settings/FilterView.swift b/Bubble/Views/Settings/FilterView.swift similarity index 100% rename from Threaded/Views/Settings/FilterView.swift rename to Bubble/Views/Settings/FilterView.swift diff --git a/Threaded/Views/Settings/IconView.swift b/Bubble/Views/Settings/IconView.swift similarity index 100% rename from Threaded/Views/Settings/IconView.swift rename to Bubble/Views/Settings/IconView.swift diff --git a/Threaded/Views/Settings/PrivacyView.swift b/Bubble/Views/Settings/PrivacyView.swift similarity index 100% rename from Threaded/Views/Settings/PrivacyView.swift rename to Bubble/Views/Settings/PrivacyView.swift diff --git a/Threaded/Views/Settings/RestrictedView.swift b/Bubble/Views/Settings/RestrictedView.swift similarity index 100% rename from Threaded/Views/Settings/RestrictedView.swift rename to Bubble/Views/Settings/RestrictedView.swift diff --git a/Threaded/Views/Settings/SettingsView.swift b/Bubble/Views/Settings/SettingsView.swift similarity index 97% rename from Threaded/Views/Settings/SettingsView.swift rename to Bubble/Views/Settings/SettingsView.swift index 7c99c53..64acd7c 100644 --- a/Threaded/Views/Settings/SettingsView.swift +++ b/Bubble/Views/Settings/SettingsView.swift @@ -76,12 +76,12 @@ struct SettingsView: View { } .listRowThreaded() - Button { - navigator.navigate(to: .appicon) - } label: { - Label("setting.app-icon", systemImage: "app.dashed") - } - .listRowThreaded() +// Button { +// navigator.navigate(to: .appicon) +// } label: { +// Label("setting.app-icon", systemImage: "app.dashed") +// } +// .listRowThreaded() Button { navigator.navigate(to: .privacy) @@ -94,7 +94,7 @@ struct SettingsView: View { navigator.presentedCover = .shop } label: { Label { - Text(String("Threaded+")) + Text(String("Bubble+")) } icon: { Image("HeroPlus") .resizable() diff --git a/Threaded/Views/Settings/ShopView.swift b/Bubble/Views/Settings/ShopView.swift similarity index 95% rename from Threaded/Views/Settings/ShopView.swift rename to Bubble/Views/Settings/ShopView.swift index e0d2140..1de3b90 100644 --- a/Threaded/Views/Settings/ShopView.swift +++ b/Bubble/Views/Settings/ShopView.swift @@ -42,7 +42,7 @@ public struct ShopView: View { Button { showSub.toggle() } label: { - Text("shop.threaded-plus.subscription") + Text("shop.bubble-plus.subscription") } .buttonStyle(LargeButton(filled: true, disabled: !canPay)) .overlay(alignment: .topTrailing) { @@ -62,7 +62,7 @@ public struct ShopView: View { // showLifetime.toggle() purchase(entitlement: .lifetime) } label: { - Text("shop.threaded-plus.lifetime") + Text("shop.bubble-plus.lifetime") } .buttonStyle(LargeButton(filled: false, disabled: !canPay)) .disabled(!canPay) @@ -70,7 +70,7 @@ public struct ShopView: View { Button { dismiss() } label: { - Text("shop.threaded-plus.dismiss") + Text("shop.bubble-plus.dismiss") } .buttonStyle(.borderless) .padding(.top, 50) @@ -79,7 +79,7 @@ public struct ShopView: View { } .frame(width: delegate.windowWidth) .background(Color.appBackground) - .navigationTitle(Text(String("Threaded+"))) + .navigationTitle(Text(String("Bubble+"))) .sheet(isPresented: $showSub) { ShopView.SubView() } @@ -231,7 +231,7 @@ extension ShopView { Button { purchase(entitlement: selectedPlan.getEntitlement()) } label: { - Text("shop.threaded-plus.subscribe") + Text("shop.bubble-plus.subscribe") } .buttonStyle(LargeButton(filled: true)) } @@ -251,10 +251,10 @@ extension ShopView { Spacer() - Text(String("Threaded+")) // Force the name as untranslatable + Text(String("Bubble+")) // Force the name as untranslatable .font(.title.bold()) .foregroundStyle(.white) - Text("shop.threaded-plus.subscription.description") + Text("shop.bubble-plus.subscription.description") .font(.caption) .foregroundStyle(.gray) .multilineTextAlignment(.center) @@ -315,18 +315,18 @@ extension ShopView { func getTitle() -> String { switch (self) { case .monthly: - return String(localized: "shop.threaded-plus.monthly") + return String(localized: "shop.bubble-plus.monthly") case .yearly: - return String(localized: "shop.threaded-plus.yearly") + return String(localized: "shop.bubble-plus.yearly") } } func getPrice() -> String { switch (self) { case .monthly: - return String(localized: "shop.threaded-plus.monthly.price") + return String(localized: "shop.bubble-plus.monthly.price") case .yearly: - return String(localized: "shop.threaded-plus.yearly.price") + return String(localized: "shop.bubble-plus.yearly.price") } } diff --git a/Threaded/Views/Settings/SupportView.swift b/Bubble/Views/Settings/SupportView.swift similarity index 100% rename from Threaded/Views/Settings/SupportView.swift rename to Bubble/Views/Settings/SupportView.swift diff --git a/Threaded/Views/Settings/UpdateView.swift b/Bubble/Views/Settings/UpdateView.swift similarity index 100% rename from Threaded/Views/Settings/UpdateView.swift rename to Bubble/Views/Settings/UpdateView.swift diff --git a/Threaded/Views/TimelineView.swift b/Bubble/Views/TimelineView.swift similarity index 100% rename from Threaded/Views/TimelineView.swift rename to Bubble/Views/TimelineView.swift diff --git a/ThreadedWidgets/AppIntent.swift b/BubbleWidgets/AppIntent.swift similarity index 98% rename from ThreadedWidgets/AppIntent.swift rename to BubbleWidgets/AppIntent.swift index bd13646..8a0eaaa 100644 --- a/ThreadedWidgets/AppIntent.swift +++ b/BubbleWidgets/AppIntent.swift @@ -7,7 +7,7 @@ import AppIntents // MARK: - Shortcuts -struct ThreadedShortcuts: AppShortcutsProvider { +struct BubbleShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] = [ .init( intent: OpenComposerIntent(), @@ -20,7 +20,7 @@ struct ThreadedShortcuts: AppShortcutsProvider { systemImageName: "square.and.pencil" ) ] - static var shortcutTileColor: ShortcutTileColor = .grayBlue + static var shortcutTileColor: ShortcutTileColor = .lightBlue } // MARK: - Account Intents diff --git a/ThreadedWidgets/Assets.xcassets/AccentColor.colorset/Contents.json b/BubbleWidgets/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from ThreadedWidgets/Assets.xcassets/AccentColor.colorset/Contents.json rename to BubbleWidgets/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/ThreadedWidgets/Assets.xcassets/AppBackground.colorset/Contents.json b/BubbleWidgets/Assets.xcassets/AppBackground.colorset/Contents.json similarity index 100% rename from ThreadedWidgets/Assets.xcassets/AppBackground.colorset/Contents.json rename to BubbleWidgets/Assets.xcassets/AppBackground.colorset/Contents.json diff --git a/ThreadedWidgets/Assets.xcassets/AppIcon.appiconset/Contents.json b/BubbleWidgets/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from ThreadedWidgets/Assets.xcassets/AppIcon.appiconset/Contents.json rename to BubbleWidgets/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/ThreadedWidgets/Assets.xcassets/Contents.json b/BubbleWidgets/Assets.xcassets/Contents.json similarity index 100% rename from ThreadedWidgets/Assets.xcassets/Contents.json rename to BubbleWidgets/Assets.xcassets/Contents.json diff --git a/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/Contents.json b/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/Contents.json similarity index 79% rename from ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/Contents.json rename to BubbleWidgets/Assets.xcassets/HeroIcon.imageset/Contents.json index d9c8eb6..fe972d1 100644 --- a/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/Contents.json +++ b/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "HeroIcon_black.png", + "filename" : "HeroIcon_trans_wh.png", "idiom" : "universal" }, { @@ -11,7 +11,7 @@ "value" : "dark" } ], - "filename" : "HeroIcon_white.png", + "filename" : "HeroIcon_trans_bl.png", "idiom" : "universal" } ], diff --git a/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_trans_bl.png b/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_trans_bl.png new file mode 100644 index 0000000..aceb76b Binary files /dev/null and b/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_trans_bl.png differ diff --git a/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_trans_wh.png b/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_trans_wh.png new file mode 100644 index 0000000..783674c Binary files /dev/null and b/BubbleWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_trans_wh.png differ diff --git a/ThreadedWidgets/Assets.xcassets/WidgetBackground.colorset/Contents.json b/BubbleWidgets/Assets.xcassets/WidgetBackground.colorset/Contents.json similarity index 100% rename from ThreadedWidgets/Assets.xcassets/WidgetBackground.colorset/Contents.json rename to BubbleWidgets/Assets.xcassets/WidgetBackground.colorset/Contents.json diff --git a/ThreadedWidgets/ThreadedWidgetsBundle.swift b/BubbleWidgets/BubbleWidgetsBundle.swift similarity index 85% rename from ThreadedWidgets/ThreadedWidgetsBundle.swift rename to BubbleWidgets/BubbleWidgetsBundle.swift index 2bd8135..298c919 100644 --- a/ThreadedWidgets/ThreadedWidgetsBundle.swift +++ b/BubbleWidgets/BubbleWidgetsBundle.swift @@ -5,7 +5,7 @@ import SwiftUI import UIKit @main -struct ThreadedWidgetsBundle: WidgetBundle { +struct BubbleWidgetsBundle: WidgetBundle { var body: some Widget { FollowCountWidget() FollowGoalWidget() diff --git a/ThreadedWidgets/ThreadedWidgetsExtension.entitlements b/BubbleWidgets/BubbleWidgetsExtension.entitlements similarity index 100% rename from ThreadedWidgets/ThreadedWidgetsExtension.entitlements rename to BubbleWidgets/BubbleWidgetsExtension.entitlements diff --git a/ThreadedWidgets/CreatePostControl.swift b/BubbleWidgets/CreatePostControl.swift similarity index 100% rename from ThreadedWidgets/CreatePostControl.swift rename to BubbleWidgets/CreatePostControl.swift diff --git a/ThreadedWidgets/CreatePostWidget.swift b/BubbleWidgets/CreatePostWidget.swift similarity index 100% rename from ThreadedWidgets/CreatePostWidget.swift rename to BubbleWidgets/CreatePostWidget.swift diff --git a/ThreadedWidgets/FollowCountWidget.swift b/BubbleWidgets/FollowCountWidget.swift similarity index 100% rename from ThreadedWidgets/FollowCountWidget.swift rename to BubbleWidgets/FollowCountWidget.swift diff --git a/ThreadedWidgets/FollowGoalWidget.swift b/BubbleWidgets/FollowGoalWidget.swift similarity index 100% rename from ThreadedWidgets/FollowGoalWidget.swift rename to BubbleWidgets/FollowGoalWidget.swift diff --git a/ThreadedWidgets/Info.plist b/BubbleWidgets/Info.plist similarity index 100% rename from ThreadedWidgets/Info.plist rename to BubbleWidgets/Info.plist diff --git a/README.md b/README.md index 2463170..3f82c2e 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,18 @@ -# [Threaded](https://apps.lumaa.fr/app/threaded) +# [Bubble](https://apps.lumaa.fr/app/bubble) -Install Threaded now +Install Bubble now -[Threaded](https://apps.lumaa.fr/app/threaded) is a very simple [#Mastodon](https://joinmastodon.org) client, that is meant to look like the newest social media [#Threads](https://threads.net/) made by Meta Platforms. It integrates perfectly with your Mastodon account, and matches the Threads vibe, while having Mastodon-only features. +[Bubble](https://apps.lumaa.fr/app/bubble) is a very simple [#Mastodon](https://joinmastodon.org) client, that is meant to look clean and expurgated. It integrates perfectly with your Mastodon account, and matches your vibe, while having Mastodon-only features. -Threaded is free, made in SwiftUI, [#OpenSource](https://github.com/lumaa-dev/ThreadedApp), and doesn't violate [#YourPrivacy](https://apps.lumaa.fr/legal/privacy?app=threaded). Follow the [#ThreadedAccount](https://mastodon.online/@Threaded) on Mastodon, for progress, updates, polls, and more... +Bubble is free, made in SwiftUI, [#OpenSource](https://github.com/lumaa-dev/BubbleApp), and doesn't violate [#YourPrivacy](https://apps.lumaa.fr/legal/privacy?app=bubble). Follow the [#BubbleAccount](https://mastodon.online/@Threaded) on Mastodon, for progress, updates, polls, and more... -Threaded **will** also includes its own premium service, available as a subscription and lifetime payment, called Threaded+ (or Plus for short). Plus only adds additional features to Threaded, you don't need a subscription to like, post, bookmark, or use any existing Mastodon feature. Currently, all available Threaded+ features are free, until further notice. +Bubble **will** also includes its own premium service, available as a subscription and lifetime payment, called Bubble+ (or Plus for short). Plus only adds additional features to Bubble, you don't need a subscription to like, post, bookmark, or use any existing Mastodon feature. Currently, all available Bubble+ features are free, until further notice. With Threaded+, you can have a better Content Filter, you can save attachments, you get exclusive sneak peeks to Threaded's next updates, and other premium features! -Use the **#Threaded** and [**@Threaded@mastodon.online**](#) on [Mastodon](https://mastodonshare.com/?text=@Threaded@mastodon.online+%2523Threaded)\ -Join the Threaded Discord server to receive help, talk about the Fediverse, and many other things: [Join Threaded](https://discord.gg/MaHcRbkX46)\ +Use the **#Bubble** and [**@Threaded@mastodon.online**](#) on [Mastodon](https://mastodonshare.com/?text=@Threaded@mastodon.online+%2523Bubble)\ +Join the Bubble Discord server to receive help, talk about the Fediverse, and many other things: [Join Bubble](https://discord.gg/MaHcRbkX46)\ Join the Matrix Space to get support, with full security: [Join #threadedapp:matrix.org](https://matrix.to/#/#threadedapp:matrix.org) ## Credits @@ -22,7 +22,7 @@ Join the Matrix Space to get support, with full security: [Join #threadedapp:mat - [Instance Blocklist](https://codeberg.org/oliphant/blocklists/raw/branch/main/blocklists/_unified_tier0_blocklist.csv) ## Packages -- A derivative of [ProboscisKit](https://github.com/lumaa-dev/ProboscisKit) +- A modified version of [ProboscisKit](https://github.com/lumaa-dev/ProboscisKit) - [SwiftSoup](https://github.com/scinfu/SwiftSoup) - [Nuke](https://github.com/kean/Nuke) - [EmojiText](https://github.com/divadretlaw/EmojiText) @@ -34,6 +34,5 @@ Join the Matrix Space to get support, with full security: [Join #threadedapp:mat - Beta testers on TestFlight ## More -Threaded is not related or affiliated with Meta Platforms.\ -[Privacy Policy](https://apps.lumaa.fr/legal/privacy?app=threaded&utm_source=ThreadedGit)\ -[About Threaded](https://apps.lumaa.fr/app/threaded) +[Privacy Policy](https://apps.lumaa.fr/legal/privacy?app=bubble&utm_source=BubbleGit)\ +[About Bubble](https://apps.lumaa.fr/app/bubble) diff --git a/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon 1.png b/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon 1.png deleted file mode 100644 index 221a240..0000000 Binary files a/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon 1.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon-White.png b/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon-White.png deleted file mode 100644 index 83452ed..0000000 Binary files a/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon-White.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon.png b/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon.png deleted file mode 100644 index 221a240..0000000 Binary files a/Threaded/Assets.xcassets/AppIcon.appiconset/AppIcon.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 3c0c934..0000000 --- a/Threaded/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-White.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "AppIcon.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "AppIcon 1.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/ArtisticlyIcon.appiconset/AppIcon-artisticly.png b/Threaded/Assets.xcassets/AppIcons/ArtisticlyIcon.appiconset/AppIcon-artisticly.png deleted file mode 100644 index b3c3337..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/ArtisticlyIcon.appiconset/AppIcon-artisticly.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/ArtisticlyIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/ArtisticlyIcon.appiconset/Contents.json deleted file mode 100644 index 28e31f9..0000000 --- a/Threaded/Assets.xcassets/AppIcons/ArtisticlyIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-artisticly.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/AsyncIcon.appiconset/AppIcon-async.png b/Threaded/Assets.xcassets/AppIcons/AsyncIcon.appiconset/AppIcon-async.png deleted file mode 100644 index 5000887..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/AsyncIcon.appiconset/AppIcon-async.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/AsyncIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/AsyncIcon.appiconset/Contents.json deleted file mode 100644 index c80957c..0000000 --- a/Threaded/Assets.xcassets/AppIcons/AsyncIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-async.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/BlueIcon.appiconset/AppIcon-blue.png b/Threaded/Assets.xcassets/AppIcons/BlueIcon.appiconset/AppIcon-blue.png deleted file mode 100644 index 717e6d6..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/BlueIcon.appiconset/AppIcon-blue.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/BlueIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/BlueIcon.appiconset/Contents.json deleted file mode 100644 index f022009..0000000 --- a/Threaded/Assets.xcassets/AppIcons/BlueIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-blue.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/BratIcon.appiconset/AppIcon-brat.png b/Threaded/Assets.xcassets/AppIcons/BratIcon.appiconset/AppIcon-brat.png deleted file mode 100644 index 62cd758..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/BratIcon.appiconset/AppIcon-brat.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/BratIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/BratIcon.appiconset/Contents.json deleted file mode 100644 index 4e2e478..0000000 --- a/Threaded/Assets.xcassets/AppIcons/BratIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-brat.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon 1.png b/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon 1.png deleted file mode 100644 index 221a240..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon 1.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon-White.png b/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon-White.png deleted file mode 100644 index 83452ed..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon-White.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon.png b/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon.png deleted file mode 100644 index 221a240..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/DefaultIcon.appiconset/AppIcon.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/PinkIcon.appiconset/AppIcon-pink.png b/Threaded/Assets.xcassets/AppIcons/PinkIcon.appiconset/AppIcon-pink.png deleted file mode 100644 index 7bbb8ad..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/PinkIcon.appiconset/AppIcon-pink.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/PinkIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/PinkIcon.appiconset/Contents.json deleted file mode 100644 index 6511162..0000000 --- a/Threaded/Assets.xcassets/AppIcons/PinkIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-pink.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/PrideIcon.appiconset/AppIcon-pride.png b/Threaded/Assets.xcassets/AppIcons/PrideIcon.appiconset/AppIcon-pride.png deleted file mode 100644 index 392d4bc..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/PrideIcon.appiconset/AppIcon-pride.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/PrideIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/PrideIcon.appiconset/Contents.json deleted file mode 100644 index efdeaff..0000000 --- a/Threaded/Assets.xcassets/AppIcons/PrideIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-pride.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/PurpleIcon.appiconset/AppIcon-purple.png b/Threaded/Assets.xcassets/AppIcons/PurpleIcon.appiconset/AppIcon-purple.png deleted file mode 100644 index 9ea358e..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/PurpleIcon.appiconset/AppIcon-purple.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/PurpleIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/PurpleIcon.appiconset/Contents.json deleted file mode 100644 index 2508d28..0000000 --- a/Threaded/Assets.xcassets/AppIcons/PurpleIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-purple.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/RedIcon.appiconset/AppIcon-red.png b/Threaded/Assets.xcassets/AppIcons/RedIcon.appiconset/AppIcon-red.png deleted file mode 100644 index 36ec8bd..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/RedIcon.appiconset/AppIcon-red.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/RedIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/RedIcon.appiconset/Contents.json deleted file mode 100644 index cbd85e8..0000000 --- a/Threaded/Assets.xcassets/AppIcons/RedIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-red.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/TwitterIcon.appiconset/AppIcon-twitter.png b/Threaded/Assets.xcassets/AppIcons/TwitterIcon.appiconset/AppIcon-twitter.png deleted file mode 100644 index eb33aff..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/TwitterIcon.appiconset/AppIcon-twitter.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/TwitterIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/TwitterIcon.appiconset/Contents.json deleted file mode 100644 index b9cf421..0000000 --- a/Threaded/Assets.xcassets/AppIcons/TwitterIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-twitter.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIcons/YellowIcon.appiconset/AppIcon-yellow.png b/Threaded/Assets.xcassets/AppIcons/YellowIcon.appiconset/AppIcon-yellow.png deleted file mode 100644 index d918189..0000000 Binary files a/Threaded/Assets.xcassets/AppIcons/YellowIcon.appiconset/AppIcon-yellow.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIcons/YellowIcon.appiconset/Contents.json b/Threaded/Assets.xcassets/AppIcons/YellowIcon.appiconset/Contents.json deleted file mode 100644 index a6698bf..0000000 --- a/Threaded/Assets.xcassets/AppIcons/YellowIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-yellow.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/ArtisticlyIcon.imageset/AppIcon-artisticly.jpg b/Threaded/Assets.xcassets/AppIconsPrevis/ArtisticlyIcon.imageset/AppIcon-artisticly.jpg deleted file mode 100644 index 75c3cc4..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/ArtisticlyIcon.imageset/AppIcon-artisticly.jpg and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/ArtisticlyIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/ArtisticlyIcon.imageset/Contents.json deleted file mode 100644 index 9529abc..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/ArtisticlyIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-artisticly.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/AsyncIcon.imageset/AppIcon-async.jpg b/Threaded/Assets.xcassets/AppIconsPrevis/AsyncIcon.imageset/AppIcon-async.jpg deleted file mode 100644 index f8e3db0..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/AsyncIcon.imageset/AppIcon-async.jpg and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/AsyncIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/AsyncIcon.imageset/Contents.json deleted file mode 100644 index ec58306..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/AsyncIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-async.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/BlueIcon.imageset/AppIcon-blue.jpg b/Threaded/Assets.xcassets/AppIconsPrevis/BlueIcon.imageset/AppIcon-blue.jpg deleted file mode 100644 index 1d410eb..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/BlueIcon.imageset/AppIcon-blue.jpg and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/BlueIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/BlueIcon.imageset/Contents.json deleted file mode 100644 index 33c2805..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/BlueIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-blue.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/BratIcon.imageset/AppIcon-brat.jpg b/Threaded/Assets.xcassets/AppIconsPrevis/BratIcon.imageset/AppIcon-brat.jpg deleted file mode 100644 index e16b0e7..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/BratIcon.imageset/AppIcon-brat.jpg and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/BratIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/BratIcon.imageset/Contents.json deleted file mode 100644 index ca2abac..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/BratIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-brat.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/AppIcon-White.png b/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/AppIcon-White.png deleted file mode 100644 index 83452ed..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/AppIcon-White.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/AppIcon.png b/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/AppIcon.png deleted file mode 100644 index 221a240..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/DefaultIcon.imageset/AppIcon.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/PinkIcon.imageset/AppIcon-pink.png b/Threaded/Assets.xcassets/AppIconsPrevis/PinkIcon.imageset/AppIcon-pink.png deleted file mode 100644 index 7bbb8ad..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/PinkIcon.imageset/AppIcon-pink.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/PinkIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/PinkIcon.imageset/Contents.json deleted file mode 100644 index e553e47..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/PinkIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-pink.png", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/PrideIcon.imageset/AppIcon-pride.jpg b/Threaded/Assets.xcassets/AppIconsPrevis/PrideIcon.imageset/AppIcon-pride.jpg deleted file mode 100644 index 24ed1b8..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/PrideIcon.imageset/AppIcon-pride.jpg and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/PrideIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/PrideIcon.imageset/Contents.json deleted file mode 100644 index eddd240..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/PrideIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-pride.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/PurpleIcon.imageset/AppIcon-purple.jpg b/Threaded/Assets.xcassets/AppIconsPrevis/PurpleIcon.imageset/AppIcon-purple.jpg deleted file mode 100644 index 9a6a49e..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/PurpleIcon.imageset/AppIcon-purple.jpg and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/PurpleIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/PurpleIcon.imageset/Contents.json deleted file mode 100644 index 4456577..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/PurpleIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-purple.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/RedIcon.imageset/AppIcon-red.png b/Threaded/Assets.xcassets/AppIconsPrevis/RedIcon.imageset/AppIcon-red.png deleted file mode 100644 index 36ec8bd..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/RedIcon.imageset/AppIcon-red.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/RedIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/RedIcon.imageset/Contents.json deleted file mode 100644 index 6181339..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/RedIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-red.png", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/StoneIcon.imageset/AppIcon-stone.png b/Threaded/Assets.xcassets/AppIconsPrevis/StoneIcon.imageset/AppIcon-stone.png deleted file mode 100644 index 5280b4a..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/StoneIcon.imageset/AppIcon-stone.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/StoneIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/StoneIcon.imageset/Contents.json deleted file mode 100644 index 2267dc8..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/StoneIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-stone.png", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/TwitterIcon.imageset/AppIcon-twitter.jpg b/Threaded/Assets.xcassets/AppIconsPrevis/TwitterIcon.imageset/AppIcon-twitter.jpg deleted file mode 100644 index c1a87a0..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/TwitterIcon.imageset/AppIcon-twitter.jpg and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/TwitterIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/TwitterIcon.imageset/Contents.json deleted file mode 100644 index 335b711..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/TwitterIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-twitter.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/YellowIcon.imageset/AppIcon-yellow.png b/Threaded/Assets.xcassets/AppIconsPrevis/YellowIcon.imageset/AppIcon-yellow.png deleted file mode 100644 index d918189..0000000 Binary files a/Threaded/Assets.xcassets/AppIconsPrevis/YellowIcon.imageset/AppIcon-yellow.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/AppIconsPrevis/YellowIcon.imageset/Contents.json b/Threaded/Assets.xcassets/AppIconsPrevis/YellowIcon.imageset/Contents.json deleted file mode 100644 index a579a15..0000000 --- a/Threaded/Assets.xcassets/AppIconsPrevis/YellowIcon.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "AppIcon-yellow.png", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/Contents.json b/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/Contents.json deleted file mode 100644 index 78c34a6..0000000 --- a/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "filename" : "HeroIcon_black.png", - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "HeroIcon_white.png", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_black.png b/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_black.png deleted file mode 100644 index e9a8e46..0000000 Binary files a/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_black.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_white.png b/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_white.png deleted file mode 100644 index 82731ae..0000000 Binary files a/Threaded/Assets.xcassets/Hero/HeroIcon.imageset/HeroIcon_white.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_black.png b/Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_black.png deleted file mode 100644 index cd08993..0000000 Binary files a/Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_black.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_white.png b/Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_white.png deleted file mode 100644 index 7e8e4eb..0000000 Binary files a/Threaded/Assets.xcassets/Hero/HeroLaunch.imageset/HeroLaunch_white.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/PlusIcon_black.png b/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/PlusIcon_black.png deleted file mode 100644 index 2591431..0000000 Binary files a/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/PlusIcon_black.png and /dev/null differ diff --git a/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/PlusIcon_white.png b/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/PlusIcon_white.png deleted file mode 100644 index 67a836c..0000000 Binary files a/Threaded/Assets.xcassets/Hero/HeroPlus.imageset/PlusIcon_white.png and /dev/null differ diff --git a/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_black.png b/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_black.png deleted file mode 100644 index e9a8e46..0000000 Binary files a/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_black.png and /dev/null differ diff --git a/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_white.png b/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_white.png deleted file mode 100644 index 82731ae..0000000 Binary files a/ThreadedWidgets/Assets.xcassets/HeroIcon.imageset/HeroIcon_white.png and /dev/null differ