* Improve StatusRowView accessibility actions
Previously, there was no way to interact with links and hashtags.
Now, these are added to the Actions rotor
* Hide `topPaddingView`s from accessibility
* Fix accessible header rendering in non-filterable TimelineViews
Previously, all navigation title views were assumed to be popup buttons.
Now, we only change the representation for timelines that are filterable.
* Combine tagHeaderView text elements
Previously, these were two separate items
* Prefer shorter Quote action label
* Improve accessibility of StatusEmbeddedView
Previously, this element would be three different ones, and include all the actions on the `StatusRowView` proper. Now, it presents as one element with no actions.
* Add haptics to StatusRowView accessibility actions
* Improve accessibility of ConversationsListRow
This commit adds:
- A combined representation of the component views
- “Unread” as the first part of the label (if this is the case)
- All relevant actions as custom actions
- Reply as magic tap
* Remove StatusRowView accessibilityActions if viewModel.showActions is false
* Hide media attachments from accessibility if the view is not focused
* Combine NotificationRowView accessibility elements; add user actions
Previously, there was no real way to interact with these notifications.
Now, the notifications that show the actions row have the appropriate StatusRowView-derived actions, and new followers notifications have more actions that let you see each user’s profile.
* Prefer @Environment’s `accessibilityEnabled` over `isVoiceOverRunning`
This way we can cater for Voice Control, Full Keyboard Access and Switch Control as well.
---------
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
* 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>
* Limit API calls for instance searching
* Limit api calls
* Fix empty/initial state
* Limit API calls
* Delegate empty view logic to viewmodel
* When you boosted, display You boosted
* Support In-App Safari
* Fix "View in Browser"
* Force external Safari on Account Creation
* Fix SafariRouteur issues
Attach to NavigationStack
Find top-most ViewController
* Make Preferred Browser a Picker choice