diff --git a/apps/ios/Shared/Model/AppAPITypes.swift b/apps/ios/Shared/Model/AppAPITypes.swift index ffe3710de7..aed954d8c4 100644 --- a/apps/ios/Shared/Model/AppAPITypes.swift +++ b/apps/ios/Shared/Model/AppAPITypes.swift @@ -1408,8 +1408,22 @@ struct UserMsgReceiptSettings: Codable { var clearOverrides: Bool } +protocol SimplexAddress { + var connLinkContact: CreatedConnLink { get } + var shortLinkDataSet: Bool { get } +} -struct UserContactLink: Decodable, Hashable { +extension SimplexAddress { + var shouldBeUpgraded: Bool { // TODO update condition + connLinkContact.connShortLink == nil || !shortLinkDataSet + } + + func shareAddress(short: Bool) { + showShareSheet(items: [simplexChatLink(connLinkContact.simplexChatUri(short: short))]) + } +} + +struct UserContactLink: Decodable, Hashable, SimplexAddress { var connLinkContact: CreatedConnLink var shortLinkDataSet: Bool var addressSettings: AddressSettings @@ -1425,7 +1439,7 @@ struct AutoAccept: Codable, Hashable { var acceptIncognito: Bool } -struct GroupLink: Decodable, Hashable { +struct GroupLink: Decodable, Hashable, SimplexAddress { var userContactLinkId: Int64 var connLinkContact: CreatedConnLink var shortLinkDataSet: Bool diff --git a/apps/ios/Shared/Views/Chat/Group/GroupLinkView.swift b/apps/ios/Shared/Views/Chat/Group/GroupLinkView.swift index 7834d67abb..27a48a1fc6 100644 --- a/apps/ios/Shared/Views/Chat/Group/GroupLinkView.swift +++ b/apps/ios/Shared/Views/Chat/Group/GroupLinkView.swift @@ -80,26 +80,23 @@ struct GroupLinkView: View { .frame(height: 36) SimpleXCreatedLinkQRCode(link: groupLink.connLinkContact, short: $showShortLink) .id("simplex-qrcode-view-for-\(groupLink.connLinkContact.simplexChatUri(short: showShortLink))") + if groupLink.shouldBeUpgraded { + Button { + upgradeAndShareLinkAlert() + } label: { + Label("Upgrade link", systemImage: "arrow.up") + } + } Button { - showShareSheet(items: [groupLink.connLinkContact.simplexChatUri(short: showShortLink)]) + if groupLink.shouldBeUpgraded { + upgradeAndShareLinkAlert(groupLink: groupLink) + } else { + groupLink.shareAddress(short: showShortLink) + } } label: { Label("Share link", systemImage: "square.and.arrow.up") } - if groupLink.connLinkContact.connShortLink == nil { - Button { - addShortLink() - } label: { - Label("Add short link", systemImage: "plus") - } - } else if !groupLink.shortLinkDataSet { - Button { - addShortLink() - } label: { - Label("Share group profile via link", systemImage: "plus") - } - } - if !creatingGroup { Button(role: .destructive) { alert = .deleteLink } label: { Label("Delete link", systemImage: "trash") @@ -177,7 +174,26 @@ struct GroupLinkView: View { } } - private func addShortLink() { + private func upgradeAndShareLinkAlert(groupLink: GroupLink? = nil) { + showAlert( + NSLocalizedString("Upgrade group link?", comment: "alert message"), + message: NSLocalizedString("The link will be short, and group profile will be shared via the link.", comment: "alert message"), + actions: { + var actions = [UIAlertAction(title: NSLocalizedString("Upgrade", comment: "alert button"), style: .default) { _ in + addShortLink(shareOnCompletion: groupLink != nil) + }] + if let groupLink { + actions.append(UIAlertAction(title: NSLocalizedString("Share old link", comment: "alert button"), style: .default) { _ in + groupLink.shareAddress(short: showShortLink) + }) + } + actions.append(cancelAlertAction) + return actions + } + ) + } + + private func addShortLink(shareOnCompletion: Bool = false) { Task { do { creatingLink = true @@ -185,6 +201,9 @@ struct GroupLinkView: View { await MainActor.run { creatingLink = false groupLink = gLink + if shareOnCompletion, let gLink { + gLink.shareAddress(short: showShortLink) + } } } catch let error { logger.error("apiAddGroupShortLink: \(responseError(error))") diff --git a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift index 0e52e5f695..e4f8721840 100644 --- a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift +++ b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift @@ -676,10 +676,10 @@ fileprivate struct CreateUpdateAddressShortLink: View { } Group { if let addr = ChatModel.shared.userAddress { - if addr.shortLinkDataSet { // update condition - Button("Share your address") { print("share address") } + if addr.shouldBeUpgraded { + Button("Upgrade your address") { print("update address") } } else { - Button("Update your address") { print("update address") } + Button("Share your address") { print("share address") } } } else { Button("Create your address") { print("create address") } diff --git a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift index 3087f1f16a..3b11d17c75 100644 --- a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift +++ b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift @@ -138,7 +138,10 @@ struct UserAddressView: View { Section { SimpleXCreatedLinkQRCode(link: userAddress.connLinkContact, short: $showShortLink) .id("simplex-contact-address-qrcode-\(userAddress.connLinkContact.simplexChatUri(short: showShortLink))") - shareQRCodeButton(userAddress) + if userAddress.shouldBeUpgraded { + upgradeAddressButton() + } + shareAddressButton(userAddress) // if MFMailComposeViewController.canSendMail() { // shareViaEmailButton(userAddress) // } @@ -153,11 +156,6 @@ struct UserAddressView: View { } } addressSettingsButton(userAddress) - if userAddress.connLinkContact.connShortLink == nil { - addShortLinkButton() - } else if !userAddress.shortLinkDataSet { - addProfileToShortLinkButton() - } } header: { ToggleShortLinkHeader(text: Text("For social media"), link: userAddress.connLinkContact, short: $showShortLink) } footer: { @@ -214,58 +212,36 @@ struct UserAddressView: View { } } - private func addShortLinkButton() -> some View { + private func upgradeAddressButton() -> some View { Button { - showAddShortLinkAlert( - title: NSLocalizedString("Add short link", comment: "alert title"), - button: NSLocalizedString("Add link", comment: "alert button") - ) + upgradeAndShareAddressAlert() } label: { - settingsRow("plus", color: theme.colors.primary) { - Text("Add link") + settingsRow("arrow.up", color: theme.colors.primary) { + Text("Upgrade address") } } } - private func addProfileToShortLinkButton() -> some View { - Button { - showAddShortLinkAlert( - title: NSLocalizedString("Share profile with address", comment: "alert title"), - button: NSLocalizedString("Share profile", comment: "alert button") - ) - } label: { - settingsRow("plus", color: theme.colors.primary) { - Text("Share profile with address") + private func upgradeAndShareAddressAlert(userAddress: UserContactLink? = nil) { + showAlert( + NSLocalizedString("Upgrade address?", comment: "alert message"), + message: NSLocalizedString("The address will be short, and your profile will be shared via the address.", comment: "alert message"), + actions: { + var actions = [UIAlertAction(title: NSLocalizedString("Upgrade", comment: "alert button"), style: .default) { _ in + addShortLink(shareOnCompletion: userAddress != nil) + }] + if let userAddress { + actions.append(UIAlertAction(title: NSLocalizedString("Share old address", comment: "alert button"), style: .default) { _ in + userAddress.shareAddress(short: showShortLink) + }) + } + actions.append(cancelAlertAction) + return actions } - } - } - - private func showAddShortLinkAlert(title: String, button: String) { - showAlert( - title: title, - message: NSLocalizedString("Your profile will be shared with the address.", comment: "alert message"), - buttonTitle: button, - buttonAction: { addShortLink() }, - cancelButton: true ) } - private func showUpdateAddressShareAlert(title: String, button: String, shareLink: @escaping () -> Void) { - showAlert( - title, - message: NSLocalizedString("Your profile will be shared with the address.", comment: "alert message"), - actions: {[ - UIAlertAction( - title: button, - style: .default, - handler: { _ in addShortLink(onCompletion: shareLink) } - ), - UIAlertAction(title: NSLocalizedString("Share full link", comment: "alert button"), style: .default) { _ in shareLink() } - ]} - ) - } - - private func addShortLink(onCompletion: (() -> Void)? = nil) { + private func addShortLink(shareOnCompletion: Bool = false) { progressIndicator = true Task { do { @@ -273,7 +249,9 @@ struct UserAddressView: View { await MainActor.run { chatModel.userAddress = userAddress progressIndicator = false - onCompletion?() + if shareOnCompletion, let userAddress { + userAddress.shareAddress(short: showShortLink) + } } } catch let error { logger.error("apiAddMyAddressShortLink: \(responseError(error))") @@ -305,25 +283,12 @@ struct UserAddressView: View { } } - private func shareQRCodeButton(_ userAddress: UserContactLink) -> some View { - let shareLink = { - showShareSheet(items: [simplexChatLink(userAddress.connLinkContact.simplexChatUri(short: showShortLink))]) - } + private func shareAddressButton(_ userAddress: UserContactLink) -> some View { return Button { - if userAddress.connLinkContact.connShortLink == nil { - showUpdateAddressShareAlert( - title: NSLocalizedString("Add short link", comment: "alert title"), - button: NSLocalizedString("Add link", comment: "alert button"), - shareLink: shareLink - ) - } else if userAddress.shortLinkDataSet { // TODO update condition - shareLink() + if userAddress.shouldBeUpgraded { + upgradeAndShareAddressAlert(userAddress: userAddress) } else { - showUpdateAddressShareAlert( - title: NSLocalizedString("Share profile with address", comment: "alert title"), - button: NSLocalizedString("Share profile", comment: "alert button"), - shareLink: shareLink - ) + userAddress.shareAddress(short: showShortLink) } } label: { settingsRow("square.and.arrow.up", color: theme.colors.secondary) { @@ -389,12 +354,13 @@ struct UserAddressView: View { struct ToggleShortLinkHeader: View { @EnvironmentObject var theme: AppTheme + @AppStorage(DEFAULT_DEVELOPER_TOOLS) private var developerTools = false let text: Text var link: CreatedConnLink @Binding var short: Bool var body: some View { - if link.connShortLink == nil { + if link.connShortLink == nil || !developerTools { text.foregroundColor(theme.colors.secondary) } else { HStack { diff --git a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff index cbea08cb9e..a4a58d0d23 100644 --- a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff +++ b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff @@ -626,10 +626,6 @@ swipe action Добави приятели No comment provided by engineer. - - Add link - alert button - Add list No comment provided by engineer. @@ -653,10 +649,6 @@ swipe action Добави сървъри чрез сканиране на QR кодове. No comment provided by engineer. - - Add short link - alert title - Add team members Добави членове на екипа @@ -6987,26 +6979,22 @@ chat item action Share from other apps. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link Сподели линк No comment provided by engineer. - - Share profile + + Share old address alert button - - Share profile with address - alert title + + Share old link + alert button + + + Share profile + No comment provided by engineer. Share this 1-time invite link @@ -7512,6 +7500,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Приложението може да ви уведоми, когато получите съобщения или заявки за контакт - моля, отворете настройките, за да активирате. @@ -7569,6 +7561,10 @@ It can happen because of some bug or when the connection is compromised.Хешът на предишното съобщение е различен. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Съобщението ще бъде изтрито за всички членове. @@ -8017,10 +8013,6 @@ To connect, please ask your contact to create another connection link and check Update settings? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -8030,11 +8022,35 @@ To connect, please ask your contact to create another connection link and check Актуализирането на настройките ще свърже отново клиента към всички сървъри. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Актуализирай и отвори чата No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors No comment provided by engineer. @@ -8864,10 +8880,6 @@ Repeat connection request? Your profile was changed. If you save it, the updated profile will be sent to all your contacts. alert message - - Your profile will be shared with the address. - alert message - Your random profile Вашият автоматично генериран профил diff --git a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff index b545a44cad..d923583bb1 100644 --- a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff +++ b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff @@ -612,10 +612,6 @@ swipe action Add friends No comment provided by engineer. - - Add link - alert button - Add list No comment provided by engineer. @@ -639,10 +635,6 @@ swipe action Přidejte servery skenováním QR kódů. No comment provided by engineer. - - Add short link - alert title - Add team members No comment provided by engineer. @@ -6759,26 +6751,22 @@ chat item action Share from other apps. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link Sdílet odkaz No comment provided by engineer. - - Share profile + + Share old address alert button - - Share profile with address - alert title + + Share old link + alert button + + + Share profile + No comment provided by engineer. Share this 1-time invite link @@ -7272,6 +7260,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Aplikace vás může upozornit na přijaté zprávy nebo žádosti o kontakt - povolte to v nastavení. @@ -7328,6 +7320,10 @@ Může se to stát kvůli nějaké chybě, nebo pokud je spojení kompromitován Hash předchozí zprávy se liší. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Zpráva bude smazána pro všechny členy. @@ -7761,10 +7757,6 @@ Chcete-li se připojit, požádejte svůj kontakt o vytvoření dalšího odkazu Update settings? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -7774,11 +7766,35 @@ Chcete-li se připojit, požádejte svůj kontakt o vytvoření dalšího odkazu Aktualizací nastavení se klient znovu připojí ke všem serverům. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Zvýšit a otevřít chat No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors No comment provided by engineer. @@ -8571,10 +8587,6 @@ Repeat connection request? Your profile was changed. If you save it, the updated profile will be sent to all your contacts. alert message - - Your profile will be shared with the address. - alert message - Your random profile Váš náhodný profil diff --git a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff index 82e1a4f296..8938b1dcdc 100644 --- a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff +++ b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff @@ -642,10 +642,6 @@ swipe action Freunde aufnehmen No comment provided by engineer. - - Add link - alert button - Add list Liste hinzufügen @@ -671,11 +667,6 @@ swipe action Server durch Scannen von QR Codes hinzufügen. No comment provided by engineer. - - Add short link - Verkürzten Link hinzufügen - alert title - Add team members Team-Mitglieder aufnehmen @@ -7439,29 +7430,23 @@ chat item action Aus anderen Apps heraus teilen. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - Gruppenprofil über einen Link teilen - No comment provided by engineer. - Share link Link teilen No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Profil teilen - alert button - - - Share profile with address - Profil über einen Link teilen - alert title + No comment provided by engineer. Share this 1-time invite link @@ -8006,6 +7991,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Wenn sie Nachrichten oder Kontaktanfragen empfangen, kann Sie die App benachrichtigen - Um dies zu aktivieren, öffnen Sie bitte die Einstellungen. @@ -8066,6 +8055,10 @@ Dies kann passieren, wenn es einen Fehler gegeben hat oder die Verbindung kompro Der Hash der vorherigen Nachricht unterscheidet sich. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Diese Nachricht wird für alle Gruppenmitglieder gelöscht. @@ -8544,10 +8537,6 @@ Bitten Sie Ihren Kontakt darum einen weiteren Verbindungs-Link zu erzeugen, um s Einstellungen aktualisieren? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions Aktualisierte Nutzungsbedingungen @@ -8558,11 +8547,35 @@ Bitten Sie Ihren Kontakt darum einen weiteren Verbindungs-Link zu erzeugen, um s Die Aktualisierung der Einstellungen wird den Client wieder mit allen Servern verbinden. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Aktualisieren und den Chat öffnen No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Fehler beim Hochladen @@ -9440,11 +9453,6 @@ Verbindungsanfrage wiederholen? Ihr Profil wurde geändert. Wenn Sie es speichern, wird das aktualisierte Profil an alle Ihre Kontakte gesendet. alert message - - Your profile will be shared with the address. - Das Profil wird über den Adress-Link geteilt. - alert message - Your random profile Ihr Zufallsprofil diff --git a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff index 0aadbb33a7..6ce80012e0 100644 --- a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff +++ b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff @@ -642,11 +642,6 @@ swipe action Add friends No comment provided by engineer. - - Add link - Add link - alert button - Add list Add list @@ -672,11 +667,6 @@ swipe action Add servers by scanning QR codes. No comment provided by engineer. - - Add short link - Add short link - alert title - Add team members Add team members @@ -7444,30 +7434,25 @@ chat item action Share from other apps. No comment provided by engineer. - - Share full link - Share full link - alert button - - - Share group profile via link - Share group profile via link - No comment provided by engineer. - Share link Share link No comment provided by engineer. + + Share old address + Share old address + alert button + + + Share old link + Share old link + alert button + Share profile Share profile - alert button - - - Share profile with address - Share profile with address - alert title + No comment provided by engineer. Share this 1-time invite link @@ -8014,6 +7999,11 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. The app can notify you when you receive messages or contact requests - please open settings to enable. @@ -8074,6 +8064,11 @@ It can happen because of some bug or when the connection is compromised.The hash of the previous message is different. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. The message will be deleted for all members. @@ -8553,11 +8548,6 @@ To connect, please ask your contact to create another connection link and check Update settings? No comment provided by engineer. - - Update your address - Update your address - No comment provided by engineer. - Updated conditions Updated conditions @@ -8568,11 +8558,41 @@ To connect, please ask your contact to create another connection link and check Updating settings will re-connect the client to all servers. No comment provided by engineer. + + Upgrade + Upgrade + alert button + + + Upgrade address + Upgrade address + No comment provided by engineer. + + + Upgrade address? + Upgrade address? + alert message + Upgrade and open chat Upgrade and open chat No comment provided by engineer. + + Upgrade group link? + Upgrade group link? + alert message + + + Upgrade link + Upgrade link + No comment provided by engineer. + + + Upgrade your address + Upgrade your address + No comment provided by engineer. + Upload errors Upload errors @@ -9452,11 +9472,6 @@ Repeat connection request? Your profile was changed. If you save it, the updated profile will be sent to all your contacts. alert message - - Your profile will be shared with the address. - Your profile will be shared with the address. - alert message - Your random profile Your random profile diff --git a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff index 37ffdc3def..b9b000e01a 100644 --- a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff +++ b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff @@ -642,10 +642,6 @@ swipe action Añadir amigos No comment provided by engineer. - - Add link - alert button - Add list Añadir lista @@ -671,11 +667,6 @@ swipe action Añadir servidores mediante el escaneo de códigos QR. No comment provided by engineer. - - Add short link - Añadir enlace corto - alert title - Add team members Añadir miembros del equipo @@ -7439,29 +7430,23 @@ chat item action Comparte desde otras aplicaciones. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - Compartir perfil de grupo mediante enlace - No comment provided by engineer. - Share link Compartir enlace No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Perfil a compartir - alert button - - - Share profile with address - Compartir perfil mediante enlace - alert title + No comment provided by engineer. Share this 1-time invite link @@ -8006,6 +7991,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. La aplicación puede notificarte cuando recibas mensajes o solicitudes de contacto: por favor, abre la configuración para activarlo. @@ -8066,6 +8055,10 @@ Puede ocurrir por algún bug o cuando la conexión está comprometida. El hash del mensaje anterior es diferente. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. El mensaje se eliminará para todos los miembros. @@ -8544,10 +8537,6 @@ Para conectarte pide a tu contacto que cree otro enlace y comprueba la conexión ¿Actualizar configuración? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions Condiciones actualizadas @@ -8558,11 +8547,35 @@ Para conectarte pide a tu contacto que cree otro enlace y comprueba la conexión Para actualizar la configuración el cliente se reconectará a todos los servidores. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Actualizar y abrir Chat No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Errores en subida @@ -9440,11 +9453,6 @@ Repeat connection request? Tu perfil ha sido modificado. Si lo guardas la actualización será enviada a todos tus contactos. alert message - - Your profile will be shared with the address. - El perfil será compartido mediante la dirección de contacto. - alert message - Your random profile Tu perfil aleatorio diff --git a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff index 121688a70e..06beeaab5b 100644 --- a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff +++ b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff @@ -593,10 +593,6 @@ swipe action Add friends No comment provided by engineer. - - Add link - alert button - Add list No comment provided by engineer. @@ -620,10 +616,6 @@ swipe action Lisää palvelimia skannaamalla QR-koodeja. No comment provided by engineer. - - Add short link - alert title - Add team members No comment provided by engineer. @@ -6732,26 +6724,22 @@ chat item action Share from other apps. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link Jaa linkki No comment provided by engineer. - - Share profile + + Share old address alert button - - Share profile with address - alert title + + Share old link + alert button + + + Share profile + No comment provided by engineer. Share this 1-time invite link @@ -7244,6 +7232,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Sovellus voi ilmoittaa sinulle, kun saat viestejä tai yhteydenottopyyntöjä - avaa asetukset ottaaksesi ne käyttöön. @@ -7300,6 +7292,10 @@ Tämä voi johtua jostain virheestä tai siitä, että yhteys on vaarantunut.Edellisen viestin tarkiste on erilainen. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Viesti poistetaan kaikilta jäseniltä. @@ -7732,10 +7728,6 @@ Jos haluat muodostaa yhteyden, pyydä kontaktiasi luomaan toinen yhteyslinkki ja Update settings? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -7745,11 +7737,35 @@ Jos haluat muodostaa yhteyden, pyydä kontaktiasi luomaan toinen yhteyslinkki ja Asetusten päivittäminen yhdistää asiakkaan uudelleen kaikkiin palvelimiin. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Päivitä ja avaa keskustelu No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors No comment provided by engineer. @@ -8542,10 +8558,6 @@ Repeat connection request? Your profile was changed. If you save it, the updated profile will be sent to all your contacts. alert message - - Your profile will be shared with the address. - alert message - Your random profile Satunnainen profiilisi diff --git a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff index 84f2f765be..0be650389e 100644 --- a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff +++ b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff @@ -638,10 +638,6 @@ swipe action Ajouter des amis No comment provided by engineer. - - Add link - alert button - Add list Ajouter une liste @@ -666,10 +662,6 @@ swipe action Ajoutez des serveurs en scannant des codes QR. No comment provided by engineer. - - Add short link - alert title - Add team members Ajouter des membres à l'équipe @@ -7320,27 +7312,23 @@ chat item action Partager depuis d'autres applications. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link Partager le lien No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Partager le profil - alert button - - - Share profile with address - alert title + No comment provided by engineer. Share this 1-time invite link @@ -7874,6 +7862,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. L'application peut vous avertir lorsque vous recevez des messages ou des demandes de contact - veuillez ouvrir les paramètres pour les activer. @@ -7934,6 +7926,10 @@ Cela peut se produire en raison d'un bug ou lorsque la connexion est compromise. Le hash du message précédent est différent. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Le message sera supprimé pour tous les membres. @@ -8406,10 +8402,6 @@ Pour vous connecter, veuillez demander à votre contact de créer un autre lien Mettre à jour les paramètres ? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -8419,11 +8411,35 @@ Pour vous connecter, veuillez demander à votre contact de créer un autre lien La mise à jour des ces paramètres reconnectera le client à tous les serveurs. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Mettre à niveau et ouvrir le chat No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Erreurs de téléversement @@ -9291,10 +9307,6 @@ Répéter la demande de connexion ? Votre profil a été modifié. Si vous l'enregistrez, le profil mis à jour sera envoyé à tous vos contacts. alert message - - Your profile will be shared with the address. - alert message - Your random profile Votre profil aléatoire diff --git a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff index d815f35b4e..64bd5b0089 100644 --- a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff +++ b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff @@ -642,10 +642,6 @@ swipe action Barátok hozzáadása No comment provided by engineer. - - Add link - alert button - Add list Lista hozzáadása @@ -671,11 +667,6 @@ swipe action Kiszolgáló hozzáadása QR-kód beolvasásával. No comment provided by engineer. - - Add short link - Rövid hivatkozás hozzáadása - alert title - Add team members Munkatársak hozzáadása @@ -7439,29 +7430,23 @@ chat item action Megosztás más alkalmazásokból. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - Csoportprofil megosztása a hivatkozáson keresztül - No comment provided by engineer. - Share link Megosztás No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Profil megosztása - alert button - - - Share profile with address - Profil megosztása a címmel együtt - alert title + No comment provided by engineer. Share this 1-time invite link @@ -8006,6 +7991,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Az alkalmazás értesíteni fogja, amikor üzeneteket vagy meghívókat kap – ezt a beállítások menüben engedélyezheti. @@ -8066,6 +8055,10 @@ Ez valamilyen hiba vagy sérült kapcsolat esetén fordulhat elő. Az előző üzenet hasítóértéke különbözik. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Az üzenet az összes tag számára törölve lesz. @@ -8544,10 +8537,6 @@ A kapcsolódáshoz kérje meg a partnerét, hogy hozzon létre egy másik kapcso Frissíti a beállításokat? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions Frissített feltételek @@ -8558,11 +8547,35 @@ A kapcsolódáshoz kérje meg a partnerét, hogy hozzon létre egy másik kapcso A beállítások frissítése a kiszolgálókhoz való újra kapcsolódással jár. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Fejlesztés és a csevegés megnyitása No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Feltöltési hibák @@ -9440,11 +9453,6 @@ Repeat connection request? A profilja módosult. Ha menti, akkor a profilfrissítés el lesz küldve a partnerei számára. alert message - - Your profile will be shared with the address. - A profil meg lesz osztva a címhivatkozáson keresztül. - alert message - Your random profile Véletlenszerű profil diff --git a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff index ca4836cc3e..de61f9e578 100644 --- a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff +++ b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff @@ -642,10 +642,6 @@ swipe action Aggiungi amici No comment provided by engineer. - - Add link - alert button - Add list Aggiungi elenco @@ -671,11 +667,6 @@ swipe action Aggiungi server scansionando codici QR. No comment provided by engineer. - - Add short link - Aggiungi link breve - alert title - Add team members Aggiungi membri del team @@ -7439,29 +7430,23 @@ chat item action Condividi da altre app. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - Condividi il profilo del gruppo via link - No comment provided by engineer. - Share link Condividi link No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Condividi il profilo - alert button - - - Share profile with address - Condividi il profilo via link - alert title + No comment provided by engineer. Share this 1-time invite link @@ -8006,6 +7991,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. L'app può avvisarti quando ricevi messaggi o richieste di contatto: apri le impostazioni per attivare. @@ -8066,6 +8055,10 @@ Può accadere a causa di qualche bug o quando la connessione è compromessa.L'hash del messaggio precedente è diverso. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Il messaggio verrà eliminato per tutti i membri. @@ -8544,10 +8537,6 @@ Per connetterti, chiedi al tuo contatto di creare un altro link di connessione e Aggiornare le impostazioni? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions Condizioni aggiornate @@ -8558,11 +8547,35 @@ Per connetterti, chiedi al tuo contatto di creare un altro link di connessione e L'aggiornamento delle impostazioni riconnetterà il client a tutti i server. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Aggiorna e apri chat No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Errori di invio @@ -9440,11 +9453,6 @@ Ripetere la richiesta di connessione? Il tuo profilo è stato cambiato. Se lo salvi, il profilo aggiornato verrà inviato a tutti i tuoi contatti. alert message - - Your profile will be shared with the address. - Il profilo verrà condiviso tramite il link dell'indirizzo. - alert message - Your random profile Il tuo profilo casuale diff --git a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff index c7cf5b0db3..ea67e54f1d 100644 --- a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff +++ b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff @@ -627,10 +627,6 @@ swipe action Add friends No comment provided by engineer. - - Add link - alert button - Add list No comment provided by engineer. @@ -654,10 +650,6 @@ swipe action QRコードでサーバを追加する。 No comment provided by engineer. - - Add short link - alert title - Add team members No comment provided by engineer. @@ -6802,26 +6794,22 @@ chat item action Share from other apps. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link リンクを送る No comment provided by engineer. - - Share profile + + Share old address alert button - - Share profile with address - alert title + + Share old link + alert button + + + Share profile + No comment provided by engineer. Share this 1-time invite link @@ -7315,6 +7303,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. アプリは、メッセージや連絡先のリクエストを受信したときに通知することができます - 設定を開いて有効にしてください。 @@ -7371,6 +7363,10 @@ It can happen because of some bug or when the connection is compromised.以前のメッセージとハッシュ値が異なります。 No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. メッセージはすべてのメンバーに対して削除されます。 @@ -7802,10 +7798,6 @@ To connect, please ask your contact to create another connection link and check Update settings? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -7815,11 +7807,35 @@ To connect, please ask your contact to create another connection link and check 設定を更新すると、全サーバにクライントの再接続が行われます。 No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat アップグレードしてチャットを開く No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors No comment provided by engineer. @@ -8613,10 +8629,6 @@ Repeat connection request? Your profile was changed. If you save it, the updated profile will be sent to all your contacts. alert message - - Your profile will be shared with the address. - alert message - Your random profile あなたのランダム・プロフィール diff --git a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff index b163a43f8f..e10e0ea533 100644 --- a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff +++ b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff @@ -641,10 +641,6 @@ swipe action Vrienden toevoegen No comment provided by engineer. - - Add link - alert button - Add list Lijst toevoegen @@ -669,10 +665,6 @@ swipe action Servers toevoegen door QR-codes te scannen. No comment provided by engineer. - - Add short link - alert title - Add team members Teamleden toevoegen @@ -7402,27 +7394,23 @@ chat item action Delen vanuit andere apps. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link Deel link No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Profiel delen - alert button - - - Share profile with address - alert title + No comment provided by engineer. Share this 1-time invite link @@ -7962,6 +7950,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. De app kan u op de hoogte stellen wanneer u berichten of contact verzoeken ontvangt - open de instellingen om dit in te schakelen. @@ -8022,6 +8014,10 @@ Het kan gebeuren vanwege een bug of wanneer de verbinding is aangetast. De hash van het vorige bericht is anders. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Het bericht wordt verwijderd voor alle leden. @@ -8499,10 +8495,6 @@ Om verbinding te maken, vraagt u uw contact om een andere verbinding link te mak Instellingen actualiseren? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions Bijgewerkte voorwaarden @@ -8513,11 +8505,35 @@ Om verbinding te maken, vraagt u uw contact om een andere verbinding link te mak Door de instellingen bij te werken, wordt de client opnieuw verbonden met alle servers. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Upgrade en open chat No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Upload fouten @@ -9390,10 +9406,6 @@ Verbindingsverzoek herhalen? Je profiel is gewijzigd. Als je het opslaat, wordt het bijgewerkte profiel naar al je contacten verzonden. alert message - - Your profile will be shared with the address. - alert message - Your random profile Je willekeurige profiel diff --git a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff index 7d91139332..6b0f71a191 100644 --- a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff +++ b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff @@ -638,10 +638,6 @@ swipe action Dodaj znajomych No comment provided by engineer. - - Add link - alert button - Add list Dodaj listę @@ -666,10 +662,6 @@ swipe action Dodaj serwery, skanując kody QR. No comment provided by engineer. - - Add short link - alert title - Add team members Dodaj członków zespołu @@ -7218,27 +7210,23 @@ chat item action Udostępnij z innych aplikacji. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link Udostępnij link No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Udostępnij profil - alert button - - - Share profile with address - alert title + No comment provided by engineer. Share this 1-time invite link @@ -7763,6 +7751,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Aplikacja może powiadamiać Cię, gdy otrzymujesz wiadomości lub prośby o kontakt — otwórz ustawienia, aby włączyć. @@ -7821,6 +7813,10 @@ Może się to zdarzyć z powodu jakiegoś błędu lub gdy połączenie jest skom Hash poprzedniej wiadomości jest inny. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Wiadomość zostanie usunięta dla wszystkich członków. @@ -8284,10 +8280,6 @@ Aby się połączyć, poproś Twój kontakt o utworzenie kolejnego linku połąc Zaktualizować ustawienia? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -8297,11 +8289,35 @@ Aby się połączyć, poproś Twój kontakt o utworzenie kolejnego linku połąc Aktualizacja ustawień spowoduje ponowne połączenie klienta ze wszystkimi serwerami. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Zaktualizuj i otwórz czat No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Błędy przesłania @@ -9158,10 +9174,6 @@ Powtórzyć prośbę połączenia? Twój profil został zmieniony. Jeśli go zapiszesz, zaktualizowany profil zostanie wysłany do wszystkich kontaktów. alert message - - Your profile will be shared with the address. - alert message - Your random profile Twój losowy profil diff --git a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff index bfdfdc19db..9a03fbf993 100644 --- a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff +++ b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff @@ -642,10 +642,6 @@ swipe action Добавить друзей No comment provided by engineer. - - Add link - alert button - Add list Добавить список @@ -671,11 +667,6 @@ swipe action Добавить серверы через QR код. No comment provided by engineer. - - Add short link - Добавить короткую ссылку - alert title - Add team members Добавить сотрудников @@ -7433,29 +7424,23 @@ chat item action Поделитесь из других приложений. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - Добавить профиль группы в ссылку - No comment provided by engineer. - Share link Поделиться ссылкой No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Поделиться профилем - alert button - - - Share profile with address - Добавить профиль к адресу - alert title + No comment provided by engineer. Share this 1-time invite link @@ -7996,6 +7981,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Приложение может посылать Вам уведомления о сообщениях и запросах на соединение - уведомления можно включить в Настройках. @@ -8056,6 +8045,10 @@ It can happen because of some bug or when the connection is compromised.Хэш предыдущего сообщения отличается. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Сообщение будет удалено для всех членов группы. @@ -8534,10 +8527,6 @@ To connect, please ask your contact to create another connection link and check Обновить настройки? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions Обновленные условия @@ -8548,11 +8537,35 @@ To connect, please ask your contact to create another connection link and check Обновление настроек приведет к сбросу и установке нового соединения со всеми серверами. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Обновить и открыть чат No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Ошибки загрузки @@ -9426,11 +9439,6 @@ Repeat connection request? Ваш профиль был изменен. Если вы сохраните его, обновленный профиль будет отправлен всем вашим контактам. alert message - - Your profile will be shared with the address. - Профиль будет добавлен в адрес. - alert message - Your random profile Случайный профиль diff --git a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff index efa56887dd..d4b377dcd7 100644 --- a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff +++ b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff @@ -585,10 +585,6 @@ swipe action Add friends No comment provided by engineer. - - Add link - alert button - Add list No comment provided by engineer. @@ -612,10 +608,6 @@ swipe action เพิ่มเซิร์ฟเวอร์โดยการสแกนรหัสคิวอาร์โค้ด No comment provided by engineer. - - Add short link - alert title - Add team members No comment provided by engineer. @@ -6707,26 +6699,22 @@ chat item action Share from other apps. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link แชร์ลิงก์ No comment provided by engineer. - - Share profile + + Share old address alert button - - Share profile with address - alert title + + Share old link + alert button + + + Share profile + No comment provided by engineer. Share this 1-time invite link @@ -7218,6 +7206,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. แอปสามารถแจ้งให้คุณทราบเมื่อคุณได้รับข้อความหรือคำขอติดต่อ - โปรดเปิดการตั้งค่าเพื่อเปิดใช้งาน @@ -7274,6 +7266,10 @@ It can happen because of some bug or when the connection is compromised.แฮชของข้อความก่อนหน้านี้แตกต่างกัน No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. ข้อความจะถูกลบสำหรับสมาชิกทั้งหมด @@ -7704,10 +7700,6 @@ To connect, please ask your contact to create another connection link and check Update settings? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -7717,11 +7709,35 @@ To connect, please ask your contact to create another connection link and check การอัปเดตการตั้งค่าจะเชื่อมต่อไคลเอนต์กับเซิร์ฟเวอร์ทั้งหมดอีกครั้ง No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat อัปเกรดและเปิดการแชท No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors No comment provided by engineer. @@ -8510,10 +8526,6 @@ Repeat connection request? Your profile was changed. If you save it, the updated profile will be sent to all your contacts. alert message - - Your profile will be shared with the address. - alert message - Your random profile โปรไฟล์แบบสุ่มของคุณ diff --git a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff index 73373a1f1d..548ce346e0 100644 --- a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff +++ b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff @@ -642,10 +642,6 @@ swipe action Arkadaş ekle No comment provided by engineer. - - Add link - alert button - Add list Liste ekle @@ -671,11 +667,6 @@ swipe action Karekod taratarak sunucuları ekleyin. No comment provided by engineer. - - Add short link - Kısa bağlantı ekle - alert title - Add team members Takım üyesi ekle @@ -7439,29 +7430,23 @@ chat item action Diğer uygulamalardan paylaşın. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - Grup profilini bağlantı aracılığıyla paylaş - No comment provided by engineer. - Share link Bağlantıyı paylaş No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Profil paylaş - alert button - - - Share profile with address - Profili bağlantı aracılığıyla paylaş - alert title + No comment provided by engineer. Share this 1-time invite link @@ -8006,6 +7991,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Uygulama, mesaj veya iletişim isteği aldığınızda sizi bilgilendirebilir - etkinleştirmek için lütfen ayarları açın. @@ -8066,6 +8055,10 @@ Bazı hatalar nedeniyle veya bağlantı tehlikeye girdiğinde meydana gelebilir. Önceki mesajın hash'i farklı. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Mesaj tüm üyeler için silinecektir. @@ -8544,10 +8537,6 @@ Bağlanmak için lütfen kişinizden başka bir bağlantı oluşturmasını iste Ayarları güncelleyelim mi? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions Güncellenmiş koşullar @@ -8558,11 +8547,35 @@ Bağlanmak için lütfen kişinizden başka bir bağlantı oluşturmasını iste Ayarların güncellenmesi, istemciyi tüm sunuculara yeniden bağlayacaktır. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Yükselt ve sohbeti aç No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Yükleme hataları @@ -9440,11 +9453,6 @@ Bağlantı isteği tekrarlansın mı? Profiliniz değiştirildi. Kaydederseniz, güncellenmiş profil tüm kişilerinize gönderilecektir. alert message - - Your profile will be shared with the address. - Profil adres bağlantısı aracılığıyla paylaşılacaktır. - alert message - Your random profile Rasgele profiliniz diff --git a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff index 0bcdd21338..df7a91c234 100644 --- a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff +++ b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff @@ -641,10 +641,6 @@ swipe action Додайте друзів No comment provided by engineer. - - Add link - alert button - Add list Додати список @@ -669,10 +665,6 @@ swipe action Додайте сервери, відсканувавши QR-код. No comment provided by engineer. - - Add short link - alert title - Add team members Додайте учасників команди @@ -7344,27 +7336,23 @@ chat item action Діліться з інших програм. No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link Поділіться посиланням No comment provided by engineer. + + Share old address + alert button + + + Share old link + alert button + Share profile Поділіться профілем - alert button - - - Share profile with address - alert title + No comment provided by engineer. Share this 1-time invite link @@ -7898,6 +7886,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. Додаток може сповіщати вас, коли ви отримуєте повідомлення або запити на контакт - будь ласка, відкрийте налаштування, щоб увімкнути цю функцію. @@ -7958,6 +7950,10 @@ It can happen because of some bug or when the connection is compromised.Хеш попереднього повідомлення відрізняється. No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. Повідомлення буде видалено для всіх учасників. @@ -8430,10 +8426,6 @@ To connect, please ask your contact to create another connection link and check Оновити налаштування? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -8443,11 +8435,35 @@ To connect, please ask your contact to create another connection link and check Оновлення налаштувань призведе до перепідключення клієнта до всіх серверів. No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat Оновлення та відкритий чат No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors Помилки завантаження @@ -9315,10 +9331,6 @@ Repeat connection request? Ваш профіль було змінено. Якщо ви збережете його, оновлений профіль буде надіслано всім вашим контактам. alert message - - Your profile will be shared with the address. - alert message - Your random profile Ваш випадковий профіль diff --git a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff index 353bc02097..84b93d60e4 100644 --- a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff +++ b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff @@ -638,10 +638,6 @@ swipe action 添加好友 No comment provided by engineer. - - Add link - alert button - Add list 添加列表 @@ -666,10 +662,6 @@ swipe action 扫描二维码来添加服务器。 No comment provided by engineer. - - Add short link - alert title - Add team members 添加团队成员 @@ -7340,26 +7332,22 @@ chat item action 从其他应用程序共享。 No comment provided by engineer. - - Share full link - alert button - - - Share group profile via link - No comment provided by engineer. - Share link 分享链接 No comment provided by engineer. - - Share profile + + Share old address alert button - - Share profile with address - alert title + + Share old link + alert button + + + Share profile + No comment provided by engineer. Share this 1-time invite link @@ -7888,6 +7876,10 @@ It can happen because of some bug or when the connection is compromised. No comment provided by engineer. + + The address will be short, and your profile will be shared via the address. + alert message + The app can notify you when you receive messages or contact requests - please open settings to enable. 该应用可以在您收到消息或联系人请求时通知您——请打开设置以启用通知。 @@ -7946,6 +7938,10 @@ It can happen because of some bug or when the connection is compromised.上一条消息的散列不同。 No comment provided by engineer. + + The link will be short, and group profile will be shared via the link. + alert message + The message will be deleted for all members. 将为所有成员删除该消息。 @@ -8406,10 +8402,6 @@ To connect, please ask your contact to create another connection link and check 更新设置? No comment provided by engineer. - - Update your address - No comment provided by engineer. - Updated conditions No comment provided by engineer. @@ -8419,11 +8411,35 @@ To connect, please ask your contact to create another connection link and check 更新设置会将客户端重新连接到所有服务器。 No comment provided by engineer. + + Upgrade + alert button + + + Upgrade address + No comment provided by engineer. + + + Upgrade address? + alert message + Upgrade and open chat 升级并打开聊天 No comment provided by engineer. + + Upgrade group link? + alert message + + + Upgrade link + No comment provided by engineer. + + + Upgrade your address + No comment provided by engineer. + Upload errors 上传错误 @@ -9274,10 +9290,6 @@ Repeat connection request? Your profile was changed. If you save it, the updated profile will be sent to all your contacts. alert message - - Your profile will be shared with the address. - alert message - Your random profile 您的随机资料 diff --git a/apps/ios/de.lproj/Localizable.strings b/apps/ios/de.lproj/Localizable.strings index 53fe03304a..b4e76682d6 100644 --- a/apps/ios/de.lproj/Localizable.strings +++ b/apps/ios/de.lproj/Localizable.strings @@ -4106,7 +4106,7 @@ new chat action */ "Profile update will be sent to your contacts." = "Profil-Aktualisierung wird an Ihre Kontakte gesendet."; /* alert message */ -"Your profile will be shared with the address." = "Das Profil wird über den Adress-Link geteilt."; +"The address will be short, and your profile will be shared via the address.." = "Das Profil wird über den Adress-Link geteilt."; /* No comment provided by engineer. */ "Prohibit audio/video calls." = "Audio-/Video-Anrufe nicht erlauben."; diff --git a/apps/ios/es.lproj/Localizable.strings b/apps/ios/es.lproj/Localizable.strings index c46c619ccd..fbf6cdbdb1 100644 --- a/apps/ios/es.lproj/Localizable.strings +++ b/apps/ios/es.lproj/Localizable.strings @@ -4106,7 +4106,7 @@ new chat action */ "Profile update will be sent to your contacts." = "La actualización del perfil se enviará a tus contactos."; /* alert message */ -"Your profile will be shared with the address." = "El perfil será compartido mediante la dirección de contacto."; +"The address will be short, and your profile will be shared via the address.." = "El perfil será compartido mediante la dirección de contacto."; /* No comment provided by engineer. */ "Prohibit audio/video calls." = "No se permiten llamadas y videollamadas."; diff --git a/apps/ios/hu.lproj/Localizable.strings b/apps/ios/hu.lproj/Localizable.strings index 49bdc228c2..d3a1e4eeba 100644 --- a/apps/ios/hu.lproj/Localizable.strings +++ b/apps/ios/hu.lproj/Localizable.strings @@ -4106,7 +4106,7 @@ new chat action */ "Profile update will be sent to your contacts." = "A profilfrissítés el lesz küldve a partnerei számára."; /* alert message */ -"Your profile will be shared with the address." = "A profil meg lesz osztva a címhivatkozáson keresztül."; +"The address will be short, and your profile will be shared via the address.." = "A profil meg lesz osztva a címhivatkozáson keresztül."; /* No comment provided by engineer. */ "Prohibit audio/video calls." = "A hívások kezdeményezése le van tiltva."; diff --git a/apps/ios/it.lproj/Localizable.strings b/apps/ios/it.lproj/Localizable.strings index 45041710ea..febdf10f3d 100644 --- a/apps/ios/it.lproj/Localizable.strings +++ b/apps/ios/it.lproj/Localizable.strings @@ -4106,7 +4106,7 @@ new chat action */ "Profile update will be sent to your contacts." = "L'aggiornamento del profilo verrà inviato ai tuoi contatti."; /* alert message */ -"Your profile will be shared with the address." = "Il profilo verrà condiviso tramite il link dell'indirizzo."; +"The address will be short, and your profile will be shared via the address.." = "Il profilo verrà condiviso tramite il link dell'indirizzo."; /* No comment provided by engineer. */ "Prohibit audio/video calls." = "Proibisci le chiamate audio/video."; diff --git a/apps/ios/ru.lproj/Localizable.strings b/apps/ios/ru.lproj/Localizable.strings index c52ded2101..ab59900bdd 100644 --- a/apps/ios/ru.lproj/Localizable.strings +++ b/apps/ios/ru.lproj/Localizable.strings @@ -4091,7 +4091,7 @@ new chat action */ "Profile update will be sent to your contacts." = "Обновлённый профиль будет отправлен Вашим контактам."; /* alert message */ -"Your profile will be shared with the address." = "Профиль будет добавлен в адрес."; +"The address will be short, and your profile will be shared via the address.." = "Профиль будет добавлен в адрес."; /* No comment provided by engineer. */ "Prohibit audio/video calls." = "Запретить аудио/видео звонки."; diff --git a/apps/ios/tr.lproj/Localizable.strings b/apps/ios/tr.lproj/Localizable.strings index 7ac52e7092..b7b17cee05 100644 --- a/apps/ios/tr.lproj/Localizable.strings +++ b/apps/ios/tr.lproj/Localizable.strings @@ -4106,7 +4106,7 @@ new chat action */ "Profile update will be sent to your contacts." = "Profil güncellemesi kişilerinize gönderilecektir."; /* alert message */ -"Your profile will be shared with the address." = "Profil adres bağlantısı aracılığıyla paylaşılacaktır."; +"The address will be short, and your profile will be shared via the address.." = "Profil adres bağlantısı aracılığıyla paylaşılacaktır."; /* No comment provided by engineer. */ "Prohibit audio/video calls." = "Sesli/görüntülü aramaları yasakla."; diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index 38707db991..b2740265d1 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -6732,12 +6732,20 @@ enum class RatchetSyncState { @SerialName("agreed") Agreed } +interface SimplexAddress { + val connLinkContact: CreatedConnLink + val shortLinkDataSet: Boolean + + // TODO update condition + val shouldBeUpgraded: Boolean get() = connLinkContact.connShortLink == null || !shortLinkDataSet +} + @Serializable data class UserContactLinkRec( - val connLinkContact: CreatedConnLink, - val shortLinkDataSet: Boolean, + override val connLinkContact: CreatedConnLink, + override val shortLinkDataSet: Boolean, val addressSettings: AddressSettings -) +): SimplexAddress @Serializable data class AddressSettings( @@ -6752,11 +6760,11 @@ data class AutoAccept(val acceptIncognito: Boolean) @Serializable data class GroupLink( val userContactLinkId: Long, - val connLinkContact: CreatedConnLink, - val shortLinkDataSet: Boolean, + override val connLinkContact: CreatedConnLink, + override val shortLinkDataSet: Boolean, val groupLinkId: String, val acceptMemberRole: GroupMemberRole -) { +): SimplexAddress { companion object { val nullableStateSaver: Saver> = Saver( save = { groupLink -> diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupLinkView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupLinkView.kt index 4bbe220aed..5a94e7d505 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupLinkView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupLinkView.kt @@ -1,8 +1,8 @@ package chat.simplex.common.views.chat.group import SectionBottomSpacer +import SectionItemView import SectionViewWithButton -import androidx.compose.foundation.* import androidx.compose.foundation.layout.* import androidx.compose.material.* import androidx.compose.runtime.* @@ -11,6 +11,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalClipboardManager +import androidx.compose.ui.text.style.TextAlign import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource import androidx.compose.ui.unit.dp @@ -36,6 +37,7 @@ fun GroupLinkView( var groupLinkVar by rememberSaveable(stateSaver = GroupLink.nullableStateSaver) { mutableStateOf(groupLink) } val groupLinkMemberRole = rememberSaveable { mutableStateOf(groupLink?.acceptMemberRole) } var creatingLink by rememberSaveable { mutableStateOf(false) } + val clipboard = LocalClipboardManager.current fun createLink() { creatingLink = true withBGApi { @@ -48,7 +50,7 @@ fun GroupLinkView( creatingLink = false } } - fun addShortLink() { + fun addShortLink(shareOnCompletion: Boolean = false) { creatingLink = true withBGApi { val link = chatModel.controller.apiAddGroupShortLink(rhId, groupInfo.groupId) @@ -56,10 +58,60 @@ fun GroupLinkView( groupLinkVar = link groupLinkMemberRole.value = link.acceptMemberRole onGroupLinkUpdated?.invoke(link) + if (shareOnCompletion) { + clipboard.shareText(link.connLinkContact.simplexChatUri(short = true)) + } } creatingLink = false } } + fun showAddShortLinkAlert(shareAddress: (() -> Unit)? = null) { + AlertManager.shared.showAlertDialogButtonsColumn( + title = generalGetString(MR.strings.share_group_profile_via_link), + text = generalGetString(MR.strings.share_group_profile_via_link_alert_text), + buttons = { + Column { + SectionItemView({ + AlertManager.shared.hideAlert() + addShortLink(shareOnCompletion = shareAddress != null) + }) { + Text( + generalGetString(MR.strings.share_profile_via_link_alert_confirm), + Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + color = MaterialTheme.colors.primary + ) + } + + if (shareAddress != null) { + // Delete without notification + SectionItemView({ + AlertManager.shared.hideAlert() + shareAddress() + }) { + Text( + generalGetString(MR.strings.share_old_link_alert_button), + Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + color = MaterialTheme.colors.primary + ) + } + } + // Cancel + SectionItemView({ + AlertManager.shared.hideAlert() + }) { + Text( + stringResource(MR.strings.cancel_verb), + Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + color = MaterialTheme.colors.primary + ) + } + } + } + ) + } LaunchedEffect(Unit) { if (groupLink == null && !creatingLink) { createLink() @@ -71,7 +123,7 @@ fun GroupLinkView( groupLinkMemberRole, creatingLink, createLink = ::createLink, - addShortLink = ::addShortLink, + showAddShortLinkAlert = ::showAddShortLinkAlert, updateLink = { val role = groupLinkMemberRole.value if (role != null) { @@ -117,7 +169,7 @@ fun GroupLinkLayout( groupLinkMemberRole: MutableState, creatingLink: Boolean, createLink: () -> Unit, - addShortLink: () -> Unit, + showAddShortLinkAlert: ((() -> Unit)?) -> Unit, updateLink: () -> Unit, deleteLink: () -> Unit, creatingGroup: Boolean = false, @@ -182,7 +234,15 @@ fun GroupLinkLayout( SimpleButton( stringResource(MR.strings.share_link), icon = painterResource(MR.images.ic_share), - click = { clipboard.shareText(groupLink.connLinkContact.simplexChatUri(short = showShortLink.value)) } + click = { + if (groupLink.shouldBeUpgraded) { + showAddShortLinkAlert { + clipboard.shareText(groupLink.connLinkContact.simplexChatUri(short = showShortLink.value)) + } + } else { + clipboard.shareText(groupLink.connLinkContact.simplexChatUri(short = showShortLink.value)) + } + } ) if (creatingGroup && close != null) { ContinueButton(close) @@ -195,10 +255,10 @@ fun GroupLinkLayout( ) } } - if (groupLink.connLinkContact.connShortLink == null) { - AddShortLinkButton(text = stringResource(MR.strings.add_short_link), addShortLink) - } else if (!groupLink.shortLinkDataSet) { - AddShortLinkButton(text = stringResource(MR.strings.share_group_profile_via_link), addShortLink) + if (groupLink.shouldBeUpgraded) { + AddShortLinkButton(text = stringResource(MR.strings.upgrade_group_link)) { + showAddShortLinkAlert(null) + } } } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/NewChatView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/NewChatView.kt index b0846b4bb8..f520a86999 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/NewChatView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/NewChatView.kt @@ -535,14 +535,16 @@ private fun InviteView(rhId: Long?, connLinkInvitation: CreatedConnLink, contact @Composable fun ToggleShortLinkButton(short: MutableState) { - Text( - stringResource(if (short.value) MR.strings.full_link_button_text else MR.strings.short_link_button_text), - modifier = Modifier.clickable( - interactionSource = remember { MutableInteractionSource() }, - indication = null - ) { short.value = !short.value }, - style = MaterialTheme.typography.body2, fontSize = 14.sp, color = MaterialTheme.colors.primary - ) + if (appPrefs.developerTools.state.value) { + Text( + stringResource(if (short.value) MR.strings.full_link_button_text else MR.strings.short_link_button_text), + modifier = Modifier.clickable( + interactionSource = remember { MutableInteractionSource() }, + indication = null + ) { short.value = !short.value }, + style = MaterialTheme.typography.body2, fontSize = 14.sp, color = MaterialTheme.colors.primary + ) + } } @Composable diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt index ba424be618..56146cac7f 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt @@ -16,16 +16,17 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalClipboardManager import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.text.style.TextAlign import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource import androidx.compose.ui.unit.dp import chat.simplex.common.model.* import chat.simplex.common.ui.theme.* -import chat.simplex.common.views.chat.ShareAddressButton import chat.simplex.common.views.helpers.* import chat.simplex.common.model.ChatModel import chat.simplex.common.model.MsgContent import chat.simplex.common.platform.* +import chat.simplex.common.views.chat.* import chat.simplex.common.views.newchat.* import chat.simplex.res.MR @@ -40,6 +41,7 @@ fun UserAddressView( val shareViaProfile = remember { mutableStateOf(shareViaProfile) } var progressIndicator by remember { mutableStateOf(false) } val user = remember { chatModel.currentUser } + val clipboard = LocalClipboardManager.current KeyChangeEffect(user.value?.remoteHostId, user.value?.userId) { close() } @@ -85,24 +87,64 @@ fun UserAddressView( } } - fun addShortLink() { + fun addShortLink(shareOnCompletion: Boolean = false) { withBGApi { progressIndicator = true val userAddress = chatModel.controller.apiAddMyAddressShortLink(user.value?.remoteHostId) if (userAddress != null) { chatModel.userAddress.value = userAddress + if (shareOnCompletion) { + clipboard.shareText(userAddress.connLinkContact.simplexChatUri(short = true)) + } } progressIndicator = false } } - fun showAddShortLinkAlert() { - AlertManager.shared.showAlertDialogStacked( + fun showAddShortLinkAlert(shareAddress: (() -> Unit)? = null) { + AlertManager.shared.showAlertDialogButtonsColumn( title = generalGetString(MR.strings.share_profile_via_link), text = generalGetString(MR.strings.share_profile_via_link_alert_text), - confirmText = generalGetString(MR.strings.share_profile_via_link_alert_confirm), - onConfirm = { - addShortLink() + buttons = { + Column { + SectionItemView({ + AlertManager.shared.hideAlert() + addShortLink(shareOnCompletion = shareAddress != null) + }) { + Text( + generalGetString(MR.strings.share_profile_via_link_alert_confirm), + Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + color = MaterialTheme.colors.primary + ) + } + + if (shareAddress != null) { + // Delete without notification + SectionItemView({ + AlertManager.shared.hideAlert() + shareAddress() + }) { + Text( + generalGetString(MR.strings.share_old_address_alert_button), + Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + color = MaterialTheme.colors.primary + ) + } + } + // Cancel + SectionItemView({ + AlertManager.shared.hideAlert() + }) { + Text( + stringResource(MR.strings.cancel_verb), + Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + color = MaterialTheme.colors.primary + ) + } + } } ) } @@ -113,15 +155,14 @@ fun UserAddressView( } } val userAddress = remember { chatModel.userAddress } - val clipboard = LocalClipboardManager.current val uriHandler = LocalUriHandler.current val showLayout = @Composable { UserAddressLayout( user = user.value, userAddress = userAddress.value, shareViaProfile, - createAddress = { createAddress() }, - showAddShortLinkAlert = { showAddShortLinkAlert() }, + createAddress = ::createAddress, + showAddShortLinkAlert = ::showAddShortLinkAlert, learnMore = { ModalManager.start.showModal { UserAddressLearnMore() @@ -196,7 +237,7 @@ private fun UserAddressLayout( userAddress: UserContactLinkRec?, shareViaProfile: MutableState, createAddress: () -> Unit, - showAddShortLinkAlert: () -> Unit, + showAddShortLinkAlert: ((() -> Unit)?) -> Unit, learnMore: () -> Unit, share: (String) -> Unit, sendEmail: (UserContactLinkRec) -> Unit, @@ -235,15 +276,19 @@ private fun UserAddressLayout( titleButton = if (userAddress.connLinkContact.connShortLink != null) {{ ToggleShortLinkButton(showShortLink) }} else null ) { SimpleXCreatedLinkQRCode(userAddress.connLinkContact, short = showShortLink.value) - ShareAddressButton { share(userAddress.connLinkContact.simplexChatUri(short = showShortLink.value)) } + if (userAddress.shouldBeUpgraded) { + AddShortLinkButton(text = stringResource(MR.strings.add_short_link)) { showAddShortLinkAlert(null) } + } + ShareAddressButton { + if (userAddress.shouldBeUpgraded) { + showAddShortLinkAlert { share(userAddress.connLinkContact.simplexChatUri(short = showShortLink.value)) } + } else { + share(userAddress.connLinkContact.simplexChatUri(short = showShortLink.value)) + } + } // ShareViaEmailButton { sendEmail(userAddress) } BusinessAddressToggle(addressSettingsState) { saveAddressSettings(addressSettingsState.value, savedAddressSettingsState) } AddressSettingsButton(user, userAddress, shareViaProfile, setProfileAddress, saveAddressSettings) - if (userAddress.connLinkContact.connShortLink == null) { - AddShortLinkButton(text = stringResource(MR.strings.add_short_link), showAddShortLinkAlert) - } else if (!userAddress.shortLinkDataSet) { - AddShortLinkButton(text = stringResource(MR.strings.share_profile_via_link), showAddShortLinkAlert) - } if (addressSettingsState.value.businessAddress) { SectionTextFooter(stringResource(MR.strings.add_your_team_members_to_conversations)) @@ -284,7 +329,7 @@ private fun CreateAddressButton(onClick: () -> Unit) { @Composable private fun AddShortLinkButton(text: String, onClick: () -> Unit) { SettingsActionItem( - painterResource(MR.images.ic_add), + painterResource(MR.images.ic_arrow_upward), text, onClick, iconColor = MaterialTheme.colors.primary, diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index 2e899e3560..ddb1c5e7cb 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -1103,11 +1103,16 @@ Address settings Business address Add your team members to the conversations. - Add short link - Share profile with address - Profile will be shared with the address. - Share profile - Share group profile via link + Upgrade address + Upgrade address? + The address will be short, and your profile will be shared via the address. + Upgrade + Upgrade group link + Upgrade group link? + The link will be short, and group profile will be shared via the link. + Upgrade + Share old address + Share old link Continue