* refactor data of `EditTagGroupView`
* lower case tags before saving because API is case-insensitive
* fix: "add new tag" `TextField` is not focused after adding the first tag (on both macOS and iOS)
* perf: improve symbol search performance
* improve layout and animation of symbol search
* fix: sort tags and remove duplicate tags
* fix: crash when open timeline for an empty tag group
* fix: revert concurrency code because performance issue at 1d3f271 is a false alarm
* add warning labels to help the users
* fix: state `tagGroup`
* fix: selecting symbol logic and warning labels
* refactor `EditTagGroupView.body`
* refactor warning labels
* Fix theme
* Move to its own folder
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Automatically remove spaces in server names
If a server name includes a space (which can happen if the string is pasted /
autocompleted), this space is removed, which results in the app not crashing.
Fixes#1599
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Format
---------
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Show all symbols when adding a tag group
All the SFSymbols are shown when adding a tag group, the list is taken from
SFSafeSymbols. This includes symbols such as "swift" and "apple.logo", as seen
in https://mastodon.social/@alexito4/110742407894134083.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Add credit for SFSafeSymbols
The list of used libraries is updated with SFSafeSymbols.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
---------
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* 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