diff --git a/Mlem.xcodeproj/project.pbxproj b/Mlem.xcodeproj/project.pbxproj index 450eaeb8e..11b9c668f 100644 --- a/Mlem.xcodeproj/project.pbxproj +++ b/Mlem.xcodeproj/project.pbxproj @@ -160,15 +160,9 @@ 50F2851C2A5C5C1500CF8865 /* TokenRefreshView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50F2851B2A5C5C1500CF8865 /* TokenRefreshView.swift */; }; 50F830F82A4C92BF00D67099 /* FeedTrackerItemProviding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50F830F72A4C92BF00D67099 /* FeedTrackerItemProviding.swift */; }; 50F830FA2A4C935C00D67099 /* FeedTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50F830F92A4C935C00D67099 /* FeedTracker.swift */; }; - 6307378D2A1CEB7C00039852 /* My Vote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6307378C2A1CEB7C00039852 /* My Vote.swift */; }; - 6314C9EB2A18D9C500B08405 /* Reply Editor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6314C9EA2A18D9C500B08405 /* Reply Editor.swift */; }; - 6314C9EE2A18EF3A00B08405 /* Keyboard Accessories.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6314C9ED2A18EF3A00B08405 /* Keyboard Accessories.swift */; }; 6317ABCB2A37292700603D76 /* FeedType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6317ABCA2A37292700603D76 /* FeedType.swift */; }; 6318DE5427FB958800CC2AD6 /* Stickied Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6318DE5327FB958800CC2AD6 /* Stickied Tag.swift */; }; 6318EDC327EE4D7F00BFCAE8 /* Feed Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6318EDC227EE4D7F00BFCAE8 /* Feed Post.swift */; }; - 6318EDC727EE4E1500BFCAE8 /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6318EDC627EE4E1500BFCAE8 /* Post.swift */; }; - 6318EDC927EE4E1C00BFCAE8 /* Comment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6318EDC827EE4E1C00BFCAE8 /* Comment.swift */; }; - 6318EDCB27EE4E2200BFCAE8 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6318EDCA27EE4E2200BFCAE8 /* User.swift */; }; 6322A5CB27F77A4D00135D4F /* Loading View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6322A5CA27F77A4D00135D4F /* Loading View.swift */; }; 6322A5D027F8629700135D4F /* UserLinkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6322A5CF27F8629700135D4F /* UserLinkView.swift */; }; 6322A5D227F88CFD00135D4F /* Time Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6322A5D127F88CFD00135D4F /* Time Parser.swift */; }; @@ -178,13 +172,10 @@ 6332FDBD27EFAF7C0009A98A /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 6332FDBC27EFAF7B0009A98A /* Settings.bundle */; }; 6332FDC027EFB05F0009A98A /* Settings Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6332FDBF27EFB05F0009A98A /* Settings Item.swift */; }; 6332FDC327EFCB5F0009A98A /* Color+Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6332FDC227EFCB5F0009A98A /* Color+Colors.swift */; }; - 63344C4D2A07ABEE001BC616 /* Community.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C4C2A07ABEE001BC616 /* Community.swift */; }; 63344C4F2A07BD2A001BC616 /* Filters Tracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C4E2A07BD2A001BC616 /* Filters Tracker.swift */; }; 63344C542A07D193001BC616 /* FiltersSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C532A07D193001BC616 /* FiltersSettingsView.swift */; }; 63344C562A07D81D001BC616 /* Array+Prepend.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C552A07D81D001BC616 /* Array+Prepend.swift */; }; 63344C582A07DB9A001BC616 /* Array+MoveElements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C572A07DB9A001BC616 /* Array+MoveElements.swift */; }; - 63344C5D2A08070B001BC616 /* Critical Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C5C2A08070B001BC616 /* Critical Errors.swift */; }; - 63344C602A080CA1001BC616 /* Outlined Web Complex Style.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C5F2A080CA1001BC616 /* Outlined Web Complex Style.swift */; }; 63344C622A08460D001BC616 /* View+Border.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C612A08460D001BC616 /* View+Border.swift */; }; 63344C672A08D4E3001BC616 /* AppearanceSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C662A08D4E3001BC616 /* AppearanceSettingsView.swift */; }; 63344C712A098060001BC616 /* Sidebar View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63344C702A098060001BC616 /* Sidebar View.swift */; }; @@ -261,7 +252,6 @@ 6386E0402A045723006B3C1D /* Website Icon Complex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6386E03F2A045723006B3C1D /* Website Icon Complex.swift */; }; 63A09B69285F53E9004F0032 /* Error View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A09B68285F53E9004F0032 /* Error View.swift */; }; 63ABCE0E27F894060047A7D0 /* User View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63ABCE0D27F894060047A7D0 /* User View.swift */; }; - 63CE4E732A06F5A100405271 /* Access Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63CE4E722A06F5A100405271 /* Access Token.swift */; }; 63D24ED92A169A5F005CCA81 /* UIApplication+FirstKeyWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D24ED82A169A5F005CCA81 /* UIApplication+FirstKeyWindow.swift */; }; 63D24EDC2A169F12005CCA81 /* MarkdownUI in Frameworks */ = {isa = PBXBuildFile; productRef = 63D24EDB2A169F12005CCA81 /* MarkdownUI */; }; 63D24EDE2A169F2A005CCA81 /* Markdown View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D24EDD2A169F2A005CCA81 /* Markdown View.swift */; }; @@ -709,16 +699,10 @@ 50F2851B2A5C5C1500CF8865 /* TokenRefreshView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenRefreshView.swift; sourceTree = ""; }; 50F830F72A4C92BF00D67099 /* FeedTrackerItemProviding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedTrackerItemProviding.swift; sourceTree = ""; }; 50F830F92A4C935C00D67099 /* FeedTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedTracker.swift; sourceTree = ""; }; - 6307378C2A1CEB7C00039852 /* My Vote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "My Vote.swift"; sourceTree = ""; }; 630D753C27F65E44006E60C9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 6314C9EA2A18D9C500B08405 /* Reply Editor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Reply Editor.swift"; sourceTree = ""; }; - 6314C9ED2A18EF3A00B08405 /* Keyboard Accessories.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Keyboard Accessories.swift"; sourceTree = ""; }; 6317ABCA2A37292700603D76 /* FeedType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedType.swift; sourceTree = ""; }; 6318DE5327FB958800CC2AD6 /* Stickied Tag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Stickied Tag.swift"; sourceTree = ""; }; 6318EDC227EE4D7F00BFCAE8 /* Feed Post.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Feed Post.swift"; sourceTree = ""; }; - 6318EDC627EE4E1500BFCAE8 /* Post.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Post.swift; sourceTree = ""; }; - 6318EDC827EE4E1C00BFCAE8 /* Comment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Comment.swift; sourceTree = ""; }; - 6318EDCA27EE4E2200BFCAE8 /* User.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = ""; }; 6322A5CA27F77A4D00135D4F /* Loading View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Loading View.swift"; sourceTree = ""; }; 6322A5CF27F8629700135D4F /* UserLinkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserLinkView.swift; sourceTree = ""; }; 6322A5D127F88CFD00135D4F /* Time Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Time Parser.swift"; sourceTree = ""; }; @@ -728,13 +712,10 @@ 6332FDBC27EFAF7B0009A98A /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; 6332FDBF27EFB05F0009A98A /* Settings Item.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Settings Item.swift"; sourceTree = ""; }; 6332FDC227EFCB5F0009A98A /* Color+Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Colors.swift"; sourceTree = ""; }; - 63344C4C2A07ABEE001BC616 /* Community.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Community.swift; sourceTree = ""; }; 63344C4E2A07BD2A001BC616 /* Filters Tracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Filters Tracker.swift"; sourceTree = ""; }; 63344C532A07D193001BC616 /* FiltersSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FiltersSettingsView.swift; sourceTree = ""; }; 63344C552A07D81D001BC616 /* Array+Prepend.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Prepend.swift"; sourceTree = ""; }; 63344C572A07DB9A001BC616 /* Array+MoveElements.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+MoveElements.swift"; sourceTree = ""; }; - 63344C5C2A08070B001BC616 /* Critical Errors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Critical Errors.swift"; sourceTree = ""; }; - 63344C5F2A080CA1001BC616 /* Outlined Web Complex Style.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Outlined Web Complex Style.swift"; sourceTree = ""; }; 63344C612A08460D001BC616 /* View+Border.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Border.swift"; sourceTree = ""; }; 63344C662A08D4E3001BC616 /* AppearanceSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceSettingsView.swift; sourceTree = ""; }; 63344C702A098060001BC616 /* Sidebar View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sidebar View.swift"; sourceTree = ""; }; @@ -813,7 +794,6 @@ 6386E03F2A045723006B3C1D /* Website Icon Complex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Website Icon Complex.swift"; sourceTree = ""; }; 63A09B68285F53E9004F0032 /* Error View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Error View.swift"; sourceTree = ""; }; 63ABCE0D27F894060047A7D0 /* User View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "User View.swift"; sourceTree = ""; }; - 63CE4E722A06F5A100405271 /* Access Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Access Token.swift"; sourceTree = ""; }; 63D24ED82A169A5F005CCA81 /* UIApplication+FirstKeyWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIApplication+FirstKeyWindow.swift"; sourceTree = ""; }; 63D24EDD2A169F2A005CCA81 /* Markdown View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Markdown View.swift"; sourceTree = ""; }; 63DF71F02A02999C002AC14E /* App Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "App Constants.swift"; sourceTree = ""; }; @@ -1520,18 +1500,6 @@ path = Feed; sourceTree = ""; }; - 630049E927EF38EB00D5105B /* User-Interactable */ = { - isa = PBXGroup; - children = ( - 6318EDC627EE4E1500BFCAE8 /* Post.swift */, - 6318EDC827EE4E1C00BFCAE8 /* Comment.swift */, - 6318EDCA27EE4E2200BFCAE8 /* User.swift */, - 63344C4C2A07ABEE001BC616 /* Community.swift */, - CD05E77E2A4F263B0081D102 /* Menu Function.swift */, - ); - path = "User-Interactable"; - sourceTree = ""; - }; 630049EB27EF390900D5105B /* Networking */ = { isa = PBXGroup; children = ( @@ -1542,15 +1510,6 @@ path = Networking; sourceTree = ""; }; - 6314C9EC2A18EF2D00B08405 /* Reply Editor */ = { - isa = PBXGroup; - children = ( - 6314C9EA2A18D9C500B08405 /* Reply Editor.swift */, - 6314C9ED2A18EF3A00B08405 /* Keyboard Accessories.swift */, - ); - path = "Reply Editor"; - sourceTree = ""; - }; 6318DE5227FB956D00CC2AD6 /* Components */ = { isa = PBXGroup; children = ( @@ -1568,10 +1527,9 @@ B14E93BE2A45CA1A00D6DA93 /* Navigation Contexts */, CD2E18282A3B706300224F8A /* Settings */, 6386E0282A03D0B8006B3C1D /* Trackers */, - 630049E927EF38EB00D5105B /* User-Interactable */, 6386E0352A042C59006B3C1D /* Contributor.swift */, + CD05E77E2A4F263B0081D102 /* Menu Function.swift */, 63F0C7A52A05225100A18C5D /* Saved Account.swift */, - 63CE4E722A06F5A100405271 /* Access Token.swift */, 030E863E2AC6C5E9000283A6 /* PictrsImageModel.swift */, 030D00842AD1B94F00953B1D /* UserFlair.swift */, 63E5D3932A13CF3600EC1FBD /* Favorite Community.swift */, @@ -1697,18 +1655,9 @@ path = Views; sourceTree = ""; }; - 63344C592A080688001BC616 /* Errors */ = { - isa = PBXGroup; - children = ( - 63344C5C2A08070B001BC616 /* Critical Errors.swift */, - ); - path = Errors; - sourceTree = ""; - }; 63344C5E2A080C5F001BC616 /* Styles */ = { isa = PBXGroup; children = ( - 63344C5F2A080CA1001BC616 /* Outlined Web Complex Style.swift */, CD04D5DE2A361585008EF95B /* Empty Button Style.swift */, ); path = Styles; @@ -2076,7 +2025,6 @@ ADF266932A4E89F800EBA648 /* Composer */, CD525F662A4B892900BCA794 /* Links */, E453A1CE2A81C1F20004BB8A /* Quick Look */, - 6314C9EC2A18EF2D00B08405 /* Reply Editor */, 63A09B68285F53E9004F0032 /* Error View.swift */, 6322A5CA27F77A4D00135D4F /* Loading View.swift */, 6386E03F2A045723006B3C1D /* Website Icon Complex.swift */, @@ -2107,9 +2055,7 @@ children = ( 6DA7E9A02A50763B0095AB68 /* User */, CD64832B2A38CE4200EE6CA3 /* Settings */, - 63344C592A080688001BC616 /* Errors */, 6317ABCA2A37292700603D76 /* FeedType.swift */, - 6307378C2A1CEB7C00039852 /* My Vote.swift */, CD6483352A39F20800EE6CA3 /* Post Type.swift */, 6DCE71282A53C26600CFEB5E /* ServerInstanceLocation.swift */, CDDCF6522A677F45003DA3AC /* TabSelection.swift */, @@ -3066,7 +3012,6 @@ 03EEEAF32AB8DCDF0087F8D8 /* CommunityResultView.swift in Sources */, E47478132AAC350E001CB1AC /* NavigationLink+Helpers.swift in Sources */, 5064D0432A6E645D00B22EE3 /* Notifiable.swift in Sources */, - 6318EDCB27EE4E2200BFCAE8 /* User.swift in Sources */, 039439932A99098900463032 /* InternetConnectionManager.swift in Sources */, CD82A2592A71775E00111034 /* UnreadTracker.swift in Sources */, CDEBC32E2A9A583900518D9D /* Post Tracker.swift in Sources */, @@ -3093,7 +3038,6 @@ 637218702A3A2AAD008C4816 /* ResolveObject.swift in Sources */, CDE6A8162A490AE00062D161 /* InboxMessageBodyView.swift in Sources */, CD04D5DD2A361564008EF95B /* ReplyButtonView.swift in Sources */, - 6314C9EB2A18D9C500B08405 /* Reply Editor.swift in Sources */, CD4368D22AE2460100BD8BD1 /* ReplyTracker.swift in Sources */, CD9A49D32B045B81001E18A0 /* ZoomableImageView.swift in Sources */, 6DFF50452A48E373001E648D /* GetPrivateMessages.swift in Sources */, @@ -3126,7 +3070,6 @@ CDB0117F2A6F70A000D043EB /* Editor Tracker.swift in Sources */, 030E86482AC6FD1D000283A6 /* _assignIfNotEqual.swift in Sources */, 6354F30A2A2E20040074C08D /* View+Alert.swift in Sources */, - 6318EDC727EE4E1500BFCAE8 /* Post.swift in Sources */, 03EC92992AC0BF8A007BBE7E /* APIClient+Pictrs.swift in Sources */, 6372186C2A3A2AAD008C4816 /* SaveComment.swift in Sources */, CD4368B62AE23F4700BD8BD1 /* ParentTracker.swift in Sources */, @@ -3225,7 +3168,6 @@ 50CC4A742A9CB10B0074C845 /* TimestampedValue.swift in Sources */, 505240E72A88D36D00EA4558 /* SectionIndexTitles.swift in Sources */, 5064D0452A71549C00B22EE3 /* NotificationMessage.swift in Sources */, - 63344C4D2A07ABEE001BC616 /* Community.swift in Sources */, E4F0B56F2ABD00A000BC3E4A /* View+PresentationBackgroundInteraction.swift in Sources */, 6D693A4C2A51B99E009E2D76 /* APICommentReport.swift in Sources */, 030E863B2AC6C3B1000283A6 /* PictrsRespository.swift in Sources */, @@ -3321,7 +3263,6 @@ 6372184B2A3A2AAD008C4816 /* APIPostAggregates.swift in Sources */, 50A8812C2A72D727003E3661 /* CommunityRepository+Dependency.swift in Sources */, 0394398F2A98EB2300463032 /* APIComment+Mock.swift in Sources */, - 63CE4E732A06F5A100405271 /* Access Token.swift in Sources */, E453477E2A9DE37300D1B46F /* Array+SafeIndexing.swift in Sources */, CD4368BE2AE23FA600BD8BD1 /* LoadingState.swift in Sources */, CD9DD8852A62302A0044EA8E /* ConcreteEditorModel.swift in Sources */, @@ -3349,7 +3290,6 @@ 03E90FB12B3703ED00E5A802 /* AccountSortMode.swift in Sources */, CDC1C93C2A7AA76000072E3D /* InternetSpeed.swift in Sources */, 50EC39B22A346DDC00E014C2 /* URLHandler.swift in Sources */, - 63344C602A080CA1001BC616 /* Outlined Web Complex Style.swift in Sources */, 63F0C7BF2A058EDE00A18C5D /* Get Correct URL to Endpoint.swift in Sources */, 632E8EE827EE63DB007E8D75 /* DownvoteButtonView.swift in Sources */, 50D61E5B2AA32B9400A926EC /* APISession.swift in Sources */, @@ -3377,14 +3317,12 @@ 50A881282A71D66B003E3661 /* APIClient+Community.swift in Sources */, 039C8DB72B35A32D0096BAAF /* AccountSwitcherSettingsView.swift in Sources */, CD29ED472B2E8785006937CE /* EnvironmentValues+NavigationPath.swift in Sources */, - 6307378D2A1CEB7C00039852 /* My Vote.swift in Sources */, 50F830FA2A4C935C00D67099 /* FeedTracker.swift in Sources */, CD2053142ACBAF150000AA38 /* AvatarType.swift in Sources */, CD69F55D2A400DF50028D4F7 /* UIUserInterfaceStyle+SettingsOptions.swift in Sources */, CDF1EF182A6C40C9003594B6 /* Menu Button.swift in Sources */, 6D91D4552A415994006B8F9A /* CommunityListSidebarEntry.swift in Sources */, 50A8812A2A72D6BD003E3661 /* CommunityRepository.swift in Sources */, - 6318EDC927EE4E1C00BFCAE8 /* Comment.swift in Sources */, 038A16E72A7A9C430087987E /* LayoutWidgetCollection.swift in Sources */, 6322A5D227F88CFD00135D4F /* Time Parser.swift in Sources */, AD1B0D352A5F63F60006F554 /* AboutView.swift in Sources */, @@ -3484,7 +3422,6 @@ 03B7AAEF2ABCB9DC00068B23 /* ContentTracker.swift in Sources */, 50811B2C2A920443006BA3F2 /* Date+Mock.swift in Sources */, CD391FA02A545F8600E213B5 /* Compact Post.swift in Sources */, - 6314C9EE2A18EF3A00B08405 /* Keyboard Accessories.swift in Sources */, B1A5A8152A4C882F00F203DB /* AlternativeIcon.swift in Sources */, 637218512A3A2AAD008C4816 /* APILocalSiteRateLimit.swift in Sources */, 50BC1ABB2A8D6A5A00E3C48B /* ScoringOperation.swift in Sources */, @@ -3515,7 +3452,6 @@ CDA217E62A63016A00BDA173 /* ReportMessage.swift in Sources */, CD9DD8832A622A6C0044EA8E /* ReportCommentReply.swift in Sources */, CD3FBCE12A4A836000B2063F /* AllItemsFeedView.swift in Sources */, - 63344C5D2A08070B001BC616 /* Critical Errors.swift in Sources */, 6D91D4582A4159D8006B8F9A /* CommunityListRowViews.swift in Sources */, 63F0C7B92A0533C700A18C5D /* Add Account View.swift in Sources */, 63E5D3922A13CF2300EC1FBD /* Favorite Community Tracker.swift in Sources */, diff --git a/Mlem/Enums/Errors/Critical Errors.swift b/Mlem/Enums/Errors/Critical Errors.swift deleted file mode 100644 index 4aa6c3a96..000000000 --- a/Mlem/Enums/Errors/Critical Errors.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// Critical Errors.swift -// Mlem -// -// Created by David Bureš on 07.05.2023. -// - -import Foundation - -enum CriticalError { - case shittyInternet -} diff --git a/Mlem/Enums/My Vote.swift b/Mlem/Enums/My Vote.swift deleted file mode 100644 index 9d6986720..000000000 --- a/Mlem/Enums/My Vote.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// My Vote.swift -// Mlem -// -// Created by David Bureš on 23.05.2023. -// - -import Foundation - -enum MyVote: Codable, Hashable { - case upvoted, downvoted, none -} diff --git a/Mlem/Models/Access Token.swift b/Mlem/Models/Access Token.swift deleted file mode 100644 index e88a77392..000000000 --- a/Mlem/Models/Access Token.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// Access Token.swift -// Mlem -// -// Created by David Bureš on 06.05.2023. -// - -import Foundation - -class AccessTokenTracker: ObservableObject { - @Published var token: String = "" -} diff --git a/Mlem/Models/User-Interactable/Menu Function.swift b/Mlem/Models/Menu Function.swift similarity index 100% rename from Mlem/Models/User-Interactable/Menu Function.swift rename to Mlem/Models/Menu Function.swift diff --git a/Mlem/Models/User-Interactable/Comment.swift b/Mlem/Models/User-Interactable/Comment.swift deleted file mode 100644 index 5f7ec745a..000000000 --- a/Mlem/Models/User-Interactable/Comment.swift +++ /dev/null @@ -1,92 +0,0 @@ -// -// Comment.swift -// Mlem -// -// Created by David Bureš on 25.03.2022. -// - -import Foundation -import SwiftUI - -struct Comment: Codable, Identifiable, Hashable { - let id: Int - let postID: Int - let creatorID: Int - // let postName: String - let parentID: Int? - var content: String - var removed: Bool - // let read: Bool - let published: Date - var deleted: Bool? - let updated: String? - let apID: URL - let local: Bool - let communityID: Int - let communityLocal: Bool - let communityName: String - let communityIcon: URL? - let communityHideFromAll: Bool - // let creatorBannedFromCommunity: Bool? - let creatorPublished: String - // let creatorTags: CreatorTags_Comment? - // let creatorCommunityTags: JSONNull? - var score: Int - var upvotes: Int - var downvotes: Int - var myVote: MyVote - // let hotRank: Int - // let hotRankActive: Int? - let saved: Bool? - // let subscribed: Bool? - // let userID, myVote: JSONNull? - - let author: User - - let childCount: Int? - var children: [Comment] - - func insertReply(_ reply: Comment) -> Comment { - if id == reply.parentID { - var result = self - result.children.append(reply) - return result - } else if children.isEmpty { - return self - } else { - var result = self - result.children = children.map { $0.insertReply(reply) } - return result - } - } - - /// Locate the reply with the matching ID in the Comment tree - /// and replace it with the specified reply. Note that this - /// cannot change the parent of the reply! - func replaceReply(_ reply: Comment) -> Comment { - if id == reply.id { - assert(parentID == reply.parentID) - return reply - } else if children.isEmpty { - return self - } else { - var result = self - result.children = children.map { $0.replaceReply(reply) } - return result - } - } - - /// Remove the reply with the specified ID from the Comment tree, - /// along with all of its descendents. - func removeReply(id: Int) -> Comment? { - if self.id == id { - return nil - } else if children.isEmpty { - return self - } else { - var result = self - result.children = children.compactMap { $0.removeReply(id: id) } - return result - } - } -} diff --git a/Mlem/Models/User-Interactable/Community.swift b/Mlem/Models/User-Interactable/Community.swift deleted file mode 100644 index a95ca447a..000000000 --- a/Mlem/Models/User-Interactable/Community.swift +++ /dev/null @@ -1,40 +0,0 @@ -// -// Community.swift -// Mlem -// -// Created by David Bureš on 07.05.2023. -// - -import Foundation - -struct Community: Identifiable, Codable, Equatable, Hashable { - let id: Int - - let name: String - let title: String? - let description: String? - let icon: URL? - let banner: URL? - - let createdAt: String? - let updatedAt: String? - - let actorID: URL - - let local: Bool - - let deleted: Bool - let nsfw: Bool - - var details: CommunityDetails? -} - -struct CommunityDetails: Codable, Equatable, Hashable { - var isSubscribed: Bool - - let numberOfSubscribers: Int - let numberOfPosts: Int - let numberOfActiveUsersOverall: Int? - - let moderators: [User] -} diff --git a/Mlem/Models/User-Interactable/Post.swift b/Mlem/Models/User-Interactable/Post.swift deleted file mode 100644 index ddd5aaf72..000000000 --- a/Mlem/Models/User-Interactable/Post.swift +++ /dev/null @@ -1,62 +0,0 @@ -// -// Post.swift -// Mlem -// -// Created by David Bureš on 25.03.2022. -// - -import Foundation -import SwiftUI - -struct Post: Codable, Identifiable, Equatable, Hashable { - // This is here to make Post equatable - static func == (lhs: Post, rhs: Post) -> Bool { - lhs.hashValue == rhs.hashValue - } - - let id: Int - var name: String - var url: URL? - let body: String? - let removed, locked: Bool? - let published: Date - let updated: String? - let deleted, nsfw, stickied: Bool - let embedTitle, embedDescription, embedHTML: String? - let thumbnailURL: URL? - let apID: String - let local: Bool - // let creatorActorID: String - // let creatorLocal: Bool - let postedAt: String - // let creatorTags: CreatorTags? - // let creatorCommunityTags: JSONNull? - // let banned, bannedFromCommunity: Bool - var numberOfComments, score, upvotes, downvotes: Int - var myVote: MyVote - let hotRank, hotRankActive: Int? - let newestActivityTime: String? - // let userID: Int? - // let subscribed: Bool? - // let read: Bool? - - var saved: Bool - var read: Bool - - var unreadComments: Int - - let author: User - - let community: Community - - func hash(into hasher: inout Hasher) { - hasher.combine(id) - hasher.combine(updated) - hasher.combine(deleted) - hasher.combine(postedAt) - hasher.combine(myVote) - hasher.combine(saved) - hasher.combine(read) - hasher.combine(unreadComments) - } -} diff --git a/Mlem/Models/User-Interactable/User.swift b/Mlem/Models/User-Interactable/User.swift deleted file mode 100644 index e18807044..000000000 --- a/Mlem/Models/User-Interactable/User.swift +++ /dev/null @@ -1,44 +0,0 @@ -// -// User.swift -// Mlem -// -// Created by David Bureš on 25.03.2022. -// - -import Foundation -import SwiftUI - -struct User: Codable, Identifiable, Hashable { - let id: Int - - let name: String - let displayName: String? - - let avatarLink: URL? - let bannerLink: URL? - let inboxLink: URL? - - let bio: String? - - let banned: Bool - - let actorID: URL - - let local: Bool - let deleted: Bool - let admin: Bool - - let bot: Bool - - let onInstanceID: Int - - var details: UserDetails? -} - -struct UserDetails: Codable, Hashable { - let commentScore: Int - let postScore: Int - - let commentNumber: Int - let postNumber: Int -} diff --git a/Mlem/Styles/Outlined Web Complex Style.swift b/Mlem/Styles/Outlined Web Complex Style.swift deleted file mode 100644 index dbcb31133..000000000 --- a/Mlem/Styles/Outlined Web Complex Style.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// Outlined Web Complex Style.swift -// Mlem -// -// Created by David Bureš on 07.05.2023. -// - -import Foundation -import SwiftUI - -struct OutlinedWebComplexStyle: GroupBoxStyle { - var roundedRectangle: RoundedRectangle = .init(cornerRadius: 8, style: .continuous) - - func makeBody(configuration: Configuration) -> some View { - VStack(alignment: .leading) { - configuration.label - configuration.content - } - .background(Color.systemBackground) - .clipShape(roundedRectangle) - .overlay( - roundedRectangle - .stroke(Color(.secondarySystemBackground), lineWidth: 1) - ) - } -} diff --git a/Mlem/Views/Shared/Reply Editor/Keyboard Accessories.swift b/Mlem/Views/Shared/Reply Editor/Keyboard Accessories.swift deleted file mode 100644 index 2166771eb..000000000 --- a/Mlem/Views/Shared/Reply Editor/Keyboard Accessories.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// Keyboard Accessories.swift -// Mlem -// -// Created by David Bureš on 20.05.2023. -// - -import SwiftUI - -struct KeyboardAccessories: View { - var body: some View { - Text("Ahoj") - } -} diff --git a/Mlem/Views/Shared/Reply Editor/Reply Editor.swift b/Mlem/Views/Shared/Reply Editor/Reply Editor.swift deleted file mode 100644 index 9d73989af..000000000 --- a/Mlem/Views/Shared/Reply Editor/Reply Editor.swift +++ /dev/null @@ -1,51 +0,0 @@ -// -// Reply Editor.swift -// Mlem -// -// Created by David Bureš on 20.05.2023. -// - -import SwiftUI - -struct ReplyEditor: UIViewRepresentable { - @Binding var text: String - - func makeUIView(context: Context) -> UITextView { - let textField = UITextView() - - textField.font = .systemFont(ofSize: 15) - - textField.becomeFirstResponder() - - textField.delegate = context.coordinator - - return textField - } - - func updateUIView(_ textField: UITextView, context _: Context) { - textField.text = text - } - - func makeCoordinator() -> Coordinator { - Coordinator(text: $text) - } - - class Coordinator: NSObject, UITextViewDelegate { - @Binding var text: String - - init(text: Binding) { - _text = text - } - - func textViewDidChange(_ textView: UITextView) { - if let selectedRange = textView.selectedTextRange { - let cursorPosition = textView.offset(from: textView.beginningOfDocument, to: selectedRange.start) - print("Cursor position: \(cursorPosition)") - } - - text = textView.text - } - } - - typealias UIViewType = UITextView -}