* Add missing actions, hack way to inject options into menu (IOS-229)
* Implement new menu structure (IOS-229)
This doesn't work-work yet, as functionality isn't implemented yet. Also: Special options and traits.
* Add preferredElementSize to submenus (IOS-229)
* Copy Link (IOS-229)
* Open In Browser (IOS-229)
* Boost status from menu (IOS-229)
* Favorite status from menu (IOS-229)
* Fix following-status in menu and don't cache menu (IOS-229)
* Add some destruction, add localization and use "Boost" instead of "Reblog" (IOS-229)
* Use struct instead of tuple for those menu-parts (IOS-229)
* Add moderation-warning-notification-type (IOS-264)
* Add entity for new AccountWarning (IOS-264)
Details see https://github.com/mastodon/mastodon/pull/30065 for now, as there's no documentation (yet)
* re-add file header (IOS-264)
* Add authorization to instance-calls (IOS-264)
This will improve using the app with `LIMITED_FEDERATION_INSTANCES`
* Add basic cell for account-warnings (IOS-264)
* Show some content for a warning (IOS-264)
* Open strike in browser (IOS-264)
* Add localization (IOS-264)
* Add missing localization (IOS-264)
* Cleanup (IOS-264)
* Begin fixing of "Load More" on Home Timeline (IOS-266)
* Don't show "Load More" if last status is first existing (IOS-266)
* Insert missing items upon "Load More" (IOS-266)
* Implement sinceID usage when loading latest posts (IOS-266)
* Change updating of items on Load More(IOS-266)
* Do not try to modify datasource directly (IOS-266)
* Improve load more (IOS-266)
* Fix load more using maxID and limit to 20 items (IOS-266)
* Implement loading missing status in public timeline (IOS-266)
* Implement subsequent "Load More" (IOS-266)
* Make loadMore(item:at:) API more Swifty (IOS-266)
* Address PR comments (IOS-266)
* Update texts (IOS-226)
* Remove next-button (IOS-226)
* Tap on row to login (IOS-226)
* Make text use blurple and no disclosure indicator (IOS-226)
* Fix separator lines (IOS-226)
Well. Configurations don't work with custom UI-elements (or I'm just stupid), that's why I had to fall back to good ol UITableViewCell with UIKit-components
* Remove unused code (IOS-254)
* Don't hide pill immediately every single time (IOS-254)
* Check if there's something to scroll to (IOS-254)
As the cause for the crash seems to be clear (scrolling to an indexPath that doesn't exist -> crash) we could check for the indexPath to exist.
* Remove unused code
* Only cache my timeline (IOS-254)
* Copynpaste cell to logout all accounts (IOS-245)
* Show cell (IOS-245)
* Logout of all accounts (IOS-245)
* Use iOS-formsheet to present account-list (IOS-245)
* Remove dead code (IOS-245)
* Don't animate account-switches (IOS-245)
* Remove panModal (IOS-245)
* UI-fixes (IOS-245)
* Add swipe-to-logout-action (IOS-245)
* Localize (IOS-245)
* Add a little bit of margin (IOS-245)
* Fix separator-insets (IOS-245)
* Don't crash on iPad when logging out of all accounts (IOS-245)
* Replace icons with SF Symbols (IOS-232)
* Remove visibility-icon from Status (IOS-232)
* Use relative time formatter and switch position of timestamp/user (IOS-232)
* Set TimelineSelector-Button-Position (IOS-232)
Shouldn't switch now any longer. Also: Refactoring.
* Fix position of the Home-icon in TabBar (IOS-232)
TIL: Don't set an empty string, otherwise the position of the TabBarItem-icon breaks
* Add unlisted as option to post (#250)
* Replace menu-icons with SF Symbols to match other platforms (#250)
* Replace earth with SF-symbol (#250)
* Use SF Symbols for visibility (#250)
- Replaces the view previously in the Navigation Bar with the new,
so-called Timeline Status Pill
- We use it to show three states: When a post has been published
(successfully), when new statuses are available or when five (I slightly
increased the limit) requests failed
- The Timeline Status Pill features some fancy animations and a little
shadow
- For further details have a look at IOS-234 🙂
![ios_234_iphone](https://github.com/mastodon/mastodon-ios/assets/2580019/c77df339-aa72-406f-8be3-572acb244246)
![ios_234_ipad](https://github.com/mastodon/mastodon-ios/assets/2580019/f2fafc4c-ed5a-4afb-86a7-5de69325997b)
To simulate the different reasons I used this snippet. When you press
the Settings-button, you should see the 💊 :
```diff
diff --git a/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift b/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift
index 8559025d4..0eb27d0e8 100644
--- a/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift
+++ b/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift
@@ -488,9 +488,14 @@ extension HomeTimelineViewController {
}
@objc private func settingBarButtonItemPressed(_ sender: UIBarButtonItem) {
- guard let setting = context.settingService.currentSetting.value else { return }
+ // don't commit
+ timelinePill.update(with: .newPosts)
+ showTimelinePill()
- _ = coordinator.present(scene: .settings(setting: setting), from: self, transition: .none)
+// guard let setting = context.settingService.currentSetting.value else { return }
+//
+// _ = coordinator.present(scene: .settings(setting: setting), from: self, transition: .none)
+ // don't commit
}
@objc private func refreshControlValueChanged(_ sender: RefreshControl) {
```