bump version
Some checks failed
Flutter analyze & test / flutter_analyze_and_test (push) Has been cancelled

This commit is contained in:
otsmr 2026-06-10 00:07:18 +02:00
parent 726cdaf89f
commit 3981341cd3
9 changed files with 134 additions and 296 deletions

View file

@ -140,18 +140,6 @@ abstract class AppLocalizations {
/// **'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.'** /// **'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.'**
String get onboardingFocusBody; 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. /// No description provided for @onboardingNotProductTitle.
/// ///
/// In en, this message translates to: /// 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.'** /// **'twonly is financed by donations and an optional subscription. Your data will never be sold.'**
String get onboardingNotProductBody; 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. /// No description provided for @registerUsernameSlogan.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -320,24 +302,12 @@ abstract class AppLocalizations {
/// **'Username not found'** /// **'Username not found'**
String get searchUsernameNotFound; 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. /// No description provided for @searchUsernameNewFollowerTitle.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Open requests'** /// **'Open requests'**
String get searchUsernameNewFollowerTitle; 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. /// No description provided for @chatListDetailInput.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -512,12 +482,6 @@ abstract class AppLocalizations {
/// **'Store in Gallery'** /// **'Store in Gallery'**
String get settingsStorageDataStoreInGTitle; 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. /// No description provided for @settingsStorageDataMediaAutoDownload.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -611,13 +575,13 @@ abstract class AppLocalizations {
/// No description provided for @settingsPrivacyBlockUsers. /// No description provided for @settingsPrivacyBlockUsers.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Block users'** /// **'Block contacts'**
String get settingsPrivacyBlockUsers; String get settingsPrivacyBlockUsers;
/// No description provided for @settingsPrivacyBlockUsersDesc. /// No description provided for @settingsPrivacyBlockUsersDesc.
/// ///
/// In en, this message translates to: /// 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; String get settingsPrivacyBlockUsersDesc;
/// No description provided for @settingsPrivacyBlockUsersCount. /// No description provided for @settingsPrivacyBlockUsersCount.
@ -632,12 +596,6 @@ abstract class AppLocalizations {
/// **'Security Profile'** /// **'Security Profile'**
String get settingsPrivacyProfileSelectionTitle; 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. /// No description provided for @securityProfileTitle.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -935,13 +893,19 @@ abstract class AppLocalizations {
/// No description provided for @contactVerifyNumberTitle. /// No description provided for @contactVerifyNumberTitle.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Verify contact'** /// **'Verify contacts'**
String get contactVerifyNumberTitle; 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. /// No description provided for @userVerifiedTitle.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'User verified'** /// **'Contact verified'**
String get userVerifiedTitle; String get userVerifiedTitle;
/// No description provided for @contactVerifiedBy. /// No description provided for @contactVerifiedBy.
@ -1013,13 +977,13 @@ abstract class AppLocalizations {
/// No description provided for @contactBlockBody. /// No description provided for @contactBlockBody.
/// ///
/// In en, this message translates to: /// 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; String get contactBlockBody;
/// No description provided for @contactRemove. /// No description provided for @contactRemove.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Remove user'** /// **'Remove contact'**
String get contactRemove; String get contactRemove;
/// No description provided for @contactRemoveTitle. /// No description provided for @contactRemoveTitle.
@ -1031,7 +995,7 @@ abstract class AppLocalizations {
/// No description provided for @contactRemoveBody. /// No description provided for @contactRemoveBody.
/// ///
/// In en, this message translates to: /// 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; String get contactRemoveBody;
/// No description provided for @undo. /// No description provided for @undo.
@ -1721,7 +1685,7 @@ abstract class AppLocalizations {
/// No description provided for @reportUser. /// No description provided for @reportUser.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Report user'** /// **'Report contact'**
String get reportUser; String get reportUser;
/// No description provided for @newDeviceRegistered. /// No description provided for @newDeviceRegistered.
@ -2360,18 +2324,6 @@ abstract class AppLocalizations {
/// **'Draft'** /// **'Draft'**
String get draftMessage; 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. /// No description provided for @voiceMessageSlideToCancel.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -2771,7 +2723,7 @@ abstract class AppLocalizations {
/// No description provided for @verificationBadgeGreenDesc. /// No description provided for @verificationBadgeGreenDesc.
/// ///
/// In en, this message translates to: /// 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; String get verificationBadgeGreenDesc;
/// No description provided for @verificationBadgeYellowDesc. /// No description provided for @verificationBadgeYellowDesc.
@ -2786,6 +2738,18 @@ abstract class AppLocalizations {
/// **'A contact whose identity has *not* yet been verified.'** /// **'A contact whose identity has *not* yet been verified.'**
String get verificationBadgeRedDesc; 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. /// No description provided for @deleteVerificationTitle.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -2810,12 +2774,6 @@ abstract class AppLocalizations {
/// **'{count, plural, =1{1 mutual group} other{{count} mutual groups}}'** /// **'{count, plural, =1{1 mutual group} other{{count} mutual groups}}'**
String mutualGroupsTitle(num count); 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. /// No description provided for @chatEntryFlameRestored.
/// ///
/// In en, this message translates to: /// 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.'** /// **'When the typing indicator is turned off, you can\'t see when others are typing a message.'**
String get settingsTypingIndicationSubtitle; 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. /// No description provided for @contactActionBlock.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -2948,12 +2900,6 @@ abstract class AppLocalizations {
/// **'Mutual Friends'** /// **'Mutual Friends'**
String get userDiscoverySettingsTitle; 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. /// No description provided for @userDiscoveryFeatureOffers.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -3236,12 +3182,6 @@ abstract class AppLocalizations {
/// **'Back'** /// **'Back'**
String get back; String get back;
/// No description provided for @onboardingExampleLabel.
///
/// In en, this message translates to:
/// **'Example'**
String get onboardingExampleLabel;
/// No description provided for @makerChangedUsername. /// No description provided for @makerChangedUsername.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -3410,12 +3350,6 @@ abstract class AppLocalizations {
/// **'Drag to Zoom'** /// **'Drag to Zoom'**
String get dragToZoom; String get dragToZoom;
/// No description provided for @showUsername.
///
/// In en, this message translates to:
/// **'Show username'**
String get showUsername;
/// No description provided for @onboardingProfileSelectionTitle. /// No description provided for @onboardingProfileSelectionTitle.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -3642,30 +3576,6 @@ abstract class AppLocalizations {
/// **'There are no images on your device.'** /// **'There are no images on your device.'**
String get importGalleryNoImagesFoundDesc; 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. /// No description provided for @importGalleryFilterTwonly.
/// ///
/// In en, this message translates to: /// In en, this message translates to:

View file

@ -33,13 +33,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get onboardingFocusBody => String get onboardingFocusBody =>
'Verabschiede dich von süchtig machenden Funktionen! twonly wurde für das Teilen von Momenten ohne nutzlose Ablenkungen oder Werbung entwickelt.'; '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 @override
String get onboardingNotProductTitle => 'Du bist nicht das Produkt!'; String get onboardingNotProductTitle => 'Du bist nicht das Produkt!';
@ -47,9 +40,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get onboardingNotProductBody => String get onboardingNotProductBody =>
'twonly wird durch Spenden und ein optionales Abonnement finanziert. Deine Daten werden niemals verkauft.'; 'twonly wird durch Spenden und ein optionales Abonnement finanziert. Deine Daten werden niemals verkauft.';
@override
String get onboardingGetStartedTitle => 'Auf geht\'s';
@override @override
String get registerUsernameSlogan => 'Konto erstellen'; String get registerUsernameSlogan => 'Konto erstellen';
@ -126,18 +116,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get searchUsernameNotFound => 'Benutzername nicht gefunden'; String get searchUsernameNotFound => 'Benutzername nicht gefunden';
@override
String searchUsernameNotFoundBody(Object username) {
return 'Es wurde kein Benutzer mit dem Benutzernamen \"$username\" gefunden.';
}
@override @override
String get searchUsernameNewFollowerTitle => 'Offene Anfragen'; String get searchUsernameNewFollowerTitle => 'Offene Anfragen';
@override
String get chatListViewSearchUserNameBtn =>
'Füge deinen ersten twonly-Kontakt hinzu!';
@override @override
String get chatListDetailInput => 'Nachricht eingeben'; String get chatListDetailInput => 'Nachricht eingeben';
@ -229,10 +210,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get settingsStorageDataStoreInGTitle => 'In der Galerie speichern'; String get settingsStorageDataStoreInGTitle => 'In der Galerie speichern';
@override
String get settingsStorageDataStoreInGSubtitle =>
'Speichere Bilder zusätzlich in der Systemgalerie.';
@override @override
String get settingsStorageDataMediaAutoDownload => String get settingsStorageDataMediaAutoDownload =>
'Automatischer Mediendownload'; 'Automatischer Mediendownload';
@ -280,11 +257,11 @@ class AppLocalizationsDe extends AppLocalizations {
String get settingsPrivacy => 'Datenschutz & Sicherheit'; String get settingsPrivacy => 'Datenschutz & Sicherheit';
@override @override
String get settingsPrivacyBlockUsers => 'Benutzer blockieren'; String get settingsPrivacyBlockUsers => 'Kontakte blockieren';
@override @override
String get settingsPrivacyBlockUsersDesc => 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 @override
String settingsPrivacyBlockUsersCount(Object len) { String settingsPrivacyBlockUsersCount(Object len) {
@ -294,10 +271,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get settingsPrivacyProfileSelectionTitle => 'Sicherheitsprofil'; String get settingsPrivacyProfileSelectionTitle => 'Sicherheitsprofil';
@override
String get settingsPrivacyProfileSelectionDesc =>
'Wähle deinen Setup-Pfad und deine Sicherheitskonfiguration';
@override @override
String get securityProfileTitle => 'Sicherheitsprofil'; String get securityProfileTitle => 'Sicherheitsprofil';
@ -460,10 +433,14 @@ class AppLocalizationsDe extends AppLocalizations {
'Dein Konto wird gelöscht. Es gibt keine Möglichkeit, es wiederherzustellen.'; 'Dein Konto wird gelöscht. Es gibt keine Möglichkeit, es wiederherzustellen.';
@override @override
String get contactVerifyNumberTitle => 'Benutzer verifizieren'; String get contactVerifyNumberTitle => 'Kontakte verifizieren';
@override @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 @override
String contactVerifiedBy(Object username) { String contactVerifiedBy(Object username) {
@ -508,10 +485,10 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get contactBlockBody => 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 @override
String get contactRemove => 'Benutzer löschen'; String get contactRemove => 'Kontakt löschen';
@override @override
String contactRemoveTitle(Object username) { String contactRemoveTitle(Object username) {
@ -520,7 +497,7 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get contactRemoveBody => 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 @override
String get undo => 'Rückgängig'; String get undo => 'Rückgängig';
@ -910,7 +887,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get reportUserReason => 'Meldegrund'; String get reportUserReason => 'Meldegrund';
@override @override
String get reportUser => 'Benutzer melden'; String get reportUser => 'Kontakt melden';
@override @override
String get newDeviceRegistered => String get newDeviceRegistered =>
@ -1307,12 +1284,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get draftMessage => 'Entwurf'; String get draftMessage => 'Entwurf';
@override
String get exportMemories => 'Memories exportieren (Beta)';
@override
String get importMemories => 'Memories importieren (Beta)';
@override @override
String get voiceMessageSlideToCancel => 'Zum Abbrechen ziehen'; String get voiceMessageSlideToCancel => 'Zum Abbrechen ziehen';
@ -1561,7 +1532,7 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get verificationBadgeGreenDesc => String get verificationBadgeGreenDesc =>
'Ein Kontakt, den du *persönlich verifiziert* hast.'; 'Ein Kontakt, den du über den QR-code *persönlich verifiziert* hast.';
@override @override
String get verificationBadgeYellowDesc => String get verificationBadgeYellowDesc =>
@ -1571,6 +1542,12 @@ class AppLocalizationsDe extends AppLocalizations {
String get verificationBadgeRedDesc => String get verificationBadgeRedDesc =>
'Ein Kontakt, dessen Identität noch *nicht überprüft* wurde.'; 'Ein Kontakt, dessen Identität noch *nicht überprüft* wurde.';
@override
String get scanNow => 'Jetzt scannen';
@override
String get openQrCode => 'QR-Code öffnen';
@override @override
String get deleteVerificationTitle => 'Verifizierung löschen?'; String get deleteVerificationTitle => 'Verifizierung löschen?';
@ -1594,17 +1571,6 @@ class AppLocalizationsDe extends AppLocalizations {
return '$_temp0'; 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 @override
String chatEntryFlameRestored(Object count) { String chatEntryFlameRestored(Object count) {
return '$count Flammen wiederhergestellt'; return '$count Flammen wiederhergestellt';
@ -1650,9 +1616,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get settingsTypingIndicationSubtitle => String get settingsTypingIndicationSubtitle =>
'Bei deaktivierten Tipp-Indikatoren kannst du nicht sehen, wenn andere gerade eine Nachricht tippen.'; 'Bei deaktivierten Tipp-Indikatoren kannst du nicht sehen, wenn andere gerade eine Nachricht tippen.';
@override
String get scanQrOrShow => 'QR scannen / anzeigen';
@override @override
String get contactActionBlock => 'Blockieren'; String get contactActionBlock => 'Blockieren';
@ -1684,9 +1647,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get userDiscoverySettingsTitle => 'Gemeinsame Freunde'; String get userDiscoverySettingsTitle => 'Gemeinsame Freunde';
@override
String get userDiscoveryWhyThisIsUsed => 'Warum dies verwendet wird';
@override @override
String get userDiscoveryFeatureOffers => 'Dein Nutzen auf einen Blick'; String get userDiscoveryFeatureOffers => 'Dein Nutzen auf einen Blick';
@ -1854,9 +1814,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get back => 'Zurück'; String get back => 'Zurück';
@override
String get onboardingExampleLabel => 'Beispiel';
@override @override
String makerChangedUsername(Object maker, Object oldName, Object newName) { String makerChangedUsername(Object maker, Object oldName, Object newName) {
return '$maker hat den Benutzernamen von $oldName zu $newName geändert.'; return '$maker hat den Benutzernamen von $oldName zu $newName geändert.';
@ -1957,9 +1914,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get dragToZoom => 'Zum Zoomen ziehen'; String get dragToZoom => 'Zum Zoomen ziehen';
@override
String get showUsername => 'Benutzernamen anzeigen';
@override @override
String get onboardingProfileSelectionTitle => 'Wähle deinen Setup-Weg'; String get onboardingProfileSelectionTitle => 'Wähle deinen Setup-Weg';
@ -2094,20 +2048,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get importGalleryNoImagesFoundDesc => String get importGalleryNoImagesFoundDesc =>
'Es befinden sich keine Bilder auf deinem Gerät.'; '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 @override
String get importGalleryFilterTwonly => 'Nur das twonly-Album anzeigen'; String get importGalleryFilterTwonly => 'Nur das twonly-Album anzeigen';

View file

@ -32,13 +32,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get onboardingFocusBody => String get onboardingFocusBody =>
'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.'; '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 @override
String get onboardingNotProductTitle => 'You are not the product!'; String get onboardingNotProductTitle => 'You are not the product!';
@ -46,9 +39,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get onboardingNotProductBody => String get onboardingNotProductBody =>
'twonly is financed by donations and an optional subscription. Your data will never be sold.'; 'twonly is financed by donations and an optional subscription. Your data will never be sold.';
@override
String get onboardingGetStartedTitle => 'Let\'s go!';
@override @override
String get registerUsernameSlogan => 'Create your account'; String get registerUsernameSlogan => 'Create your account';
@ -125,17 +115,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get searchUsernameNotFound => 'Username not found'; String get searchUsernameNotFound => 'Username not found';
@override
String searchUsernameNotFoundBody(Object username) {
return 'There is no user with the username \"$username\" registered';
}
@override @override
String get searchUsernameNewFollowerTitle => 'Open requests'; String get searchUsernameNewFollowerTitle => 'Open requests';
@override
String get chatListViewSearchUserNameBtn => 'Add your first twonly contact!';
@override @override
String get chatListDetailInput => 'Type a message'; String get chatListDetailInput => 'Type a message';
@ -226,10 +208,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get settingsStorageDataStoreInGTitle => 'Store in Gallery'; String get settingsStorageDataStoreInGTitle => 'Store in Gallery';
@override
String get settingsStorageDataStoreInGSubtitle =>
'Store saved images additional in the systems gallery.';
@override @override
String get settingsStorageDataMediaAutoDownload => 'Media auto-download'; String get settingsStorageDataMediaAutoDownload => 'Media auto-download';
@ -276,11 +254,11 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsPrivacy => 'Privacy & Security'; String get settingsPrivacy => 'Privacy & Security';
@override @override
String get settingsPrivacyBlockUsers => 'Block users'; String get settingsPrivacyBlockUsers => 'Block contacts';
@override @override
String get settingsPrivacyBlockUsersDesc => 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 @override
String settingsPrivacyBlockUsersCount(Object len) { String settingsPrivacyBlockUsersCount(Object len) {
@ -290,10 +268,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get settingsPrivacyProfileSelectionTitle => 'Security Profile'; String get settingsPrivacyProfileSelectionTitle => 'Security Profile';
@override
String get settingsPrivacyProfileSelectionDesc =>
'Choose your setup path and security configuration';
@override @override
String get securityProfileTitle => 'Security Profile'; 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.'; 'Your account will be deleted. There is no change to restore it.';
@override @override
String get contactVerifyNumberTitle => 'Verify contact'; String get contactVerifyNumberTitle => 'Verify contacts';
@override @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 @override
String contactVerifiedBy(Object username) { String contactVerifiedBy(Object username) {
@ -503,10 +481,10 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get contactBlockBody => 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 @override
String get contactRemove => 'Remove user'; String get contactRemove => 'Remove contact';
@override @override
String contactRemoveTitle(Object username) { String contactRemoveTitle(Object username) {
@ -515,7 +493,7 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get contactRemoveBody => 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 @override
String get undo => 'Undo'; String get undo => 'Undo';
@ -904,7 +882,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get reportUserReason => 'Reporting reason'; String get reportUserReason => 'Reporting reason';
@override @override
String get reportUser => 'Report user'; String get reportUser => 'Report contact';
@override @override
String get newDeviceRegistered => String get newDeviceRegistered =>
@ -1298,12 +1276,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get draftMessage => 'Draft'; String get draftMessage => 'Draft';
@override
String get exportMemories => 'Export memories (Beta)';
@override
String get importMemories => 'Import memories (Beta)';
@override @override
String get voiceMessageSlideToCancel => 'Slide to cancel'; String get voiceMessageSlideToCancel => 'Slide to cancel';
@ -1547,7 +1519,7 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get verificationBadgeGreenDesc => String get verificationBadgeGreenDesc =>
'A contact you have *personally* verified.'; 'A contact you have *personally verified* using the QR code.';
@override @override
String get verificationBadgeYellowDesc => String get verificationBadgeYellowDesc =>
@ -1557,6 +1529,12 @@ class AppLocalizationsEn extends AppLocalizations {
String get verificationBadgeRedDesc => String get verificationBadgeRedDesc =>
'A contact whose identity has *not* yet been verified.'; 'A contact whose identity has *not* yet been verified.';
@override
String get scanNow => 'Scan now';
@override
String get openQrCode => 'Open QR code';
@override @override
String get deleteVerificationTitle => 'Delete verification?'; String get deleteVerificationTitle => 'Delete verification?';
@ -1580,17 +1558,6 @@ class AppLocalizationsEn extends AppLocalizations {
return '$_temp0'; 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 @override
String chatEntryFlameRestored(Object count) { String chatEntryFlameRestored(Object count) {
return '$count flames restored'; return '$count flames restored';
@ -1636,9 +1603,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsTypingIndicationSubtitle => String get settingsTypingIndicationSubtitle =>
'When the typing indicator is turned off, you can\'t see when others are typing a message.'; '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 @override
String get contactActionBlock => 'Block'; String get contactActionBlock => 'Block';
@ -1670,9 +1634,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get userDiscoverySettingsTitle => 'Mutual Friends'; String get userDiscoverySettingsTitle => 'Mutual Friends';
@override
String get userDiscoveryWhyThisIsUsed => 'Why this is used';
@override @override
String get userDiscoveryFeatureOffers => 'Your benefits at a glance'; String get userDiscoveryFeatureOffers => 'Your benefits at a glance';
@ -1840,9 +1801,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get back => 'Back'; String get back => 'Back';
@override
String get onboardingExampleLabel => 'Example';
@override @override
String makerChangedUsername(Object maker, Object oldName, Object newName) { String makerChangedUsername(Object maker, Object oldName, Object newName) {
return '$maker changed their username from $oldName to $newName.'; return '$maker changed their username from $oldName to $newName.';
@ -1942,9 +1900,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get dragToZoom => 'Drag to Zoom'; String get dragToZoom => 'Drag to Zoom';
@override
String get showUsername => 'Show username';
@override @override
String get onboardingProfileSelectionTitle => 'Choose your setup path'; String get onboardingProfileSelectionTitle => 'Choose your setup path';
@ -2079,18 +2034,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get importGalleryNoImagesFoundDesc => String get importGalleryNoImagesFoundDesc =>
'There are no images on your device.'; '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 @override
String get importGalleryFilterTwonly => 'Only show the twonly-Album'; String get importGalleryFilterTwonly => 'Only show the twonly-Album';

@ -1 +1 @@
Subproject commit c95e98ca929d630ead028d84e13934b30dbeba3b Subproject commit 673f6d8c3036d64060b1114912bd5bf5515d5420

View file

@ -1,14 +1,23 @@
import 'package:flutter/material.dart'; 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/locator.dart';
import 'package:twonly/src/constants/routes.keys.dart';
import 'package:twonly/src/services/profile.service.dart'; import 'package:twonly/src/services/profile.service.dart';
import 'package:twonly/src/utils/misc.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/elements/svg_icon.element.dart';
import 'package:twonly/src/visual/themes/light.dart'; import 'package:twonly/src/visual/themes/light.dart';
const colorVerificationBadgeYellow = Color.fromARGB(255, 0, 182, 238); const colorVerificationBadgeYellow = Color.fromARGB(255, 0, 182, 238);
class VerificationBadgeInfo extends StatelessWidget { class VerificationBadgeInfo extends StatelessWidget {
const VerificationBadgeInfo({super.key}); const VerificationBadgeInfo({
this.displayButtons = false,
super.key,
});
final bool displayButtons;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -24,6 +33,43 @@ class VerificationBadgeInfo extends StatelessWidget {
icon: const SvgIcon(assetPath: SvgIcons.verifiedGreen, size: 40), icon: const SvgIcon(assetPath: SvgIcons.verifiedGreen, size: 40),
description: context.lang.verificationBadgeGreenDesc, description: context.lang.verificationBadgeGreenDesc,
boldTextColor: primaryColor, 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 || if (userService.currentUser.securityProfile != SecurityProfile.strict ||
userService.currentUser.isUserDiscoveryEnabled) userService.currentUser.isUserDiscoveryEnabled)
@ -52,8 +98,9 @@ class VerificationBadgeInfo extends StatelessWidget {
required Widget icon, required Widget icon,
required String description, required String description,
required Color boldTextColor, required Color boldTextColor,
VoidCallback? onTap,
}) { }) {
return Padding( final item = Padding(
padding: const EdgeInsets.symmetric(vertical: 25), padding: const EdgeInsets.symmetric(vertical: 25),
child: Row( child: Row(
children: [ children: [
@ -74,5 +121,14 @@ class VerificationBadgeInfo extends StatelessWidget {
], ],
), ),
); );
if (onTap != null) {
return GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: onTap,
child: item,
);
}
return item;
} }
} }

View file

@ -18,9 +18,9 @@ import 'package:twonly/src/visual/views/settings/privacy/user_discovery/componen
enum SetupPages { enum SetupPages {
profile, profile,
backup, backup,
verificationBadge,
profileSelection, profileSelection,
securityProfile, securityProfile,
verificationBadge,
shareYourFriends, shareYourFriends,
letYourFriendsFindYou, letYourFriendsFindYou,
} }
@ -40,22 +40,23 @@ extension SetupPagesExtension on SetupPages {
return [ return [
SetupPages.profile, SetupPages.profile,
SetupPages.backup, SetupPages.backup,
SetupPages.verificationBadge,
SetupPages.profileSelection, SetupPages.profileSelection,
]; ];
case SetupProfile.maximum: case SetupProfile.maximum:
return [ return [
SetupPages.profile, SetupPages.profile,
SetupPages.backup, SetupPages.backup,
SetupPages.profileSelection,
SetupPages.verificationBadge, SetupPages.verificationBadge,
SetupPages.profileSelection,
]; ];
case SetupProfile.customized: case SetupProfile.customized:
return [ return [
SetupPages.profile, SetupPages.profile,
SetupPages.backup, SetupPages.backup,
SetupPages.verificationBadge,
SetupPages.profileSelection, SetupPages.profileSelection,
SetupPages.securityProfile, SetupPages.securityProfile,
SetupPages.verificationBadge,
SetupPages.shareYourFriends, SetupPages.shareYourFriends,
SetupPages.letYourFriendsFindYou, SetupPages.letYourFriendsFindYou,
]; ];

View file

@ -1,10 +1,6 @@
import 'package:flutter/material.dart'; 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/utils/misc.dart';
import 'package:twonly/src/visual/components/verification_badge_info.comp.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 { class VerificationBadeFaqView extends StatefulWidget {
const VerificationBadeFaqView({super.key}); const VerificationBadeFaqView({super.key});
@ -23,18 +19,9 @@ class _VerificationBadeFaqViewState extends State<VerificationBadeFaqView> {
), ),
body: ListView( body: ListView(
padding: const EdgeInsets.all(40), padding: const EdgeInsets.all(40),
children: [ children: const [
const VerificationBadgeInfo(), VerificationBadgeInfo(
const SizedBox(height: 20), displayButtons: true,
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),
), ),
], ],
), ),

View file

@ -67,8 +67,9 @@ class _PrivacyViewState extends State<PrivacyView> {
), ),
ListTile( ListTile(
title: Text(context.lang.contactVerifyNumberTitle), title: Text(context.lang.contactVerifyNumberTitle),
subtitle: Text(context.lang.contactVerifyNumberSubtitle),
onTap: () async { onTap: () async {
await context.push(Routes.settingsPublicProfile); await context.push(Routes.settingsHelpFaqVerifyBadge);
setState(() {}); setState(() {});
}, },
), ),

View file

@ -3,7 +3,7 @@ description: "twonly, a privacy-friendly way to connect with friends through sec
publish_to: 'none' publish_to: 'none'
version: 0.2.29+138 version: 0.3.0+139
environment: environment:
sdk: ^3.11.0 sdk: ^3.11.0