diff --git a/MyPlayground.playground/Contents.swift b/MyPlayground.playground/Contents.swift deleted file mode 100644 index 37b4371439..0000000000 --- a/MyPlayground.playground/Contents.swift +++ /dev/null @@ -1,14 +0,0 @@ -import UIKit - -let regex = try! NSRegularExpression(pattern: ":[a-zA-Z0-9_]+:", options: []) - -func stripCustomEmoji(from string: String) -> String { - let range = NSRange(location: 0, length: string.utf16.count) - return regex.stringByReplacingMatches(in: string, options: [], range: range, withTemplate: "") -} - -let result = stripCustomEmoji(from: ":sparkles_nb: 🦑 :dizzy_trans:") - -stripCustomEmoji(from: ":dizzy_trans:") -stripCustomEmoji(from: " 🦑 :dizzy_trans:") -stripCustomEmoji(from: " :dizzy_trans:") diff --git a/MyPlayground.playground/contents.xcplayground b/MyPlayground.playground/contents.xcplayground deleted file mode 100644 index 9f5f2f40c8..0000000000 --- a/MyPlayground.playground/contents.xcplayground +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Tusker.xcodeproj/project.pbxproj b/Tusker.xcodeproj/project.pbxproj index ffacf2adb1..9c5c7fb805 100644 --- a/Tusker.xcodeproj/project.pbxproj +++ b/Tusker.xcodeproj/project.pbxproj @@ -129,7 +129,6 @@ D663626721360E2C00C9CBA2 /* PreferencesTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesTableViewController.swift; sourceTree = ""; }; D66362692136163000C9CBA2 /* PreferencesAdaptive.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesAdaptive.swift; sourceTree = ""; }; D663626B21361C6700C9CBA2 /* Account+Preferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Account+Preferences.swift"; sourceTree = ""; }; - D663626D213629B300C9CBA2 /* MyPlayground.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = MyPlayground.playground; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.swift; }; D663626E213632A000C9CBA2 /* Compose.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Compose.storyboard; sourceTree = ""; }; D66362702136338600C9CBA2 /* ComposeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComposeViewController.swift; sourceTree = ""; }; D66362722136FFC600C9CBA2 /* UITextView+Placeholder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextView+Placeholder.swift"; sourceTree = ""; }; @@ -194,6 +193,135 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + D641C780213DD7C4004B4513 /* Screens */ = { + isa = PBXGroup; + children = ( + D641C782213DD7F0004B4513 /* Main */, + D641C783213DD7FE004B4513 /* Onboarding */, + D641C781213DD7DD004B4513 /* Timeline */, + D641C784213DD819004B4513 /* Profile */, + D641C785213DD83B004B4513 /* Conversation */, + D641C786213DD852004B4513 /* Notifications */, + D641C787213DD862004B4513 /* Compose */, + D641C788213DD86D004B4513 /* Large Image */, + D641C789213DD87E004B4513 /* Preferences */, + ); + path = Screens; + sourceTree = ""; + }; + D641C781213DD7DD004B4513 /* Timeline */ = { + isa = PBXGroup; + children = ( + D6F953ED21251A0700CF0F2B /* Timeline.storyboard */, + D6F953EB212519E700CF0F2B /* TimelineTableViewController.swift */, + ); + path = Timeline; + sourceTree = ""; + }; + D641C782213DD7F0004B4513 /* Main */ = { + isa = PBXGroup; + children = ( + D6D4DDD3212518A000E1C4BB /* Main.storyboard */, + 04DACE8B212CB14B009840C4 /* MainTabBarViewController.swift */, + ); + path = Main; + sourceTree = ""; + }; + D641C783213DD7FE004B4513 /* Onboarding */ = { + isa = PBXGroup; + children = ( + D64D0AAE2128D954005A6F37 /* Onboarding.storyboard */, + D64D0AB02128D9AE005A6F37 /* OnboardingViewController.swift */, + ); + path = Onboarding; + sourceTree = ""; + }; + D641C784213DD819004B4513 /* Profile */ = { + isa = PBXGroup; + children = ( + D667E5E2213499F70057A976 /* Profile.storyboard */, + D667E5E621349D4C0057A976 /* ProfileTableViewController.swift */, + ); + path = Profile; + sourceTree = ""; + }; + D641C785213DD83B004B4513 /* Conversation */ = { + isa = PBXGroup; + children = ( + D667E5F22135BC260057A976 /* Conversation.storyboard */, + D667E5F42135BCD50057A976 /* ConversationViewController.swift */, + ); + path = Conversation; + sourceTree = ""; + }; + D641C786213DD852004B4513 /* Notifications */ = { + isa = PBXGroup; + children = ( + D641C770213CA9EC004B4513 /* Notifications.storyboard */, + D641C772213CAA25004B4513 /* NotificationsTableViewController.swift */, + ); + path = Notifications; + sourceTree = ""; + }; + D641C787213DD862004B4513 /* Compose */ = { + isa = PBXGroup; + children = ( + D663626E213632A000C9CBA2 /* Compose.storyboard */, + D66362702136338600C9CBA2 /* ComposeViewController.swift */, + ); + path = Compose; + sourceTree = ""; + }; + D641C788213DD86D004B4513 /* Large Image */ = { + isa = PBXGroup; + children = ( + D646C954213B364600269FB5 /* Transitions */, + D6C94D862139E62700CB5196 /* LargeImageViewController.swift */, + D6C94D842139DFD800CB5196 /* LargeImage.storyboard */, + ); + path = "Large Image"; + sourceTree = ""; + }; + D641C789213DD87E004B4513 /* Preferences */ = { + isa = PBXGroup; + children = ( + D663626721360E2C00C9CBA2 /* PreferencesTableViewController.swift */, + D663626521360DD700C9CBA2 /* Preferences.storyboard */, + ); + path = Preferences; + sourceTree = ""; + }; + D641C78A213DD926004B4513 /* Status */ = { + isa = PBXGroup; + children = ( + D667E5E02134937B0057A976 /* StatusTableViewCell.xib */, + D6BED173212667E900F02DA0 /* StatusTableViewCell.swift */, + D663625C2135C74800C9CBA2 /* ConversationMainStatusTableViewCell.xib */, + D663625E2135C75500C9CBA2 /* ConversationMainStatusTableViewCell.swift */, + ); + path = Status; + sourceTree = ""; + }; + D641C78B213DD92F004B4513 /* Profile Header */ = { + isa = PBXGroup; + children = ( + D667E5E821349EE50057A976 /* ProfileHeaderTableViewCell.xib */, + D667E5EA21349EF80057A976 /* ProfileHeaderTableViewCell.swift */, + ); + path = "Profile Header"; + sourceTree = ""; + }; + D641C78C213DD937004B4513 /* Notifications */ = { + isa = PBXGroup; + children = ( + D641C778213CAC56004B4513 /* ActionNotificationTableViewCell.xib */, + D641C776213CAA9E004B4513 /* ActionNotificationTableViewCell.swift */, + D641C77A213CB017004B4513 /* FollowNotificationTableViewCell.xib */, + D641C77C213CB024004B4513 /* FollowNotificationTableViewCell.swift */, + ); + path = Notifications; + sourceTree = ""; + }; D646C954213B364600269FB5 /* Transitions */ = { isa = PBXGroup; children = ( @@ -233,19 +361,12 @@ children = ( D64A0CD22132153900640E3B /* HTMLContentLabel.swift */, D667E5EE2134C39F0057A976 /* StatusContentLabel.swift */, - D667E5E02134937B0057A976 /* StatusTableViewCell.xib */, - D6BED173212667E900F02DA0 /* StatusTableViewCell.swift */, - D667E5E821349EE50057A976 /* ProfileHeaderTableViewCell.xib */, - D667E5EA21349EF80057A976 /* ProfileHeaderTableViewCell.swift */, - D663625C2135C74800C9CBA2 /* ConversationMainStatusTableViewCell.xib */, - D663625E2135C75500C9CBA2 /* ConversationMainStatusTableViewCell.swift */, - D6333B762138D94E00CE884A /* ComposeMediaView.swift */, D6C94D882139E6EC00CB5196 /* AttachmentView.swift */, - D641C778213CAC56004B4513 /* ActionNotificationTableViewCell.xib */, - D641C776213CAA9E004B4513 /* ActionNotificationTableViewCell.swift */, - D641C77A213CB017004B4513 /* FollowNotificationTableViewCell.xib */, - D641C77C213CB024004B4513 /* FollowNotificationTableViewCell.swift */, + D6333B762138D94E00CE884A /* ComposeMediaView.swift */, D641C77E213DC78A004B4513 /* InlineTextAttachment.swift */, + D641C78A213DD926004B4513 /* Status */, + D641C78B213DD92F004B4513 /* Profile Header */, + D641C78C213DD937004B4513 /* Notifications */, ); path = Views; sourceTree = ""; @@ -253,7 +374,6 @@ D6D4DDC3212518A000E1C4BB = { isa = PBXGroup; children = ( - D663626D213629B300C9CBA2 /* MyPlayground.playground */, D6BED16E212663DA00F02DA0 /* SwiftSoup.framework */, D6F953E6212519A400CF0F2B /* MastodonKit.framework */, D6D4DDCE212518A000E1C4BB /* Tusker */, @@ -283,9 +403,8 @@ D663626021360A9600C9CBA2 /* Preferences */, D667E5F62135C2ED0057A976 /* Extensions */, D6F953F121251A2F00CF0F2B /* Controllers */, - D6F953E9212519B800CF0F2B /* View Controllers */, + D641C780213DD7C4004B4513 /* Screens */, D6BED1722126661300F02DA0 /* Views */, - D6F953EA212519BE00CF0F2B /* Storyboards */, D6D4DDD6212518A200E1C4BB /* Assets.xcassets */, D6D4DDD8212518A200E1C4BB /* LaunchScreen.storyboard */, D6D4DDDB212518A200E1C4BB /* Info.plist */, @@ -311,39 +430,6 @@ path = TuskerUITests; sourceTree = ""; }; - D6F953E9212519B800CF0F2B /* View Controllers */ = { - isa = PBXGroup; - children = ( - D646C954213B364600269FB5 /* Transitions */, - D6F953EB212519E700CF0F2B /* TimelineTableViewController.swift */, - D64D0AB02128D9AE005A6F37 /* OnboardingViewController.swift */, - 04DACE8B212CB14B009840C4 /* MainTabBarViewController.swift */, - D667E5E621349D4C0057A976 /* ProfileTableViewController.swift */, - D667E5F42135BCD50057A976 /* ConversationViewController.swift */, - D663626721360E2C00C9CBA2 /* PreferencesTableViewController.swift */, - D66362702136338600C9CBA2 /* ComposeViewController.swift */, - D6C94D862139E62700CB5196 /* LargeImageViewController.swift */, - D641C772213CAA25004B4513 /* NotificationsTableViewController.swift */, - ); - path = "View Controllers"; - sourceTree = ""; - }; - D6F953EA212519BE00CF0F2B /* Storyboards */ = { - isa = PBXGroup; - children = ( - D6D4DDD3212518A000E1C4BB /* Main.storyboard */, - D6F953ED21251A0700CF0F2B /* Timeline.storyboard */, - D64D0AAE2128D954005A6F37 /* Onboarding.storyboard */, - D667E5E2213499F70057A976 /* Profile.storyboard */, - D667E5F22135BC260057A976 /* Conversation.storyboard */, - D663626521360DD700C9CBA2 /* Preferences.storyboard */, - D663626E213632A000C9CBA2 /* Compose.storyboard */, - D6C94D842139DFD800CB5196 /* LargeImage.storyboard */, - D641C770213CA9EC004B4513 /* Notifications.storyboard */, - ); - path = Storyboards; - sourceTree = ""; - }; D6F953F121251A2F00CF0F2B /* Controllers */ = { isa = PBXGroup; children = ( diff --git a/Tusker/Storyboards/Compose.storyboard b/Tusker/Screens/Compose/Compose.storyboard similarity index 100% rename from Tusker/Storyboards/Compose.storyboard rename to Tusker/Screens/Compose/Compose.storyboard diff --git a/Tusker/View Controllers/ComposeViewController.swift b/Tusker/Screens/Compose/ComposeViewController.swift similarity index 100% rename from Tusker/View Controllers/ComposeViewController.swift rename to Tusker/Screens/Compose/ComposeViewController.swift diff --git a/Tusker/Storyboards/Conversation.storyboard b/Tusker/Screens/Conversation/Conversation.storyboard similarity index 100% rename from Tusker/Storyboards/Conversation.storyboard rename to Tusker/Screens/Conversation/Conversation.storyboard diff --git a/Tusker/View Controllers/ConversationViewController.swift b/Tusker/Screens/Conversation/ConversationViewController.swift similarity index 100% rename from Tusker/View Controllers/ConversationViewController.swift rename to Tusker/Screens/Conversation/ConversationViewController.swift diff --git a/Tusker/Storyboards/LargeImage.storyboard b/Tusker/Screens/Large Image/LargeImage.storyboard similarity index 100% rename from Tusker/Storyboards/LargeImage.storyboard rename to Tusker/Screens/Large Image/LargeImage.storyboard diff --git a/Tusker/View Controllers/LargeImageViewController.swift b/Tusker/Screens/Large Image/LargeImageViewController.swift similarity index 100% rename from Tusker/View Controllers/LargeImageViewController.swift rename to Tusker/Screens/Large Image/LargeImageViewController.swift diff --git a/Tusker/View Controllers/Transitions/LargeImageExpandAnimationController.swift b/Tusker/Screens/Large Image/Transitions/LargeImageExpandAnimationController.swift similarity index 100% rename from Tusker/View Controllers/Transitions/LargeImageExpandAnimationController.swift rename to Tusker/Screens/Large Image/Transitions/LargeImageExpandAnimationController.swift diff --git a/Tusker/View Controllers/Transitions/LargeImageInteractionController.swift b/Tusker/Screens/Large Image/Transitions/LargeImageInteractionController.swift similarity index 100% rename from Tusker/View Controllers/Transitions/LargeImageInteractionController.swift rename to Tusker/Screens/Large Image/Transitions/LargeImageInteractionController.swift diff --git a/Tusker/View Controllers/Transitions/LargeImageShrinkAnimationController.swift b/Tusker/Screens/Large Image/Transitions/LargeImageShrinkAnimationController.swift similarity index 100% rename from Tusker/View Controllers/Transitions/LargeImageShrinkAnimationController.swift rename to Tusker/Screens/Large Image/Transitions/LargeImageShrinkAnimationController.swift diff --git a/Tusker/Storyboards/Base.lproj/Main.storyboard b/Tusker/Screens/Main/Base.lproj/Main.storyboard similarity index 100% rename from Tusker/Storyboards/Base.lproj/Main.storyboard rename to Tusker/Screens/Main/Base.lproj/Main.storyboard diff --git a/Tusker/View Controllers/MainTabBarViewController.swift b/Tusker/Screens/Main/MainTabBarViewController.swift similarity index 100% rename from Tusker/View Controllers/MainTabBarViewController.swift rename to Tusker/Screens/Main/MainTabBarViewController.swift diff --git a/Tusker/Storyboards/Notifications.storyboard b/Tusker/Screens/Notifications/Notifications.storyboard similarity index 100% rename from Tusker/Storyboards/Notifications.storyboard rename to Tusker/Screens/Notifications/Notifications.storyboard diff --git a/Tusker/View Controllers/NotificationsTableViewController.swift b/Tusker/Screens/Notifications/NotificationsTableViewController.swift similarity index 100% rename from Tusker/View Controllers/NotificationsTableViewController.swift rename to Tusker/Screens/Notifications/NotificationsTableViewController.swift diff --git a/Tusker/Storyboards/Onboarding.storyboard b/Tusker/Screens/Onboarding/Onboarding.storyboard similarity index 100% rename from Tusker/Storyboards/Onboarding.storyboard rename to Tusker/Screens/Onboarding/Onboarding.storyboard diff --git a/Tusker/View Controllers/OnboardingViewController.swift b/Tusker/Screens/Onboarding/OnboardingViewController.swift similarity index 100% rename from Tusker/View Controllers/OnboardingViewController.swift rename to Tusker/Screens/Onboarding/OnboardingViewController.swift diff --git a/Tusker/Storyboards/Preferences.storyboard b/Tusker/Screens/Preferences/Preferences.storyboard similarity index 100% rename from Tusker/Storyboards/Preferences.storyboard rename to Tusker/Screens/Preferences/Preferences.storyboard diff --git a/Tusker/View Controllers/PreferencesTableViewController.swift b/Tusker/Screens/Preferences/PreferencesTableViewController.swift similarity index 100% rename from Tusker/View Controllers/PreferencesTableViewController.swift rename to Tusker/Screens/Preferences/PreferencesTableViewController.swift diff --git a/Tusker/Storyboards/Profile.storyboard b/Tusker/Screens/Profile/Profile.storyboard similarity index 100% rename from Tusker/Storyboards/Profile.storyboard rename to Tusker/Screens/Profile/Profile.storyboard diff --git a/Tusker/View Controllers/ProfileTableViewController.swift b/Tusker/Screens/Profile/ProfileTableViewController.swift similarity index 100% rename from Tusker/View Controllers/ProfileTableViewController.swift rename to Tusker/Screens/Profile/ProfileTableViewController.swift diff --git a/Tusker/Storyboards/Timeline.storyboard b/Tusker/Screens/Timeline/Timeline.storyboard similarity index 100% rename from Tusker/Storyboards/Timeline.storyboard rename to Tusker/Screens/Timeline/Timeline.storyboard diff --git a/Tusker/View Controllers/TimelineTableViewController.swift b/Tusker/Screens/Timeline/TimelineTableViewController.swift similarity index 100% rename from Tusker/View Controllers/TimelineTableViewController.swift rename to Tusker/Screens/Timeline/TimelineTableViewController.swift diff --git a/Tusker/Views/ActionNotificationTableViewCell.swift b/Tusker/Views/Notifications/ActionNotificationTableViewCell.swift similarity index 100% rename from Tusker/Views/ActionNotificationTableViewCell.swift rename to Tusker/Views/Notifications/ActionNotificationTableViewCell.swift diff --git a/Tusker/Views/ActionNotificationTableViewCell.xib b/Tusker/Views/Notifications/ActionNotificationTableViewCell.xib similarity index 100% rename from Tusker/Views/ActionNotificationTableViewCell.xib rename to Tusker/Views/Notifications/ActionNotificationTableViewCell.xib diff --git a/Tusker/Views/FollowNotificationTableViewCell.swift b/Tusker/Views/Notifications/FollowNotificationTableViewCell.swift similarity index 100% rename from Tusker/Views/FollowNotificationTableViewCell.swift rename to Tusker/Views/Notifications/FollowNotificationTableViewCell.swift diff --git a/Tusker/Views/FollowNotificationTableViewCell.xib b/Tusker/Views/Notifications/FollowNotificationTableViewCell.xib similarity index 100% rename from Tusker/Views/FollowNotificationTableViewCell.xib rename to Tusker/Views/Notifications/FollowNotificationTableViewCell.xib diff --git a/Tusker/Views/ProfileHeaderTableViewCell.swift b/Tusker/Views/Profile Header/ProfileHeaderTableViewCell.swift similarity index 100% rename from Tusker/Views/ProfileHeaderTableViewCell.swift rename to Tusker/Views/Profile Header/ProfileHeaderTableViewCell.swift diff --git a/Tusker/Views/ProfileHeaderTableViewCell.xib b/Tusker/Views/Profile Header/ProfileHeaderTableViewCell.xib similarity index 100% rename from Tusker/Views/ProfileHeaderTableViewCell.xib rename to Tusker/Views/Profile Header/ProfileHeaderTableViewCell.xib diff --git a/Tusker/Views/ConversationMainStatusTableViewCell.swift b/Tusker/Views/Status/ConversationMainStatusTableViewCell.swift similarity index 100% rename from Tusker/Views/ConversationMainStatusTableViewCell.swift rename to Tusker/Views/Status/ConversationMainStatusTableViewCell.swift diff --git a/Tusker/Views/ConversationMainStatusTableViewCell.xib b/Tusker/Views/Status/ConversationMainStatusTableViewCell.xib similarity index 100% rename from Tusker/Views/ConversationMainStatusTableViewCell.xib rename to Tusker/Views/Status/ConversationMainStatusTableViewCell.xib diff --git a/Tusker/Views/StatusTableViewCell.swift b/Tusker/Views/Status/StatusTableViewCell.swift similarity index 100% rename from Tusker/Views/StatusTableViewCell.swift rename to Tusker/Views/Status/StatusTableViewCell.swift diff --git a/Tusker/Views/StatusTableViewCell.xib b/Tusker/Views/Status/StatusTableViewCell.xib similarity index 100% rename from Tusker/Views/StatusTableViewCell.xib rename to Tusker/Views/Status/StatusTableViewCell.xib