* 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>
The bio (note) of an account can now be translated via DeepL. If the user has
put in his own DeepL API key, that is used, otherwise, the standard one is
used. See #1267
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Enhance the message context menu
A direct message can now directly be bookmarked, the author can be publicly
mentioned and reported.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Add options to the conversation list context menu
Since the latest message is shown in the conversation list, the user can now
interact with this message via the context menu similar to the messages in the
conversation history.
The "conversation" class had to be modified since
bookmarking and liking a message would have led to a race condition (depending
on the server) when fetching the conversations afterwards, so the only affected
the message is now immediately updated.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Remove child view models
The child views models are removed, and the list row now only uses the conversation
object managed by the list view model.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Make unmodified var let
The last state-var of a conversation isn't modified, instead, a new conversation
is created. Therefore, the var is now a let.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
---------
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Add translate button to the preview post in settings
* Accidental outdent.
* Add share button to placeholder status and also preview status in settings.
* Add a preview toot tot the top of the display settings page.
* DisplayModel doesn't need to be @State
* Disable hitTest
* Example Post
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* This is a more correct html to markdown implementation.
It removes all the hacks and just uses the SwiftSoup parser correctly
It will fix issue #576 and also an unlogged issue with the old implementation that could corrupt urls with underscores in them.
* Better <br> / linefeed handling
* Cleanup
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Prevent opening quicklook for missing avatar or header. Fixes#127
* Using theme for missing header background in profile
* fix
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Fix french plurals
* Fix english
* More French translations fixes
* Switching relative date formatter
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
Having checked the markdown -> attributedtext conversion, lots of things I was escaping before are actually ingored.
This change only escapes things that are definitely rendered and as far as I can tell doesn't break anything now.
Test post to look at with maximal Markdown: https://mas.to/@elbrux/109743775703438333
* 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>
* Implement language selection in status editor
* Apply the correct language on replies and edits
* Use sheet for language selector
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Support Custom Emojis
* Update EmojiText
* Update EmojiText
* Use EmojiText in StatusEditorAutoCompleteView
* Update EmojiText
* Display Account displayName without emojis in navigation title
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>