Commit Graph

23 Commits

Author SHA1 Message Date
Chris Kolbu
4d588e4a18
Compose Post Screen Accessibility Tweaks (#1259)
* Add localized label for the AI prompt status accessory view

Previously, this icon would have an accessibility label matching its SF symbol key, ‘faxmachine’.

* Darken status editor character count foreground color

By changing it to .secondary, it gets to an APCA contrast of 61, which is a _just_ passing Bronze score for that text size.

It’s still quite short of WCAG 2.1 AA at 3.3:1 (recommended is 4.5:1)

* Change remaining character count color to red when < 0

* Refine remaining character count accessibility

In this commit, we
- Change its trait to `.updatesFrequently`
- Set a localized `accessibilityLabel`
- Set its `accessibilityValue` to the remaining character count
- Disable user interaction (which is presumably set automatically by virtue of being enclosed in a `Menu`)

* Set accessibilitySortPriority on Status editor ScrollView

Previously, the traversal order placed the elements inside the `ScrollView` last. Now, they follow on from the navigation bar contents in the expected order.

* Hide the AvatarView from status creation accessibility

When there is only one account available, there is no functionality associated with this element, so it is considered decorative-only, and should be hidden

* Set TextView placeholder’s `accessibilityValue` to placeholder text when empty

This behaviour matches `UITextField`

* Hide TextView custom `placeholderView` from accessibility

Previously, TextView would vend two accessibility elements when the placeholder was visible. This causes needless confusion for users.

Now, the TextView matches the accessible behaviour of text inputs elsewhere.

* Improve accessibility of post `privacyMenu`

Previously, it would be presented as `Everyone, Button`. Now, we move the visibility to its `value` and use `Visibility` for its label, in conjunction with a hint that states it `Changes post audience`.

* Add `.button` trait and accessible label to emojis in `customEmojisSheet`

Previously, these would all present as `image` with no description, making it very hard to discern what kind of emoji you were adding.

* Change drafts sheet item type to `Button`

A button with an action has a more accessible representation than a `Text` with a tap gesture.
2023-03-17 06:39:31 +01:00
Ico Davids
5ef39e7a09
Add navigation title to the Translation Settings view (#1257) 2023-03-17 06:06:09 +01:00
Paul Schuetz
baf853f46e
Add the ability to translate using deepl even if the instance offers its own service (#1237)
* Allow forced translation with DeepL

Translation with DeepL can now be forced either per post or on the system level.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Require the use of a private API key

A private API key of the user is now required to allow "always translate via
DeepL".

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Persist a stored API key

An API key is stored even if useOnlyDeepL is disabled. If the API key is empty,
the setting is still disabled.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Localize the texts

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Save API key while writing

The API key is now saved, even if the app is closed before leaving the
translation settings view.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Fix build

* Fix theme

* Transition to KeychainSwift, clean up

KeychainHelper is replaced with the already-used KeychainSwift package, the
functions are cleaned up so that the process is easier to understand. The
deactivateToggleIfNoKey function doesn't change the behavior of the buttons or
context menus in the timeline, only demonstrates the necessity of an API key to
the user. Consequently, it's only called when the settings view is shown.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Swiftformat + fixes

---------

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-03-14 18:50:19 +01:00
Vitaly Kovalyshyn
f263c57858
update uk localizations (#1244) 2023-03-14 12:17:14 +01:00
Thomas Ricouard
9057740162 Add upload from file browsing + better compression for images 2023-03-10 18:22:45 +01:00
Thomas Ricouard
93d9ded447 Switch to new Chat completion API + Add Tags completion 2023-03-09 13:46:04 +01:00
Andrzej Rózga
b0ee77caed
Polish localization (#1174)
* Fixed problem with with the translation of "mentions" in plural form
- Localizable.stringsdict needs a digit (not string) to make a choice of a correct plural form.
- fixed StatusEditorAutoCompleteView
- changed %@ format specifier in Localizable.strings with %lld

* Polish localization update

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-03-06 07:07:35 +01:00
Stian Øverbye
60fb706eec
Minor language fix (#1161) 2023-03-04 17:09:57 +01:00
Thomas Ricouard
761c8ed3be Composer: Sort suggested tags by usage + display it 2023-03-04 09:50:13 +01:00
Thomas Ricouard
deae0930b1 Add web account settings button 2023-03-03 18:21:52 +01:00
Peter-Josef Meisch
db5d0b9274
Display and edit filter expirations (#1141) 2023-03-03 08:15:34 +01:00
Thomas Ricouard
eea6d93dd5 Add customization of text color close #385 2023-03-03 08:12:01 +01:00
Thomas Ricouard
10eeb39241 Fix laggy color picker close #1082 2023-03-03 07:24:00 +01:00
Thomas Ricouard
81f3db733b Add supporter subscription + supporter badge 2023-03-01 20:07:40 +01:00
Vitaly Kovalyshyn
9309514c3b
uk: +Sounds; +Metadata; +bonus (#1112) 2023-02-28 21:54:30 +01:00
Vitaly Kovalyshyn
70f0ed9306
Ukrainian localization: some small improvements (#1104)
* Ukrainian localization: some small improvements

* ai-prompt fixes
2023-02-28 21:11:17 +01:00
Thomas Ricouard
a3e2d3f8b3 Add sound effects 2023-02-28 18:55:08 +01:00
Peter-Josef Meisch
3a144b7792
collapse long posts (#1037) close #914
* collapse long posts

* initialize user pref setting in init(), remove onAppear and onChange(pref) from view

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-26 17:32:09 +01:00
Paul Schuetz
06629cc397
Enhance the context menu for private messages (#1053)
* 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>
2023-02-26 06:45:31 +01:00
Thomas Ricouard
096e42b1c2 Profile edit: Add metadata editing 2023-02-24 07:55:24 +01:00
Thomas Ricouard
cdbfd5db00 Settings: Add an option to clean media cache 2023-02-23 18:43:09 +01:00
Vitaly Kovalyshyn
27a3d34c94
- Improved ukrainian localization; (#1030)
- Added missed labels.
2023-02-23 08:05:16 +01:00
Vitaly Kovalyshyn
bc58fe95bb
Ukrainian language: First version (#1004)
* Ukrainian language: First version

* Ukrainian localization. Fixed misspelling.

* Fixes

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-22 18:56:18 +01:00