From 3981341cd34b95934fd0ee10d55e0116085a0b55 Mon Sep 17 00:00:00 2001 From: otsmr Date: Wed, 10 Jun 2026 00:07:18 +0200 Subject: [PATCH] bump version --- .../generated/app_localizations.dart | 144 ++++-------------- .../generated/app_localizations_de.dart | 98 +++--------- .../generated/app_localizations_en.dart | 95 +++--------- lib/src/localization/translations | 2 +- .../verification_badge_info.comp.dart | 60 +++++++- .../visual/views/onboarding/setup.view.dart | 7 +- .../help/faq/verification_badge_faq.view.dart | 19 +-- .../visual/views/settings/privacy.view.dart | 3 +- pubspec.yaml | 2 +- 9 files changed, 134 insertions(+), 296 deletions(-) diff --git a/lib/src/localization/generated/app_localizations.dart b/lib/src/localization/generated/app_localizations.dart index 04b40571..e30d9e52 100644 --- a/lib/src/localization/generated/app_localizations.dart +++ b/lib/src/localization/generated/app_localizations.dart @@ -140,18 +140,6 @@ abstract class AppLocalizations { /// **'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.'** String get onboardingFocusBody; - /// No description provided for @onboardingSendTwonliesTitle. - /// - /// In en, this message translates to: - /// **'Send twonlies'** - String get onboardingSendTwonliesTitle; - - /// No description provided for @onboardingSendTwonliesBody. - /// - /// In en, this message translates to: - /// **'Share moments securely with your partner. twonly ensures that only your partner can open it, keeping your moments with your partner a two(o)nly thing!'** - String get onboardingSendTwonliesBody; - /// No description provided for @onboardingNotProductTitle. /// /// In en, this message translates to: @@ -164,12 +152,6 @@ abstract class AppLocalizations { /// **'twonly is financed by donations and an optional subscription. Your data will never be sold.'** String get onboardingNotProductBody; - /// No description provided for @onboardingGetStartedTitle. - /// - /// In en, this message translates to: - /// **'Let\'s go!'** - String get onboardingGetStartedTitle; - /// No description provided for @registerUsernameSlogan. /// /// In en, this message translates to: @@ -320,24 +302,12 @@ abstract class AppLocalizations { /// **'Username not found'** String get searchUsernameNotFound; - /// No description provided for @searchUsernameNotFoundBody. - /// - /// In en, this message translates to: - /// **'There is no user with the username \"{username}\" registered'** - String searchUsernameNotFoundBody(Object username); - /// No description provided for @searchUsernameNewFollowerTitle. /// /// In en, this message translates to: /// **'Open requests'** String get searchUsernameNewFollowerTitle; - /// No description provided for @chatListViewSearchUserNameBtn. - /// - /// In en, this message translates to: - /// **'Add your first twonly contact!'** - String get chatListViewSearchUserNameBtn; - /// No description provided for @chatListDetailInput. /// /// In en, this message translates to: @@ -512,12 +482,6 @@ abstract class AppLocalizations { /// **'Store in Gallery'** String get settingsStorageDataStoreInGTitle; - /// No description provided for @settingsStorageDataStoreInGSubtitle. - /// - /// In en, this message translates to: - /// **'Store saved images additional in the systems gallery.'** - String get settingsStorageDataStoreInGSubtitle; - /// No description provided for @settingsStorageDataMediaAutoDownload. /// /// In en, this message translates to: @@ -611,13 +575,13 @@ abstract class AppLocalizations { /// No description provided for @settingsPrivacyBlockUsers. /// /// In en, this message translates to: - /// **'Block users'** + /// **'Block contacts'** String get settingsPrivacyBlockUsers; /// No description provided for @settingsPrivacyBlockUsersDesc. /// /// In en, this message translates to: - /// **'Blocked users will not be able to communicate with you. You can unblock a blocked user at any time.'** + /// **'Blocked contacts will not be able to communicate with you. You can unblock a blocked contact at any time.'** String get settingsPrivacyBlockUsersDesc; /// No description provided for @settingsPrivacyBlockUsersCount. @@ -632,12 +596,6 @@ abstract class AppLocalizations { /// **'Security Profile'** String get settingsPrivacyProfileSelectionTitle; - /// No description provided for @settingsPrivacyProfileSelectionDesc. - /// - /// In en, this message translates to: - /// **'Choose your setup path and security configuration'** - String get settingsPrivacyProfileSelectionDesc; - /// No description provided for @securityProfileTitle. /// /// In en, this message translates to: @@ -935,13 +893,19 @@ abstract class AppLocalizations { /// No description provided for @contactVerifyNumberTitle. /// /// In en, this message translates to: - /// **'Verify contact'** + /// **'Verify contacts'** String get contactVerifyNumberTitle; + /// No description provided for @contactVerifyNumberSubtitle. + /// + /// In en, this message translates to: + /// **'Verify the identity of your contacts to make sure you are texting the right person.'** + String get contactVerifyNumberSubtitle; + /// No description provided for @userVerifiedTitle. /// /// In en, this message translates to: - /// **'User verified'** + /// **'Contact verified'** String get userVerifiedTitle; /// No description provided for @contactVerifiedBy. @@ -1013,13 +977,13 @@ abstract class AppLocalizations { /// No description provided for @contactBlockBody. /// /// In en, this message translates to: - /// **'A blocked user will no longer be able to send you messages and their profile will be hidden from view. To unblock a user, simply navigate to Settings > Privacy > Blocked Users.'** + /// **'A blocked contact will no longer be able to send you messages and their profile will be hidden from view. To unblock a contact, simply navigate to Settings > Privacy > Blocked Contacts.'** String get contactBlockBody; /// No description provided for @contactRemove. /// /// In en, this message translates to: - /// **'Remove user'** + /// **'Remove contact'** String get contactRemove; /// No description provided for @contactRemoveTitle. @@ -1031,7 +995,7 @@ abstract class AppLocalizations { /// No description provided for @contactRemoveBody. /// /// In en, this message translates to: - /// **'Permanently remove the user. If the user tries to send you a new message, you will have to accept the user again first.'** + /// **'Permanently remove the contact. If the contact tries to send you a new message, you will have to accept the contact again first.'** String get contactRemoveBody; /// No description provided for @undo. @@ -1721,7 +1685,7 @@ abstract class AppLocalizations { /// No description provided for @reportUser. /// /// In en, this message translates to: - /// **'Report user'** + /// **'Report contact'** String get reportUser; /// No description provided for @newDeviceRegistered. @@ -2360,18 +2324,6 @@ abstract class AppLocalizations { /// **'Draft'** String get draftMessage; - /// No description provided for @exportMemories. - /// - /// In en, this message translates to: - /// **'Export memories (Beta)'** - String get exportMemories; - - /// No description provided for @importMemories. - /// - /// In en, this message translates to: - /// **'Import memories (Beta)'** - String get importMemories; - /// No description provided for @voiceMessageSlideToCancel. /// /// In en, this message translates to: @@ -2771,7 +2723,7 @@ abstract class AppLocalizations { /// No description provided for @verificationBadgeGreenDesc. /// /// In en, this message translates to: - /// **'A contact you have *personally* verified.'** + /// **'A contact you have *personally verified* using the QR code.'** String get verificationBadgeGreenDesc; /// No description provided for @verificationBadgeYellowDesc. @@ -2786,6 +2738,18 @@ abstract class AppLocalizations { /// **'A contact whose identity has *not* yet been verified.'** String get verificationBadgeRedDesc; + /// No description provided for @scanNow. + /// + /// In en, this message translates to: + /// **'Scan now'** + String get scanNow; + + /// No description provided for @openQrCode. + /// + /// In en, this message translates to: + /// **'Open QR code'** + String get openQrCode; + /// No description provided for @deleteVerificationTitle. /// /// In en, this message translates to: @@ -2810,12 +2774,6 @@ abstract class AppLocalizations { /// **'{count, plural, =1{1 mutual group} other{{count} mutual groups}}'** String mutualGroupsTitle(num count); - /// No description provided for @mutualGroupsSentMessages. - /// - /// In en, this message translates to: - /// **'{count, plural, =1{1 message sent} other{{count} messages sent}}'** - String mutualGroupsSentMessages(num count); - /// No description provided for @chatEntryFlameRestored. /// /// In en, this message translates to: @@ -2888,12 +2846,6 @@ abstract class AppLocalizations { /// **'When the typing indicator is turned off, you can\'t see when others are typing a message.'** String get settingsTypingIndicationSubtitle; - /// No description provided for @scanQrOrShow. - /// - /// In en, this message translates to: - /// **'Scan / Show QR'** - String get scanQrOrShow; - /// No description provided for @contactActionBlock. /// /// In en, this message translates to: @@ -2948,12 +2900,6 @@ abstract class AppLocalizations { /// **'Mutual Friends'** String get userDiscoverySettingsTitle; - /// No description provided for @userDiscoveryWhyThisIsUsed. - /// - /// In en, this message translates to: - /// **'Why this is used'** - String get userDiscoveryWhyThisIsUsed; - /// No description provided for @userDiscoveryFeatureOffers. /// /// In en, this message translates to: @@ -3236,12 +3182,6 @@ abstract class AppLocalizations { /// **'Back'** String get back; - /// No description provided for @onboardingExampleLabel. - /// - /// In en, this message translates to: - /// **'Example'** - String get onboardingExampleLabel; - /// No description provided for @makerChangedUsername. /// /// In en, this message translates to: @@ -3410,12 +3350,6 @@ abstract class AppLocalizations { /// **'Drag to Zoom'** String get dragToZoom; - /// No description provided for @showUsername. - /// - /// In en, this message translates to: - /// **'Show username'** - String get showUsername; - /// No description provided for @onboardingProfileSelectionTitle. /// /// In en, this message translates to: @@ -3642,30 +3576,6 @@ abstract class AppLocalizations { /// **'There are no images on your device.'** String get importGalleryNoImagesFoundDesc; - /// No description provided for @importGalleryShowAllImages. - /// - /// In en, this message translates to: - /// **'Show all images'** - String get importGalleryShowAllImages; - - /// No description provided for @importGalleryShowTwonlyAlbum. - /// - /// In en, this message translates to: - /// **'Show twonly album'** - String get importGalleryShowTwonlyAlbum; - - /// No description provided for @importGalleryToggleDescAll. - /// - /// In en, this message translates to: - /// **'Viewing all images on your device.'** - String get importGalleryToggleDescAll; - - /// No description provided for @importGalleryToggleDescTwonly. - /// - /// In en, this message translates to: - /// **'Viewing the \"twonly\" album.'** - String get importGalleryToggleDescTwonly; - /// No description provided for @importGalleryFilterTwonly. /// /// In en, this message translates to: diff --git a/lib/src/localization/generated/app_localizations_de.dart b/lib/src/localization/generated/app_localizations_de.dart index e6eaac68..8c863954 100644 --- a/lib/src/localization/generated/app_localizations_de.dart +++ b/lib/src/localization/generated/app_localizations_de.dart @@ -33,13 +33,6 @@ class AppLocalizationsDe extends AppLocalizations { String get onboardingFocusBody => 'Verabschiede dich von süchtig machenden Funktionen! twonly wurde für das Teilen von Momenten ohne nutzlose Ablenkungen oder Werbung entwickelt.'; - @override - String get onboardingSendTwonliesTitle => 'twonlies senden'; - - @override - String get onboardingSendTwonliesBody => - 'Teile Momente sicher mit deinem Partner. twonly stellt sicher, dass nur dein Partner sie öffnen kann, sodass deine Momente mit deinem Partner eine two(o)nly Sache bleiben!'; - @override String get onboardingNotProductTitle => 'Du bist nicht das Produkt!'; @@ -47,9 +40,6 @@ class AppLocalizationsDe extends AppLocalizations { String get onboardingNotProductBody => 'twonly wird durch Spenden und ein optionales Abonnement finanziert. Deine Daten werden niemals verkauft.'; - @override - String get onboardingGetStartedTitle => 'Auf geht\'s'; - @override String get registerUsernameSlogan => 'Konto erstellen'; @@ -126,18 +116,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get searchUsernameNotFound => 'Benutzername nicht gefunden'; - @override - String searchUsernameNotFoundBody(Object username) { - return 'Es wurde kein Benutzer mit dem Benutzernamen \"$username\" gefunden.'; - } - @override String get searchUsernameNewFollowerTitle => 'Offene Anfragen'; - @override - String get chatListViewSearchUserNameBtn => - 'Füge deinen ersten twonly-Kontakt hinzu!'; - @override String get chatListDetailInput => 'Nachricht eingeben'; @@ -229,10 +210,6 @@ class AppLocalizationsDe extends AppLocalizations { @override String get settingsStorageDataStoreInGTitle => 'In der Galerie speichern'; - @override - String get settingsStorageDataStoreInGSubtitle => - 'Speichere Bilder zusätzlich in der Systemgalerie.'; - @override String get settingsStorageDataMediaAutoDownload => 'Automatischer Mediendownload'; @@ -280,11 +257,11 @@ class AppLocalizationsDe extends AppLocalizations { String get settingsPrivacy => 'Datenschutz & Sicherheit'; @override - String get settingsPrivacyBlockUsers => 'Benutzer blockieren'; + String get settingsPrivacyBlockUsers => 'Kontakte blockieren'; @override String get settingsPrivacyBlockUsersDesc => - 'Blockierte Benutzer können nicht mit dir kommunizieren. Du kannst einen blockierten Benutzer jederzeit wieder entsperren.'; + 'Blockierte Kontakte können nicht mit dir kommunizieren. Du kannst einen blockierten Kontakt jederzeit wieder entsperren.'; @override String settingsPrivacyBlockUsersCount(Object len) { @@ -294,10 +271,6 @@ class AppLocalizationsDe extends AppLocalizations { @override String get settingsPrivacyProfileSelectionTitle => 'Sicherheitsprofil'; - @override - String get settingsPrivacyProfileSelectionDesc => - 'Wähle deinen Setup-Pfad und deine Sicherheitskonfiguration'; - @override String get securityProfileTitle => 'Sicherheitsprofil'; @@ -460,10 +433,14 @@ class AppLocalizationsDe extends AppLocalizations { 'Dein Konto wird gelöscht. Es gibt keine Möglichkeit, es wiederherzustellen.'; @override - String get contactVerifyNumberTitle => 'Benutzer verifizieren'; + String get contactVerifyNumberTitle => 'Kontakte verifizieren'; @override - String get userVerifiedTitle => 'Benutzer verifiziert'; + String get contactVerifyNumberSubtitle => + 'Überprüfe die Identität deiner Kontakte, um sicherzugehen, dass du mit der richtigen Person schreibst.'; + + @override + String get userVerifiedTitle => 'Kontakt verifiziert'; @override String contactVerifiedBy(Object username) { @@ -508,10 +485,10 @@ class AppLocalizationsDe extends AppLocalizations { @override String get contactBlockBody => - 'Ein blockierter Benutzer kann dir keine Nachrichten mehr senden, und deren Profil ist nicht mehr sichtbar. Um die Blockierung eines Benutzers aufzuheben, navigiere einfach zu Einstellungen > Datenschutz > Blockierte Benutzer.'; + 'Ein blockierter Kontakt kann dir keine Nachrichten mehr senden, und deren Profil ist nicht mehr sichtbar. Um die Blockierung eines Kontakts aufzuheben, navigiere einfach zu Einstellungen > Datenschutz > Blockierte Kontakte.'; @override - String get contactRemove => 'Benutzer löschen'; + String get contactRemove => 'Kontakt löschen'; @override String contactRemoveTitle(Object username) { @@ -520,7 +497,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get contactRemoveBody => - 'Den Benutzer dauerhaft entfernen. Wenn der Benutzer versucht, dir eine neue Nachricht zu senden, musst du den Benutzer erst wieder akzeptieren.'; + 'Den Kontakt dauerhaft entfernen. Wenn der Kontakt versucht, dir eine neue Nachricht zu senden, musst du den Kontakt erst wieder akzeptieren.'; @override String get undo => 'Rückgängig'; @@ -910,7 +887,7 @@ class AppLocalizationsDe extends AppLocalizations { String get reportUserReason => 'Meldegrund'; @override - String get reportUser => 'Benutzer melden'; + String get reportUser => 'Kontakt melden'; @override String get newDeviceRegistered => @@ -1307,12 +1284,6 @@ class AppLocalizationsDe extends AppLocalizations { @override String get draftMessage => 'Entwurf'; - @override - String get exportMemories => 'Memories exportieren (Beta)'; - - @override - String get importMemories => 'Memories importieren (Beta)'; - @override String get voiceMessageSlideToCancel => 'Zum Abbrechen ziehen'; @@ -1561,7 +1532,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get verificationBadgeGreenDesc => - 'Ein Kontakt, den du *persönlich verifiziert* hast.'; + 'Ein Kontakt, den du über den QR-code *persönlich verifiziert* hast.'; @override String get verificationBadgeYellowDesc => @@ -1571,6 +1542,12 @@ class AppLocalizationsDe extends AppLocalizations { String get verificationBadgeRedDesc => 'Ein Kontakt, dessen Identität noch *nicht überprüft* wurde.'; + @override + String get scanNow => 'Jetzt scannen'; + + @override + String get openQrCode => 'QR-Code öffnen'; + @override String get deleteVerificationTitle => 'Verifizierung löschen?'; @@ -1594,17 +1571,6 @@ class AppLocalizationsDe extends AppLocalizations { return '$_temp0'; } - @override - String mutualGroupsSentMessages(num count) { - String _temp0 = intl.Intl.pluralLogic( - count, - locale: localeName, - other: '$count Nachrichten gesendet', - one: '1 Nachricht gesendet', - ); - return '$_temp0'; - } - @override String chatEntryFlameRestored(Object count) { return '$count Flammen wiederhergestellt'; @@ -1650,9 +1616,6 @@ class AppLocalizationsDe extends AppLocalizations { String get settingsTypingIndicationSubtitle => 'Bei deaktivierten Tipp-Indikatoren kannst du nicht sehen, wenn andere gerade eine Nachricht tippen.'; - @override - String get scanQrOrShow => 'QR scannen / anzeigen'; - @override String get contactActionBlock => 'Blockieren'; @@ -1684,9 +1647,6 @@ class AppLocalizationsDe extends AppLocalizations { @override String get userDiscoverySettingsTitle => 'Gemeinsame Freunde'; - @override - String get userDiscoveryWhyThisIsUsed => 'Warum dies verwendet wird'; - @override String get userDiscoveryFeatureOffers => 'Dein Nutzen auf einen Blick'; @@ -1854,9 +1814,6 @@ class AppLocalizationsDe extends AppLocalizations { @override String get back => 'Zurück'; - @override - String get onboardingExampleLabel => 'Beispiel'; - @override String makerChangedUsername(Object maker, Object oldName, Object newName) { return '$maker hat den Benutzernamen von $oldName zu $newName geändert.'; @@ -1957,9 +1914,6 @@ class AppLocalizationsDe extends AppLocalizations { @override String get dragToZoom => 'Zum Zoomen ziehen'; - @override - String get showUsername => 'Benutzernamen anzeigen'; - @override String get onboardingProfileSelectionTitle => 'Wähle deinen Setup-Weg'; @@ -2094,20 +2048,6 @@ class AppLocalizationsDe extends AppLocalizations { String get importGalleryNoImagesFoundDesc => 'Es befinden sich keine Bilder auf deinem Gerät.'; - @override - String get importGalleryShowAllImages => 'Alle Bilder anzeigen'; - - @override - String get importGalleryShowTwonlyAlbum => 'twonly-Album anzeigen'; - - @override - String get importGalleryToggleDescAll => - 'Es werden alle Bilder auf deinem Gerät angezeigt.'; - - @override - String get importGalleryToggleDescTwonly => - 'Es wird das \"twonly\"-Album angezeigt.'; - @override String get importGalleryFilterTwonly => 'Nur das twonly-Album anzeigen'; diff --git a/lib/src/localization/generated/app_localizations_en.dart b/lib/src/localization/generated/app_localizations_en.dart index 7fa61242..6594af21 100644 --- a/lib/src/localization/generated/app_localizations_en.dart +++ b/lib/src/localization/generated/app_localizations_en.dart @@ -32,13 +32,6 @@ class AppLocalizationsEn extends AppLocalizations { String get onboardingFocusBody => 'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.'; - @override - String get onboardingSendTwonliesTitle => 'Send twonlies'; - - @override - String get onboardingSendTwonliesBody => - 'Share moments securely with your partner. twonly ensures that only your partner can open it, keeping your moments with your partner a two(o)nly thing!'; - @override String get onboardingNotProductTitle => 'You are not the product!'; @@ -46,9 +39,6 @@ class AppLocalizationsEn extends AppLocalizations { String get onboardingNotProductBody => 'twonly is financed by donations and an optional subscription. Your data will never be sold.'; - @override - String get onboardingGetStartedTitle => 'Let\'s go!'; - @override String get registerUsernameSlogan => 'Create your account'; @@ -125,17 +115,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get searchUsernameNotFound => 'Username not found'; - @override - String searchUsernameNotFoundBody(Object username) { - return 'There is no user with the username \"$username\" registered'; - } - @override String get searchUsernameNewFollowerTitle => 'Open requests'; - @override - String get chatListViewSearchUserNameBtn => 'Add your first twonly contact!'; - @override String get chatListDetailInput => 'Type a message'; @@ -226,10 +208,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get settingsStorageDataStoreInGTitle => 'Store in Gallery'; - @override - String get settingsStorageDataStoreInGSubtitle => - 'Store saved images additional in the systems gallery.'; - @override String get settingsStorageDataMediaAutoDownload => 'Media auto-download'; @@ -276,11 +254,11 @@ class AppLocalizationsEn extends AppLocalizations { String get settingsPrivacy => 'Privacy & Security'; @override - String get settingsPrivacyBlockUsers => 'Block users'; + String get settingsPrivacyBlockUsers => 'Block contacts'; @override String get settingsPrivacyBlockUsersDesc => - 'Blocked users will not be able to communicate with you. You can unblock a blocked user at any time.'; + 'Blocked contacts will not be able to communicate with you. You can unblock a blocked contact at any time.'; @override String settingsPrivacyBlockUsersCount(Object len) { @@ -290,10 +268,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get settingsPrivacyProfileSelectionTitle => 'Security Profile'; - @override - String get settingsPrivacyProfileSelectionDesc => - 'Choose your setup path and security configuration'; - @override String get securityProfileTitle => 'Security Profile'; @@ -455,10 +429,14 @@ class AppLocalizationsEn extends AppLocalizations { 'Your account will be deleted. There is no change to restore it.'; @override - String get contactVerifyNumberTitle => 'Verify contact'; + String get contactVerifyNumberTitle => 'Verify contacts'; @override - String get userVerifiedTitle => 'User verified'; + String get contactVerifyNumberSubtitle => + 'Verify the identity of your contacts to make sure you are texting the right person.'; + + @override + String get userVerifiedTitle => 'Contact verified'; @override String contactVerifiedBy(Object username) { @@ -503,10 +481,10 @@ class AppLocalizationsEn extends AppLocalizations { @override String get contactBlockBody => - 'A blocked user will no longer be able to send you messages and their profile will be hidden from view. To unblock a user, simply navigate to Settings > Privacy > Blocked Users.'; + 'A blocked contact will no longer be able to send you messages and their profile will be hidden from view. To unblock a contact, simply navigate to Settings > Privacy > Blocked Contacts.'; @override - String get contactRemove => 'Remove user'; + String get contactRemove => 'Remove contact'; @override String contactRemoveTitle(Object username) { @@ -515,7 +493,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get contactRemoveBody => - 'Permanently remove the user. If the user tries to send you a new message, you will have to accept the user again first.'; + 'Permanently remove the contact. If the contact tries to send you a new message, you will have to accept the contact again first.'; @override String get undo => 'Undo'; @@ -904,7 +882,7 @@ class AppLocalizationsEn extends AppLocalizations { String get reportUserReason => 'Reporting reason'; @override - String get reportUser => 'Report user'; + String get reportUser => 'Report contact'; @override String get newDeviceRegistered => @@ -1298,12 +1276,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get draftMessage => 'Draft'; - @override - String get exportMemories => 'Export memories (Beta)'; - - @override - String get importMemories => 'Import memories (Beta)'; - @override String get voiceMessageSlideToCancel => 'Slide to cancel'; @@ -1547,7 +1519,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get verificationBadgeGreenDesc => - 'A contact you have *personally* verified.'; + 'A contact you have *personally verified* using the QR code.'; @override String get verificationBadgeYellowDesc => @@ -1557,6 +1529,12 @@ class AppLocalizationsEn extends AppLocalizations { String get verificationBadgeRedDesc => 'A contact whose identity has *not* yet been verified.'; + @override + String get scanNow => 'Scan now'; + + @override + String get openQrCode => 'Open QR code'; + @override String get deleteVerificationTitle => 'Delete verification?'; @@ -1580,17 +1558,6 @@ class AppLocalizationsEn extends AppLocalizations { return '$_temp0'; } - @override - String mutualGroupsSentMessages(num count) { - String _temp0 = intl.Intl.pluralLogic( - count, - locale: localeName, - other: '$count messages sent', - one: '1 message sent', - ); - return '$_temp0'; - } - @override String chatEntryFlameRestored(Object count) { return '$count flames restored'; @@ -1636,9 +1603,6 @@ class AppLocalizationsEn extends AppLocalizations { String get settingsTypingIndicationSubtitle => 'When the typing indicator is turned off, you can\'t see when others are typing a message.'; - @override - String get scanQrOrShow => 'Scan / Show QR'; - @override String get contactActionBlock => 'Block'; @@ -1670,9 +1634,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get userDiscoverySettingsTitle => 'Mutual Friends'; - @override - String get userDiscoveryWhyThisIsUsed => 'Why this is used'; - @override String get userDiscoveryFeatureOffers => 'Your benefits at a glance'; @@ -1840,9 +1801,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get back => 'Back'; - @override - String get onboardingExampleLabel => 'Example'; - @override String makerChangedUsername(Object maker, Object oldName, Object newName) { return '$maker changed their username from $oldName to $newName.'; @@ -1942,9 +1900,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get dragToZoom => 'Drag to Zoom'; - @override - String get showUsername => 'Show username'; - @override String get onboardingProfileSelectionTitle => 'Choose your setup path'; @@ -2079,18 +2034,6 @@ class AppLocalizationsEn extends AppLocalizations { String get importGalleryNoImagesFoundDesc => 'There are no images on your device.'; - @override - String get importGalleryShowAllImages => 'Show all images'; - - @override - String get importGalleryShowTwonlyAlbum => 'Show twonly album'; - - @override - String get importGalleryToggleDescAll => 'Viewing all images on your device.'; - - @override - String get importGalleryToggleDescTwonly => 'Viewing the \"twonly\" album.'; - @override String get importGalleryFilterTwonly => 'Only show the twonly-Album'; diff --git a/lib/src/localization/translations b/lib/src/localization/translations index c95e98ca..673f6d8c 160000 --- a/lib/src/localization/translations +++ b/lib/src/localization/translations @@ -1 +1 @@ -Subproject commit c95e98ca929d630ead028d84e13934b30dbeba3b +Subproject commit 673f6d8c3036d64060b1114912bd5bf5515d5420 diff --git a/lib/src/visual/components/verification_badge_info.comp.dart b/lib/src/visual/components/verification_badge_info.comp.dart index 60bfaa07..28b40b85 100644 --- a/lib/src/visual/components/verification_badge_info.comp.dart +++ b/lib/src/visual/components/verification_badge_info.comp.dart @@ -1,14 +1,23 @@ import 'package:flutter/material.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart' + show FaIcon, FontAwesomeIcons; +import 'package:go_router/go_router.dart'; import 'package:twonly/locator.dart'; +import 'package:twonly/src/constants/routes.keys.dart'; import 'package:twonly/src/services/profile.service.dart'; import 'package:twonly/src/utils/misc.dart'; +import 'package:twonly/src/visual/elements/my_button.element.dart'; import 'package:twonly/src/visual/elements/svg_icon.element.dart'; import 'package:twonly/src/visual/themes/light.dart'; const colorVerificationBadgeYellow = Color.fromARGB(255, 0, 182, 238); class VerificationBadgeInfo extends StatelessWidget { - const VerificationBadgeInfo({super.key}); + const VerificationBadgeInfo({ + this.displayButtons = false, + super.key, + }); + final bool displayButtons; @override Widget build(BuildContext context) { @@ -24,7 +33,44 @@ class VerificationBadgeInfo extends StatelessWidget { icon: const SvgIcon(assetPath: SvgIcons.verifiedGreen, size: 40), description: context.lang.verificationBadgeGreenDesc, boldTextColor: primaryColor, + onTap: () => context.push(Routes.cameraQRScanner), ), + if (displayButtons) + Padding( + padding: const EdgeInsets.only(bottom: 20), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + IntrinsicWidth( + child: MyButton( + variant: MyButtonVariant.primaryDense, + onPressed: () => context.push(Routes.cameraQRScanner), + child: Row( + children: [ + const FaIcon(FontAwesomeIcons.camera), + const SizedBox(width: 6), + Text(context.lang.scanNow), + ], + ), + ), + ), + const SizedBox(width: 8), + IntrinsicWidth( + child: MyButton( + variant: MyButtonVariant.primaryDense, + onPressed: () => context.push(Routes.settingsPublicProfile), + child: Row( + children: [ + const FaIcon(FontAwesomeIcons.qrcode), + const SizedBox(width: 6), + Text(context.lang.openQrCode), + ], + ), + ), + ), + ], + ), + ), if (userService.currentUser.securityProfile != SecurityProfile.strict || userService.currentUser.isUserDiscoveryEnabled) _buildItem( @@ -52,8 +98,9 @@ class VerificationBadgeInfo extends StatelessWidget { required Widget icon, required String description, required Color boldTextColor, + VoidCallback? onTap, }) { - return Padding( + final item = Padding( padding: const EdgeInsets.symmetric(vertical: 25), child: Row( children: [ @@ -74,5 +121,14 @@ class VerificationBadgeInfo extends StatelessWidget { ], ), ); + + if (onTap != null) { + return GestureDetector( + behavior: HitTestBehavior.translucent, + onTap: onTap, + child: item, + ); + } + return item; } } diff --git a/lib/src/visual/views/onboarding/setup.view.dart b/lib/src/visual/views/onboarding/setup.view.dart index 1021eec7..57f4704e 100644 --- a/lib/src/visual/views/onboarding/setup.view.dart +++ b/lib/src/visual/views/onboarding/setup.view.dart @@ -18,9 +18,9 @@ import 'package:twonly/src/visual/views/settings/privacy/user_discovery/componen enum SetupPages { profile, backup, + verificationBadge, profileSelection, securityProfile, - verificationBadge, shareYourFriends, letYourFriendsFindYou, } @@ -40,22 +40,23 @@ extension SetupPagesExtension on SetupPages { return [ SetupPages.profile, SetupPages.backup, + SetupPages.verificationBadge, SetupPages.profileSelection, ]; case SetupProfile.maximum: return [ SetupPages.profile, SetupPages.backup, - SetupPages.profileSelection, SetupPages.verificationBadge, + SetupPages.profileSelection, ]; case SetupProfile.customized: return [ SetupPages.profile, SetupPages.backup, + SetupPages.verificationBadge, SetupPages.profileSelection, SetupPages.securityProfile, - SetupPages.verificationBadge, SetupPages.shareYourFriends, SetupPages.letYourFriendsFindYou, ]; diff --git a/lib/src/visual/views/settings/help/faq/verification_badge_faq.view.dart b/lib/src/visual/views/settings/help/faq/verification_badge_faq.view.dart index 809e1310..c5010cc3 100644 --- a/lib/src/visual/views/settings/help/faq/verification_badge_faq.view.dart +++ b/lib/src/visual/views/settings/help/faq/verification_badge_faq.view.dart @@ -1,10 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -import 'package:go_router/go_router.dart'; -import 'package:twonly/src/constants/routes.keys.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/visual/components/verification_badge_info.comp.dart'; -import 'package:twonly/src/visual/elements/better_list_title.element.dart'; class VerificationBadeFaqView extends StatefulWidget { const VerificationBadeFaqView({super.key}); @@ -23,18 +19,9 @@ class _VerificationBadeFaqViewState extends State { ), body: ListView( padding: const EdgeInsets.all(40), - children: [ - const VerificationBadgeInfo(), - const SizedBox(height: 20), - BetterListTile( - leading: const FaIcon(FontAwesomeIcons.camera), - text: context.lang.scanOtherProfile, - onTap: () => context.push(Routes.cameraQRScanner), - ), - BetterListTile( - leading: const FaIcon(FontAwesomeIcons.qrcode), - text: context.lang.openYourOwnQRcode, - onTap: () => context.push(Routes.settingsPublicProfile), + children: const [ + VerificationBadgeInfo( + displayButtons: true, ), ], ), diff --git a/lib/src/visual/views/settings/privacy.view.dart b/lib/src/visual/views/settings/privacy.view.dart index 5040d160..5bca8461 100644 --- a/lib/src/visual/views/settings/privacy.view.dart +++ b/lib/src/visual/views/settings/privacy.view.dart @@ -67,8 +67,9 @@ class _PrivacyViewState extends State { ), ListTile( title: Text(context.lang.contactVerifyNumberTitle), + subtitle: Text(context.lang.contactVerifyNumberSubtitle), onTap: () async { - await context.push(Routes.settingsPublicProfile); + await context.push(Routes.settingsHelpFaqVerifyBadge); setState(() {}); }, ), diff --git a/pubspec.yaml b/pubspec.yaml index 12dbfffc..ee76bcac 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: "twonly, a privacy-friendly way to connect with friends through sec publish_to: 'none' -version: 0.2.29+138 +version: 0.3.0+139 environment: sdk: ^3.11.0