* Record quote toots that have failed to load so that we don't try and load them again.
Fixes
1: Repeated visible insertion and removal of placeholder quote toot.
2: Link hijacking of inline status viewer allowing links to be followed as regular URLs
* Move set
* Add back to routeur check
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Change arrows icon to rocket for boosts
* Fixing case (part 1)
* Fixing Case (part 2)
* Clean up after merge
* Fix for disabled boost
* Fixes
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* collapse long posts
* initialize user pref setting in init(), remove onAppear and onChange(pref) from view
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Show different label and icon for boosting my followers-only post
* Disable boost swipe actions on posts that can't be boosted
* Remove unnecessary function calls
* Remove icons from settings
* Add new toggle for using the theme tint
* Localizations
* Add icon style picker
* Localizations
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Remove an unnecessary space from string
settings.swipeactions.status.trailing
* Make SwipeActionsSettingsView to be consistent with others
* Divide none as another section
* Add icons
* Make hollow icons work
* Show different button label by its status
* Use different colors by actions
* Fix swapped icons in settings
* Refactor
* swipe actions improvements
* use old values as default settings
* Polish swipe actions settings
* Fix background color
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Add CurrentAccount.sortedLists and .sortedTags
Sorts alphabetically, ascending, lowercased on title and name respectively.
* TimelineTab uses CurrentAccount.sortedLists and .sortedTags
* Account detail sorts tags and lists
Alphabetically, ascending, lowercased via CurrentAccount.sortedTags, .sortedLists
* Trying something with caching boosts
* Use an actual cache for caching
* Persist cache to documents folder
* Stray debugging variable
* Unpublish seen variable in the ViewModel
* Settings for deduplicating boosts.
* Changes from review / merge conflicts
* Add the ability to set a custom font
* Small fixes
* Indent
* Add missing localization
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Early version of an action that would open a deeplink in the app
* Extend routeur support + catch deeplinks
* Cleaning extension code, using what local packages has to offer
* Removed useless stuff from the extension
* Added action icon ; Thanks Dall-E for the icon
* Added the action name within a localizable file
* Fix routeur
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Local settings for sensitive content.
* Local sensitive content settings
* Added the posting settings as well as the reading ones.
* Menu item / nav title mismatch
* Fixes
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Add new preference entry for recently used languages
Exposes a function to keep the language array clean: no more than 3 items, starting with the most recently used iso code
* Add the preferences to the status editor ViewModel
* Add language selector handling of most recent languages
Only when the user has explicitly selected a language, when the posting was successful, add the selected language to the preferences array.
- Makes Language a local private struct for clarity
- Ensures all available languages are only fetched once
- Separates recently used, other and search result section contents using specific vars/funcs
* Copy new key in all localization files
Co-authored-by: Pascal Batty <pascal@zen.ly>
* This is a fix for #317
Well more of an improvement than a fix.
Instead of looking for tags anywhere, we now look for /tags/TagName exactly. This can still fail if it happens to be a link to somewhere not on the post creator's home server that follows that pattern but by the time the parsing is done the post creator isn't available without a lot of re-plumbing.
But anyway, this should be better.
* No force unwrap