Commit Graph

469 Commits

Author SHA1 Message Date
Nathan Mattes 9691e905c0 Remove card-persistence 2024-06-07 10:05:04 +02:00
Marcus Kida 49f773e1a4
Improve CW Overlay / size (IOS-278) 2024-05-22 13:00:41 +02:00
Marcus Kida 068da20c58
Don't flicker avatar-image in MainTabBar (IOS-238) (#1299)
Every time, the account gets updated, the `avatarURL` is updated as
well. But not only new image was set. Before setting the image, the
button-image was reset to the placeholder first. After that, the
downloaded image was applied.

Now we don't reset the image to the placeholder, but set the placeholder
once.
Also: Cleanup.
2024-05-22 09:14:38 +02:00
Nathan Mattes 47bedff5e5 Cleanup (IOS-238) 2024-05-21 18:11:22 +02:00
Nathan Mattes 9e486a82e6 Remove download-placeholder (IOS-238) 2024-05-21 18:01:54 +02:00
Nathan Mattes 298886d3f5 Set placeholder-color for AvatarButton (IOS-238) 2024-05-21 17:43:53 +02:00
Nathan Mattes 16d6c9e823 Set placeholder only if something goes wrong (IOS-238) 2024-05-21 17:14:32 +02:00
Nathan Mattes a7f792c301 Update menu for profiles (IOS-231) 2024-05-21 11:16:58 +02:00
Nathan Mattes 8d3cb2beb3
Update Post Menu (IOS-229) (#1292)
* 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)
2024-05-18 14:30:51 +02:00
Marcus Kida 677670055e
Fix "Load More" Button on Home/Public Timeline (#1283)
* 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)
2024-05-08 10:02:21 +02:00
Nathan Mattes 099411b435 Fix relative date time formatter
Thanks to @renchap
2024-04-17 17:44:06 +02:00
Marcus Kida 24e573d9e2
Refactor Polls to not use Core Data (#1265) 2024-04-17 16:36:03 +02:00
Nathan Mattes b120d32efa
Post cell cleanup (IOS-232) and other fixes (#1272)
* 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
2024-04-16 13:19:49 +02:00
Nathan Mattes 6b32e5e4aa
Re-enable option to post unlisted/"Quiet public" (#1271)
* 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)
2024-04-12 10:58:18 +02:00
Marcus Kida cc9faf5aea
Improve Number Formatting (#1266)
* Improves number formatting (IOS-246)

* Implement formatting > 1T (IOS-246)

* Fix typo (IOS-246)

* Update MastodonTests/MetricFormatterTests.swift

Co-authored-by: Nathan Mattes <hallo@bullenscheisse.de>

* Improve decimal formatting and add tests (IOS-246)

---------

Co-authored-by: Nathan Mattes <hallo@bullenscheisse.de>
2024-04-04 16:55:19 +02:00
Nathan Mattes 6da37e2156
Use static cursor color (#1253) 2024-03-19 11:59:44 +01:00
Nathan Mattes 13cc2bdbec
Don't add my own handle to a reply (#1254) (#1256)
* Don't add my own handle (#1254)

* Remove CoreData-stuff (#1254(

* Remove MastodonMentionContainer (#1254)

This is a left over from the status-refactoring. The Core Data-persistence-stuff for Status needed that, but as we don't use that any more say byebye
2024-03-19 10:28:16 +01:00
Nathan Mattes 62cc9105a9
Fix Profile Editing (#1245)
* Fix image-editing (#1244)

Probably introduced in 76304e5 and we just missed that :)

* Removed unused property (#1244)

* Don't allow tapping on followers/followees when editing my profile

* Remove obsolete code

relationship-update on viewDidAppear is not needed anylonger as we use update user/relationship using notifications like in the good ol days

* Make relationship optional and use switch-pattern-matching for button-configuration

* Don't change relationship when relationship is updating

* [WIP] don't toggle, but just set booleans.
2024-03-18 16:27:12 +01:00
Marcus Kida 2e7054cb68
Implement "Default Post Language" and "Ask Before"-Alerts (#1240)
* Implement Settings->General->"Ask Before" and add "Ask Before Posting Without Alt Text" IOS-166

* Implement Alt Missing Alert for Status Edits (IOS-166)

* Fix status edit composes duplicate message

* Show (or don't) the "Really delete post?" Alert based on the User's preference (IOS-166)

* Implement alert for boost/unboost (IOS-166)

* Begin implementing "Default Post Language"-Setting (IOS-166)

* Show "Unfollow @user?" Alert (IOS-166)

* Merge conflict fixes for IOS-166

* Implement default post language setting (IOS-166)

* Fix follow button state not updated correctly (IOS-166)

* Add PR feedback (IOS-166)

* Improve default language cell style (IOS-166)

* Fix language filter broken (IOS-166)
2024-02-28 10:52:04 +01:00
Nathan Mattes 7024823cbf Remove persistence for user (IOS-192) 2024-02-14 10:44:32 +01:00
Nathan Mattes c523f97d0c Merge branch 'develop' into ios-192-profile-about
# Conflicts:
#	MastodonSDK/Sources/MastodonUI/View/Control/ProfileRelationshipActionButton.swift
2024-02-09 12:43:56 +01:00
Nathan Mattes a90d5ea084
Fix Follow-Button in App-Dark Mode (#1218) (#1222)
* Don't set colors (#1218

* Use UIButton.configuration for ... configuration (#1218)

* Fix activity indicator (#1218)
2024-02-09 11:12:15 +01:00
Nathan Mattes b2dbcc8095 Merge branch 'develop' into ios-192-profile-about
# Conflicts:
#	Mastodon/Protocol/Provider/DataSourceProvider+NotificationTableViewCellDelegate.swift
#	Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewController+DataSourceProvider.swift
#	MastodonSDK/Sources/MastodonCore/DataController/FeedDataController.swift
#	MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift
2024-01-31 15:36:53 +01:00
Marcus Kida 383a75ea48
Improve status updating mechanism (#1210) 2024-01-30 23:02:13 +01:00
Nathan Mattes 3e200a7703 Minor cleanup (#1138) 2024-01-23 10:42:52 +01:00
Nathan Mattes 08a932ddfc Use correct endpoint to add media-attributes for changes (#1138)
Also: Use JSON instead of Multipart
2024-01-23 10:30:15 +01:00
Nathan Mattes 80cd22a356 Update media if caption was changed (#1138)
Doesn't work yet as the `/api/v1/media/:id` returns 404?! wtf?!
2024-01-21 12:10:56 +01:00
Nathan Mattes 89b7df25ea Make caption changable (#1138) 2024-01-21 12:09:47 +01:00
Nathan Mattes 304eb8b7ff Move notification-timestamp away from viewmodel (IOS-192) 2024-01-21 09:30:44 +01:00
Nathan Mattes ab2f54307f Group files and use simpler context (IOS-192) 2024-01-20 18:21:02 +01:00
Nathan Mattes 6ffcdb2565 Remove unused property (IOS-192) 2024-01-20 14:05:08 +01:00
Nathan Mattes ca3fd69b62 [WIP] Preparation to get relationship into menu on notification-screen (IOS-192) 2024-01-18 16:59:14 +01:00
Marcus Kida d55800d71a
#1049 - fix max character limit and other server configs are not respected (#1207) 2024-01-12 14:33:48 +01:00
Nathan Mattes 9bf072e827 Remove unused code 2024-01-11 14:07:57 +01:00
Nathan Mattes febbc6f22a Merge branch 'develop' into ios-192-profile-about
# Conflicts:
#	Mastodon.xcodeproj/project.pbxproj
#	Mastodon/Protocol/Provider/DataSourceFacade+Follow.swift
#	Mastodon/Protocol/Provider/DataSourceFacade+Profile.swift
#	Mastodon/Protocol/Provider/DataSourceFacade+Status.swift
#	Mastodon/Protocol/Provider/DataSourceProvider+NotificationTableViewCellDelegate.swift
#	Mastodon/Protocol/Provider/DataSourceProvider+StatusTableViewCellDelegate.swift
#	Mastodon/Protocol/Provider/DataSourceProvider+UITableViewDelegate.swift
#	Mastodon/Protocol/Provider/DataSourceProvider.swift
#	Mastodon/Scene/Discovery/Community/DiscoveryCommunityViewController+DataSourceProvider.swift
#	Mastodon/Scene/Discovery/Community/DiscoveryCommunityViewModel+State.swift
#	Mastodon/Scene/Discovery/Community/DiscoveryCommunityViewModel.swift
#	Mastodon/Scene/Discovery/Posts/DiscoveryPostsViewController+DataSourceProvider.swift
#	Mastodon/Scene/Discovery/Posts/DiscoveryPostsViewModel+State.swift
#	Mastodon/Scene/Discovery/Posts/DiscoveryPostsViewModel.swift
#	Mastodon/Scene/HashtagTimeline/HashtagTimelineViewController+DataSourceProvider.swift
#	Mastodon/Scene/HashtagTimeline/HashtagTimelineViewModel+State.swift
#	Mastodon/Scene/HashtagTimeline/HashtagTimelineViewModel.swift
#	Mastodon/Scene/HomeTimeline/HomeTimelineViewController+DataSourceProvider.swift
#	Mastodon/Scene/HomeTimeline/HomeTimelineViewModel+LoadLatestState.swift
#	Mastodon/Scene/HomeTimeline/HomeTimelineViewModel.swift
#	Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewController+DataSourceProvider.swift
#	Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewController.swift
#	Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewModel.swift
#	Mastodon/Scene/Profile/Bookmark/BookmarkViewController+DataSourceProvider.swift
#	Mastodon/Scene/Profile/Bookmark/BookmarkViewModel+State.swift
#	Mastodon/Scene/Profile/Bookmark/BookmarkViewModel.swift
#	Mastodon/Scene/Profile/Favorite/FavoriteViewController+DataSourceProvider.swift
#	Mastodon/Scene/Profile/Favorite/FavoriteViewModel+State.swift
#	Mastodon/Scene/Profile/Favorite/FavoriteViewModel.swift
#	Mastodon/Scene/Profile/MeProfileViewModel.swift
#	Mastodon/Scene/Profile/ProfileViewController.swift
#	Mastodon/Scene/Profile/ProfileViewModel.swift
#	Mastodon/Scene/Profile/RemoteProfileViewModel.swift
#	Mastodon/Scene/Profile/Timeline/UserTimelineViewController+DataSourceProvider.swift
#	Mastodon/Scene/Profile/Timeline/UserTimelineViewModel+State.swift
#	Mastodon/Scene/Profile/Timeline/UserTimelineViewModel.swift
#	Mastodon/Scene/Report/Report/ReportViewModel.swift
#	Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel+State.swift
#	Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel.swift
#	Mastodon/Scene/Root/MainTab/MainTabBarController.swift
#	Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewController+DataSourceProvider.swift
#	Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel+State.swift
#	Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel.swift
#	Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift
#	Mastodon/Scene/Thread/ThreadViewModel.swift
#	MastodonSDK/Sources/MastodonCore/FetchedResultsController/FeedFetchedResultsController.swift
#	MastodonSDK/Sources/MastodonCore/FetchedResultsController/StatusFetchedResultsController.swift
#	MastodonSDK/Sources/MastodonCore/Persistence/FileManager+SearchHistory.swift
#	MastodonSDK/Sources/MastodonCore/Persistence/FileManager+Timeline.swift
#	MastodonSDK/Sources/MastodonCore/Persistence/Persistence.swift
#	MastodonSDK/Sources/MastodonCore/Service/API/APIService+HomeTimeline.swift
#	MastodonSDK/Sources/MastodonCore/Service/API/APIService+Search.swift
#	MastodonSDK/Sources/MastodonSDK/MastodonStatus.swift
#	MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift
#	MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/Publisher/MastodonStatusPublisher.swift
#	MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift
2024-01-08 22:32:57 +01:00
Marcus Kida 976f934df9
Remove Status from CoreData (#1167) 2024-01-08 11:17:40 +01:00
Nathan Mattes 120b9e18b1 Fix warnings 2024-01-05 12:59:59 +01:00
Nathan Mattes 6b6ed28134 Emojis aren't optional (IOS-192)
meet []
2024-01-05 12:30:36 +01:00
Nathan Mattes 9a25d20e02 Replace another user with an account (IOS-192) 2024-01-02 23:10:17 +01:00
Nathan Mattes d1b5b9fc98 Localize button-title for blocked domains (IOS-192) 2024-01-02 15:36:26 +01:00
Nathan Mattes bdb1853b18 Merge branch 'remove_status' into ios-192-profile-about 2024-01-02 12:19:28 +01:00
Nathan Mattes 96fddaef27 192-profile-about
# Conflicts:
#	Mastodon/Protocol/Provider/DataSourceFacade+Status.swift
#	Mastodon/Scene/Profile/Header/View/ProfileHeaderView+ViewModel.swift
#	Mastodon/Scene/Profile/ProfileViewController.swift
#	MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift
2024-01-02 12:15:15 +01:00
Marcus Kida 54b020ff61
Remove dead code 2024-01-02 11:32:27 +01:00
Nathan Mattes ab7b0584dd Replace more users with account (IOS-192)
In Edit and notification
2024-01-01 20:10:22 +01:00
Nathan Mattes 4764116efc Use account to determine status-visibility (IOS-192) 2024-01-01 20:10:00 +01:00
Nathan Mattes 8e7e16870c Fix some warnings (IOS-192)
As relationship-information isn't optional anymore, there' no need for ?? everywhere (I just missed some)
2023-12-31 12:59:39 +01:00
Nathan Mattes 922f7116dd Use account for reblogged statuses (stati?) (IOS-192) 2023-12-31 12:59:39 +01:00
Nathan Mattes 47986262bc Use relationships in Report-process (IOS-192) 2023-12-31 12:59:39 +01:00
Nathan Mattes 71b28cb977 We don't use the author when composing toots (IOS-192) 2023-12-31 12:59:39 +01:00
Nathan Mattes 6225c50008 Add some actions to Relationship-action-button (IOS-192)
Well, it's basically just unblock, unmute or follow/unfollow
2023-12-31 12:57:56 +01:00