App Layout: Removed the onboarding flow

This commit is contained in:
Gil Eluard 2023-01-24 21:25:58 +01:00
parent 82d2ad8e34
commit ddd264a5f8
41 changed files with 1 additions and 677 deletions

View file

@ -1,6 +0,0 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View file

@ -1,23 +0,0 @@
{
"images" : [
{
"filename" : "all_chats_onboarding1.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "all_chats_onboarding1@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "all_chats_onboarding1@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

View file

@ -1,26 +0,0 @@
{
"images" : [
{
"filename" : "all_chats_onboarding2.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "all_chats_onboarding2@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "all_chats_onboarding2@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

View file

@ -1,23 +0,0 @@
{
"images" : [
{
"filename" : "all_chats_onboarding3.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "all_chats_onboarding3@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "all_chats_onboarding3@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

View file

@ -2457,9 +2457,7 @@
"all_chats_all_filter" = "Alle";
"all_chats_edit_layout_show_filters" = "Filter anzeigen";
"all_chats_edit_menu_leave_space" = "%@ verlassen";
"all_chats_onboarding_page_title3" = "Rückmeldung geben";
"room_invites_empty_view_information" = "Hier erscheinen deine Einladungen.";
"all_chats_onboarding_try_it" = "Probiere es aus";
"threads_discourage_information_1" = "Dein Heimserver unterstützt aktuell keine Threads, weshalb diese Funktion unzuverlässig sein könnte. Manche Thread-Nachrichten könnten nicht zuverlässig verfügbar sein. ";
"all_chats_nothing_found_placeholder_title" = "Nichts gefunden.";
"spaces_create_subspace_title" = "Sub-Space erstellen";
@ -2475,16 +2473,10 @@
"room_access_settings_screen_private_message" = "Nur sichtbar und betretbar für eingeladene Personen.";
"location_sharing_allow_background_location_message" = "Wenn du deinen Echtzeit-Standort freigeben möchtest, benötigt Element den Standortzugriff auch im Hintergrund. Um den Zugriff zu gewähren, tippe auf Einstellungen > Standort und wähle „Immer“";
"space_selector_empty_view_information" = "Spaces sind eine neue Möglichkeit, Räume und Personen zu gruppieren. Erstelle einen Space, um zu beginnen.";
"all_chats_onboarding_title" = "Was ist neu";
"all_chats_onboarding_page_message3" = "Drücke auf dein Profil um uns Wissen zu lassen, was du denkst.";
"all_chats_onboarding_page_message2" = "Greife auf deine Spaces (unten links) schneller und einfacher denn je zu.";
"all_chats_onboarding_page_title2" = "Auf Spaces zugreifen";
"all_chats_onboarding_page_message1" = "Um dein Element zu vereinfachen, sind Tabs nun optional. Verwalte sie mit dem Menü oben rechts.";
"all_chats_empty_view_information" = "Die Komplettlösung für sichere Kommunikation unter Freunden, in Gruppen oder in Organisationen. Erstelle eine Unterhaltung oder trete einem bestehenden Raum bei, um loszulegen.";
"all_chats_empty_space_information" = "Spaces sind eine neue Möglichkeit, Räume und Personen zu gruppieren. Füge einen bestehenden Raum hinzu oder erstelle einen neuen mit der Schaltfläche unten rechts.";
"all_chats_edit_layout_sorting_options_title" = "Sortiere deine Nachrichten nach";
"space_detail_nav_title" = "Space-Details";
"all_chats_onboarding_page_title1" = "Willkommen in einer neuen Übersicht!";
"all_chats_edit_menu_space_settings" = "Space-Einstellungen";
"all_chats_user_menu_settings" = "Nutzereinstellungen";
"room_recents_recently_viewed_section" = "Kürzlich angesehen";

View file

@ -2277,15 +2277,6 @@ Tap the + to start adding people.";
"all_chats_edit_menu_leave_space" = "Leave %@";
"all_chats_edit_menu_space_settings" = "Space settings";
"all_chats_onboarding_page_title1" = "Welcome to a new view!";
"all_chats_onboarding_page_message1" = "To simplify your Element, tabs are now optional. Manage them using the top-right menu.";
"all_chats_onboarding_page_title2" = "Access Spaces";
"all_chats_onboarding_page_message2" = "Access your Spaces (bottom-left) faster and easier than ever before.";
"all_chats_onboarding_page_title3" = "Give Feedback";
"all_chats_onboarding_page_message3" = "Tap your profile to let us know what you think.";
"all_chats_onboarding_title" = "What's new";
"all_chats_onboarding_try_it" = "Try it out";
// MARK: - Room invites
"room_invites_empty_view_title" = "Nothing new.";

View file

@ -2417,14 +2417,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Uut teavet ei leidu.";
"all_chats_onboarding_try_it" = "Proovi nüüd";
"all_chats_onboarding_title" = "Mida on meil uut";
"all_chats_onboarding_page_message3" = "Kui soovid meile teada anda oma arvamustest, siis klõpsi oma profiili ikooni.";
"all_chats_onboarding_page_title3" = "Jaga tagasisidet";
"all_chats_onboarding_page_message2" = "Kogukonnad leiad alt vasakult kiiremini ja lihtsamini, kui varem.";
"all_chats_onboarding_page_title2" = "Ligipääs kogukondadele";
"all_chats_onboarding_page_message1" = "Et Element'i kasutamine oleks lihtsam, siis kaardid on nüüd valikulised. Neid saad hallata ülal paremal avanevast menüüst.";
"all_chats_onboarding_page_title1" = "Meie liidesel on nüüd uus vaade!";
"all_chats_nothing_found_placeholder_message" = "Proovi muuta oma otsingut.";
"all_chats_nothing_found_placeholder_title" = "Mitte midagi ei leidu.";
"all_chats_empty_unreads_placeholder_message" = "Kui sul on lugemata sõnumeid, siis nad on siit leitavad.";

View file

@ -2440,7 +2440,6 @@
"room_access_space_chooser_other_spaces_section_info" = "Ce sont probablement des choses auxquelles les autres admins de %@ participent.";
"authentication_choose_password_not_verified_message" = "Vérifiez votre boîte de réception";
"authentication_choose_password_not_verified_title" = "Email non vérifié";
"all_chats_onboarding_page_title3" = "Donner mon avis";
// MARK: User sessions management
@ -2460,13 +2459,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Rien de neuf.";
"all_chats_onboarding_try_it" = "Essayez";
"all_chats_onboarding_title" = "Quoi de neuf";
"all_chats_onboarding_page_message3" = "Appuyez sur votre profil pour nous faire vos retours.";
"all_chats_onboarding_page_message2" = "Accédez à vos espaces (en bas à gauche) plus rapidement et facilement quavant.";
"all_chats_onboarding_page_title2" = "Accéder aux espaces";
"all_chats_onboarding_page_message1" = "Pour simplifier Element, les onglets sont désormais facultatifs. Gérez les depuis le menu en haut à droite.";
"all_chats_onboarding_page_title1" = "Bienvenu dans une nouvelle vue !";
"all_chats_edit_menu_space_settings" = "Paramètres de lespace";
"all_chats_edit_menu_leave_space" = "Quitter %@";
"all_chats_user_menu_settings" = "Paramètres utilisateur";

View file

@ -2467,14 +2467,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Semmi új.";
"all_chats_onboarding_try_it" = "Próbáld ki";
"all_chats_onboarding_title" = "Újdonságok";
"all_chats_onboarding_page_message3" = "Koppints a profilodra és mond el mit gondolsz.";
"all_chats_onboarding_page_title3" = "Visszajelzés adása";
"all_chats_onboarding_page_message2" = "A terekhez való hozzáférés (balra lent) gyorsabb és egyszerűbb mint valaha.";
"all_chats_onboarding_page_title2" = "Hozzáférés a terekhez";
"all_chats_onboarding_page_message1" = "Element egyszerűsítéséhez a lapok mostantól választhatók. Beállítani a jobb felső menüből lehet.";
"all_chats_onboarding_page_title1" = "Üdv az új kinézetben!";
"all_chats_nothing_found_placeholder_message" = "Próbáld meg a keresést módosítani.";
"all_chats_nothing_found_placeholder_title" = "Nincs találat.";
"all_chats_empty_unreads_placeholder_message" = "Ez az a hely ahol az olvasatlan üzeneteid megjelennek, ha lesznek.";

View file

@ -2672,14 +2672,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Belum ada yang baru.";
"all_chats_onboarding_try_it" = "Coba";
"all_chats_onboarding_title" = "Apa yang baru";
"all_chats_onboarding_page_message3" = "Ketuk profil Anda untuk memberi tahu kami bagaimana menurut Anda.";
"all_chats_onboarding_page_title3" = "Berikan Masukan";
"all_chats_onboarding_page_message2" = "Akses Space Anda (di kiri bawah) dengan lebih cepat dan lebih mudah dari sebelumnya.";
"all_chats_onboarding_page_title2" = "Akses Space";
"all_chats_onboarding_page_message1" = "Untuk membuat Element Anda lebih sederhana, fitur tab sekarang opsional. Kelola menggunakan menu kanan atas.";
"all_chats_onboarding_page_title1" = "Selamat datang di tampilan yang baru!";
"all_chats_nothing_found_placeholder_message" = "Coba atur pencarian Anda.";
"all_chats_nothing_found_placeholder_title" = "Tidak ada yang ditemukan.";
"all_chats_empty_unreads_placeholder_message" = "Ini di mana pesan Anda yang belum dibaca akan ditampilkan, ketika Anda menerimanya.";

View file

@ -2132,7 +2132,6 @@
"user_sessions_overview_title" = "Setur";
"space_selector_create_space" = "Búa til svæði";
"all_chats_onboarding_try_it" = "Prófaðu það";
"all_chats_edit_menu_space_settings" = "Stillingar svæðis";
"all_chats_edit_menu_leave_space" = "Yfirgefa %@";
"room_recents_recently_viewed_section" = "Nýlega skoðað";
@ -2234,7 +2233,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Ekkert nýtt.";
"all_chats_onboarding_page_title1" = "Velkomin í nýja sýn!";
"all_chats_nothing_found_placeholder_message" = "Reyndu að aðlaga leitina þína.";
"all_chats_edit_layout_alphabetical_order" = "Raða A-Ö";
"all_chats_edit_layout_activity_order" = "Raða eftir virkni";
@ -2330,9 +2328,6 @@
// Mark: - Space Selector
"space_selector_title" = "Svæðin mín";
"all_chats_onboarding_title" = "Hvað er nýtt";
"all_chats_onboarding_page_title3" = "Gefðu umsögn";
"all_chats_onboarding_page_title2" = "Aðgangur að svæðum";
"all_chats_user_menu_settings" = "Notandastillingar";
"all_chats_edit_layout_pin_spaces_title" = "Festu svæðin þín";

View file

@ -2445,14 +2445,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Niente di nuovo.";
"all_chats_onboarding_try_it" = "Provalo";
"all_chats_onboarding_title" = "Novità";
"all_chats_onboarding_page_message3" = "Tocca il tuo profilo per farci sapere cosa ne pensi.";
"all_chats_onboarding_page_title3" = "Invia un feedback";
"all_chats_onboarding_page_message2" = "Accedi ai tuoi spazi (in basso a sinistra) più velocemente e più facilmente che mai.";
"all_chats_onboarding_page_title2" = "Accedi agli spazi";
"all_chats_onboarding_page_message1" = "Per semplificare Element, le schede ora sono opzionali. Gestiscile usando il menu in alto a destra.";
"all_chats_onboarding_page_title1" = "Benvenuti ad una nuova panoramica!";
"all_chats_nothing_found_placeholder_message" = "Prova a cambiare la tua ricerca.";
"all_chats_nothing_found_placeholder_title" = "Non è stato trovato niente.";
"all_chats_empty_unreads_placeholder_message" = "Qui è dove verranno mostrati i messaggi non letti, quando ne avrai qualcuno.";

View file

@ -1799,5 +1799,4 @@
"service_terms_modal_information_title_identity_server" = "IDサーバー";
"location_sharing_invalid_power_level_message" = "位置情報(ライブ)の共有には適切な権限が必要です。";
"location_sharing_live_error" = "位置情報(ライブ)のエラー";
"all_chats_onboarding_page_title3" = "フィードバックを送信";
"all_chats_edit_layout" = "レイアウトの設定";

View file

@ -2605,14 +2605,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Niets nieuws.";
"all_chats_onboarding_try_it" = "Probeer het uit";
"all_chats_onboarding_title" = "Wat is nieuw";
"all_chats_onboarding_page_message3" = "Tik op je profiel om ons te laten weten wat je ervan vindt.";
"all_chats_onboarding_page_title3" = "Geef feedback";
"all_chats_onboarding_page_message2" = "Krijg sneller en gemakkelijker toegang tot je Spaces (linksonder) dan ooit tevoren.";
"all_chats_onboarding_page_title2" = "Toegang tot spaces";
"all_chats_onboarding_page_message1" = "Om je Element te vereenvoudigen, zijn tabbladen nu optioneel. Beheer ze met behulp van het menu rechtsboven.";
"all_chats_onboarding_page_title1" = "Welkom bij de nieuwe weergave!";
"all_chats_edit_menu_space_settings" = "Space instellingen";
"all_chats_edit_menu_leave_space" = "Verlaat %@";
"all_chats_user_menu_settings" = "Gebruikersinstellingen";

View file

@ -2533,13 +2533,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Nic nowego.";
"all_chats_onboarding_try_it" = "Wypróbuj";
"all_chats_onboarding_title" = "Co nowego";
"all_chats_onboarding_page_message3" = "Dotknij swojego profilu by poinformować nas, co o tym sądzisz.";
"all_chats_onboarding_page_title3" = "Prześlij opinię";
"all_chats_onboarding_page_message2" = "Uzyskaj dostęp do twoich przestrzeni (lewy dolny róg) szybciej i prościej niż kiedykolwiek.";
"all_chats_onboarding_page_message1" = "Aby uprościć korzystanie z Element, karty są teraz opcjonalne. Możesz nimi zarządzać w menu w prawym górnym rogu.";
"all_chats_onboarding_page_title1" = "Witaj w nowym widoku!";
"all_chats_edit_menu_space_settings" = "Ustawienia przestrzeni";
"all_chats_edit_menu_leave_space" = "Opuść %@";
"all_chats_user_menu_settings" = "Ustawienia użytkownika";

View file

@ -2446,14 +2446,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Nada novo.";
"all_chats_onboarding_try_it" = "Experimentar";
"all_chats_onboarding_title" = "O que tem de novo";
"all_chats_onboarding_page_message3" = "Toque em seu perfil para nos deixar sabendo do que você acha.";
"all_chats_onboarding_page_title3" = "Dê Feedback";
"all_chats_onboarding_page_message2" = "Acesse seus Espaços (esquerda fundo) mais rápido e fácil que jamais antes.";
"all_chats_onboarding_page_title2" = "Acesse Espaços";
"all_chats_onboarding_page_message1" = "Para simplificar seu Element, abas são agora opcionais. Gerencie-as usando o menu direito topo.";
"all_chats_onboarding_page_title1" = "Boas vindas a uma nova visão!";
"all_chats_nothing_found_placeholder_message" = "Tente ajustar sua pesquisa.";
"all_chats_nothing_found_placeholder_title" = "Nada encontrado.";
"all_chats_empty_unreads_placeholder_message" = "Isto é onde suas mensagens não-lidas vão aparecer, quando você tiver algumas.";

View file

@ -2668,14 +2668,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Nič nové.";
"all_chats_onboarding_try_it" = "Vyskúšajte si to";
"all_chats_onboarding_title" = "Čo je nové";
"all_chats_onboarding_page_message3" = "Ťuknite na svoj profil a dajte nám vedieť, čo si myslíte.";
"all_chats_onboarding_page_title3" = "Poskytnite spätnú väzbu";
"all_chats_onboarding_page_title2" = "Prístup k priestorom";
"all_chats_onboarding_page_message2" = "Získajte prístup k svojim priestorom (vľavo dole) rýchlejšie a jednoduchšie ako kedykoľvek predtým.";
"all_chats_onboarding_page_message1" = "Pre zjednodušenie vašej aplikácie Element, sú teraz karty voliteľné. Spravujte ich pomocou ponuky vpravo hore.";
"all_chats_onboarding_page_title1" = "Vitajte v novom zobrazení!";
"all_chats_nothing_found_placeholder_message" = "Skúste upraviť svoje hľadanie.";
"all_chats_nothing_found_placeholder_title" = "Nič sa nenašlo.";
"all_chats_empty_unreads_placeholder_message" = "Tu sa zobrazia neprečítané správy, ak nejaké máte.";

View file

@ -2417,7 +2417,6 @@
// MARK: Authentication
"authentication_registration_title" = "Krijoni llogarinë tuaj";
"all_chats_onboarding_page_message3" = "Prekni profilin tuaj që të na bëni të ditur se çmendoni.";
"all_chats_edit_layout_add_section_message" = "Fiksoni ndarje te kreu, për hyrje të lehtë në ta";
"room_event_encryption_info_key_authenticity_not_guaranteed" = "Smund të garantohet mirëfilltësia e këtij mesazhi të fshehtëzuar në këtë pajisje.";
"deselect_all" = "Shpërzgjidhi Krejt";
@ -2534,13 +2533,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Ska gjë të re.";
"all_chats_onboarding_try_it" = "Provojeni";
"all_chats_onboarding_title" = "Çka të re";
"all_chats_onboarding_page_title3" = "Jepni Përshtypje";
"all_chats_onboarding_page_message2" = "Hyni në Hapësirat tuaja (poshtë djathtas) më shpejt dhe më kollaj se kurrë më parë.";
"all_chats_onboarding_page_title2" = "Hyni Në Hapësira";
"all_chats_onboarding_page_message1" = "Që të thjeshtohet Element-i juaj, skedat tanimë janë opsionale. Administrojini duke përdorur menunë djathtas në krye.";
"all_chats_onboarding_page_title1" = "Mirë se vini te një pamje e re!";
"all_chats_edit_menu_space_settings" = "Rregullime hapësire";
"all_chats_edit_menu_leave_space" = "Braktise %@";
"all_chats_user_menu_settings" = "Rregullime përdoruesi";

View file

@ -2670,14 +2670,6 @@
// Mark: - Room invites
"room_invites_empty_view_title" = "Нічого нового.";
"all_chats_onboarding_try_it" = "Спробувати";
"all_chats_onboarding_title" = "Що нового";
"all_chats_onboarding_page_message3" = "Торкніться свого профілю, щоб розповісти нам свою думку.";
"all_chats_onboarding_page_title3" = "Напишіть відгук";
"all_chats_onboarding_page_message2" = "Отримуйте доступ до своїх просторів (унизу ліворуч) швидше та легше, ніж раніше.";
"all_chats_onboarding_page_title2" = "Доступ до просторів";
"all_chats_onboarding_page_message1" = "Щоб спростити ваш Element, вкладки тепер необов’язкові. Керуйте ними у верхньому правому меню.";
"all_chats_onboarding_page_title1" = "Вітаємо в новому вигляді!";
"all_chats_nothing_found_placeholder_message" = "Спробуйте налаштувати пошук.";
"all_chats_nothing_found_placeholder_title" = "Нічого не знайдено.";
"all_chats_empty_unreads_placeholder_message" = "Тут з'являтимуться ваші непрочитані повідомлення, якщо вони є.";

View file

@ -22,9 +22,6 @@ internal typealias AssetImageTypeAlias = ImageAsset.Image
internal class Asset: NSObject {
@objcMembers
@objc(AssetImages) internal class Images: NSObject {
internal static let allChatsOnboarding1 = ImageAsset(name: "all_chats_onboarding1")
internal static let allChatsOnboarding2 = ImageAsset(name: "all_chats_onboarding2")
internal static let allChatsOnboarding3 = ImageAsset(name: "all_chats_onboarding3")
internal static let analyticsCheckmark = ImageAsset(name: "AnalyticsCheckmark")
internal static let analyticsLogo = ImageAsset(name: "AnalyticsLogo")
internal static let socialLoginButtonApple = ImageAsset(name: "social_login_button_apple")

View file

@ -211,38 +211,6 @@ public class VectorL10n: NSObject {
public static var allChatsNothingFoundPlaceholderTitle: String {
return VectorL10n.tr("Vector", "all_chats_nothing_found_placeholder_title")
}
/// To simplify your Element, tabs are now optional. Manage them using the top-right menu.
public static var allChatsOnboardingPageMessage1: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_page_message1")
}
/// Access your Spaces (bottom-left) faster and easier than ever before.
public static var allChatsOnboardingPageMessage2: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_page_message2")
}
/// Tap your profile to let us know what you think.
public static var allChatsOnboardingPageMessage3: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_page_message3")
}
/// Welcome to a new view!
public static var allChatsOnboardingPageTitle1: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_page_title1")
}
/// Access Spaces
public static var allChatsOnboardingPageTitle2: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_page_title2")
}
/// Give Feedback
public static var allChatsOnboardingPageTitle3: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_page_title3")
}
/// What's new
public static var allChatsOnboardingTitle: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_title")
}
/// Try it out
public static var allChatsOnboardingTryIt: String {
return VectorL10n.tr("Vector", "all_chats_onboarding_try_it")
}
/// Chats
public static var allChatsSectionTitle: String {
return VectorL10n.tr("Vector", "all_chats_section_title")

View file

@ -408,11 +408,6 @@ final class RiotSettings: NSObject {
@UserDefault(key: "lastNumberOfTrackedSpaces", defaultValue: nil, storage: defaults)
var lastNumberOfTrackedSpaces: Int?
// MARK: - All Chats Onboarding
@UserDefault(key: "allChatsOnboardingHasBeenDisplayed", defaultValue: false, storage: defaults)
var allChatsOnboardingHasBeenDisplayed
}
// MARK: - RiotSettings notification constants

View file

@ -2216,9 +2216,6 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
// Logout all matrix account
[[MXKAccountManager sharedManager] logoutWithCompletion:^{
// We reset allChatsOnboardingHasBeenDisplayed flag on logout
RiotSettings.shared.allChatsOnboardingHasBeenDisplayed = NO;
if (completion)
{
completion (YES);

View file

@ -70,8 +70,6 @@ class AllChatsViewController: HomeViewController {
private var isOnboardingCoordinatorPreparing: Bool = false
private var allChatsOnboardingCoordinatorBridgePresenter: AllChatsOnboardingCoordinatorBridgePresenter?
private var theme: Theme {
ThemeService.shared().theme
}
@ -181,10 +179,6 @@ class AllChatsViewController: HomeViewController {
}
AppDelegate.theDelegate().checkAppVersion()
if BuildSettings.newAppLayoutEnabled && !RiotSettings.shared.allChatsOnboardingHasBeenDisplayed {
self.showAllChatsOnboardingScreen()
}
}
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
@ -674,20 +668,6 @@ class AllChatsViewController: HomeViewController {
self.navigationController?.pushViewController(invitesViewController, animated: true)
}
private func showAllChatsOnboardingScreen() {
let allChatsOnboardingCoordinatorBridgePresenter = AllChatsOnboardingCoordinatorBridgePresenter()
allChatsOnboardingCoordinatorBridgePresenter.completion = { [weak self] in
RiotSettings.shared.allChatsOnboardingHasBeenDisplayed = true
guard let self = self else { return }
self.allChatsOnboardingCoordinatorBridgePresenter?.dismiss(animated: true, completion: {
self.allChatsOnboardingCoordinatorBridgePresenter = nil
})
}
allChatsOnboardingCoordinatorBridgePresenter.present(from: self, animated: true)
self.allChatsOnboardingCoordinatorBridgePresenter = allChatsOnboardingCoordinatorBridgePresenter
}
}
private extension AllChatsViewController {

View file

@ -1,43 +0,0 @@
//
// Copyright 2021 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Foundation
import UIKit
// MARK: - Coordinator
// MARK: View model
enum AllChatsOnboardingViewModelResult {
case cancel
}
// MARK: View
struct AllChatsOnboardingPageData: Identifiable {
let id = UUID().uuidString
let image: UIImage
let title: String
let message: String
}
struct AllChatsOnboardingViewState: BindableState {
let pages: [AllChatsOnboardingPageData]
}
enum AllChatsOnboardingViewAction {
case cancel
}

View file

@ -1,63 +0,0 @@
//
// Copyright 2021 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Combine
import SwiftUI
typealias AllChatsOnboardingViewModelType = StateStoreViewModel<AllChatsOnboardingViewState, AllChatsOnboardingViewAction>
class AllChatsOnboardingViewModel: AllChatsOnboardingViewModelType, AllChatsOnboardingViewModelProtocol {
// MARK: - Properties
// MARK: Private
// MARK: Public
var completion: ((AllChatsOnboardingViewModelResult) -> Void)?
// MARK: - Setup
static func makeAllChatsOnboardingViewModel() -> AllChatsOnboardingViewModelProtocol {
AllChatsOnboardingViewModel()
}
private init() {
super.init(initialViewState: Self.defaultState())
}
private static func defaultState() -> AllChatsOnboardingViewState {
AllChatsOnboardingViewState(pages: [
AllChatsOnboardingPageData(image: Asset.Images.allChatsOnboarding1.image,
title: VectorL10n.allChatsOnboardingPageTitle1,
message: VectorL10n.allChatsOnboardingPageMessage1),
AllChatsOnboardingPageData(image: Asset.Images.allChatsOnboarding2.image,
title: VectorL10n.allChatsOnboardingPageTitle2,
message: VectorL10n.allChatsOnboardingPageMessage2),
AllChatsOnboardingPageData(image: Asset.Images.allChatsOnboarding3.image,
title: VectorL10n.allChatsOnboardingPageTitle3,
message: VectorL10n.allChatsOnboardingPageMessage3)
])
}
// MARK: - Public
override func process(viewAction: AllChatsOnboardingViewAction) {
switch viewAction {
case .cancel:
completion?(.cancel)
}
}
}

View file

@ -1,23 +0,0 @@
//
// Copyright 2021 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Foundation
protocol AllChatsOnboardingViewModelProtocol {
var completion: ((AllChatsOnboardingViewModelResult) -> Void)? { get set }
static func makeAllChatsOnboardingViewModel() -> AllChatsOnboardingViewModelProtocol
var context: AllChatsOnboardingViewModelType.Context { get }
}

View file

@ -1,92 +0,0 @@
//
// Copyright 2021 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import CommonKit
import SwiftUI
/// All Chats onboarding screen
final class AllChatsOnboardingCoordinator: NSObject, Coordinator, Presentable {
// MARK: - Properties
// MARK: Private
private let hostingController: UIViewController
private var viewModel: AllChatsOnboardingViewModelProtocol
private var indicatorPresenter: UserIndicatorTypePresenterProtocol
private var loadingIndicator: UserIndicator?
// MARK: Public
// Must be used only internally
var childCoordinators: [Coordinator] = []
var completion: (() -> Void)?
// MARK: - Setup
override init() {
let viewModel = AllChatsOnboardingViewModel.makeAllChatsOnboardingViewModel()
let view = AllChatsOnboarding(viewModel: viewModel.context)
self.viewModel = viewModel
hostingController = VectorHostingController(rootView: view)
indicatorPresenter = UserIndicatorTypePresenter(presentingViewController: hostingController)
super.init()
hostingController.presentationController?.delegate = self
}
// MARK: - Public
func start() {
MXLog.debug("[AllChatsOnboardingCoordinator] did start.")
viewModel.completion = { [weak self] result in
guard let self = self else { return }
MXLog.debug("[AllChatsOnboardingCoordinator] AllChatsOnboardingViewModel did complete with result: \(result).")
switch result {
case .cancel:
self.completion?()
}
}
}
func toPresentable() -> UIViewController {
hostingController
}
// MARK: - Private
/// Show an activity indicator whilst loading.
/// - Parameters:
/// - label: The label to show on the indicator.
/// - isInteractionBlocking: Whether the indicator should block any user interaction.
private func startLoading(label: String = VectorL10n.loading, isInteractionBlocking: Bool = true) {
loadingIndicator = indicatorPresenter.present(.loading(label: label, isInteractionBlocking: isInteractionBlocking))
}
/// Hide the currently displayed activity indicator.
private func stopLoading() {
loadingIndicator = nil
}
}
// MARK: - UIAdaptivePresentationControllerDelegate
extension AllChatsOnboardingCoordinator: UIAdaptivePresentationControllerDelegate {
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
completion?()
}
}

View file

@ -1,63 +0,0 @@
//
// Copyright 2022 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Foundation
@objc protocol AllChatsOnboardingCoordinatorBridgePresenterDelegate {
func allChatsOnboardingCoordinatorBridgePresenterDidCancel(_ coordinatorBridgePresenter: AllChatsOnboardingCoordinatorBridgePresenter)
}
/// `AllChatsOnboardingCoordinatorBridgePresenter` enables to start `AllChatsOnboardingCoordinator` from a view controller.
/// This bridge is used while waiting for global usage of coordinator pattern.
/// It breaks the Coordinator abstraction and it has been introduced for Objective-C compatibility (mainly for integration in legacy view controllers).
/// Each bridge should be removed once the underlying Coordinator has been integrated by another Coordinator.
@objcMembers
final class AllChatsOnboardingCoordinatorBridgePresenter: NSObject {
// MARK: - Properties
// MARK: Private
private var coordinator: AllChatsOnboardingCoordinator?
// MARK: Public
var completion: (() -> Void)?
// MARK: - Public
func present(from viewController: UIViewController, animated: Bool) {
let coordinator = AllChatsOnboardingCoordinator()
coordinator.completion = { [weak self] in
guard let self = self else { return }
self.completion?()
}
let presentable = coordinator.toPresentable()
viewController.present(presentable, animated: animated, completion: nil)
coordinator.start()
self.coordinator = coordinator
}
func dismiss(animated: Bool, completion: (() -> Void)?) {
guard let coordinator = coordinator else {
return
}
coordinator.toPresentable().dismiss(animated: animated) {
self.coordinator = nil
completion?()
}
}
}

View file

@ -1,80 +0,0 @@
//
// Copyright 2021 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import SwiftUI
struct AllChatsOnboarding: View {
// MARK: - Properties
// MARK: Private
@Environment(\.theme) private var theme: ThemeSwiftUI
@State private var selectedTab = 0
// MARK: Public
@ObservedObject var viewModel: AllChatsOnboardingViewModel.Context
var body: some View {
VStack {
Text(VectorL10n.allChatsOnboardingTitle)
.font(theme.fonts.title3SB)
.foregroundColor(theme.colors.primaryContent)
.padding()
TabView(selection: $selectedTab) {
ForEach(viewModel.viewState.pages.indices, id: \.self) { index in
let page = viewModel.viewState.pages[index]
AllChatsOnboardingPage(image: page.image,
title: page.title,
message: page.message)
.tag(index)
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .automatic))
.indexViewStyle(.page(backgroundDisplayMode: .always))
Button { onCallToAction() } label: {
Text(selectedTab == viewModel.viewState.pages.count - 1 ? VectorL10n.allChatsOnboardingTryIt : VectorL10n.next)
.animation(nil)
}
.buttonStyle(PrimaryActionButtonStyle())
.padding()
}
.background(theme.colors.background.ignoresSafeArea())
.frame(maxHeight: .infinity)
}
// MARK: - Private
private func onCallToAction() {
if selectedTab == viewModel.viewState.pages.count - 1 {
viewModel.send(viewAction: .cancel)
} else {
withAnimation {
selectedTab += 1
}
}
}
}
// MARK: - Previews
struct AllChatsOnboarding_Previews: PreviewProvider {
static var previews: some View {
AllChatsOnboarding(viewModel: AllChatsOnboardingViewModel.makeAllChatsOnboardingViewModel().context).theme(.light).preferredColorScheme(.light)
AllChatsOnboarding(viewModel: AllChatsOnboardingViewModel.makeAllChatsOnboardingViewModel().context).theme(.dark).preferredColorScheme(.dark)
}
}

View file

@ -1,62 +0,0 @@
//
// Copyright 2022 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import SwiftUI
struct AllChatsOnboardingPage: View {
// MARK: - Properties
let image: UIImage
let title: String
let message: String
// MARK: Private
@Environment(\.theme) private var theme: ThemeSwiftUI
var body: some View {
VStack {
Spacer()
Image(uiImage: image)
Spacer()
Text(title)
.font(theme.fonts.title2B)
.foregroundColor(theme.colors.primaryContent)
.padding(.bottom, 16)
Text(message)
.multilineTextAlignment(.center)
.font(theme.fonts.callout)
.foregroundColor(theme.colors.primaryContent)
Spacer()
}
.padding(.horizontal)
}
}
// MARK: - Previews
struct AllChatsOnboardingPage_Previews: PreviewProvider {
static var previews: some View {
preview.theme(.light).preferredColorScheme(.light)
preview.theme(.dark).preferredColorScheme(.dark)
}
private static var preview: some View {
AllChatsOnboardingPage(image: Asset.Images.allChatsOnboarding1.image,
title: VectorL10n.allChatsOnboardingPageTitle1,
message: VectorL10n.allChatsOnboardingPageMessage1)
}
}

1
changelog.d/7298.change Normal file
View file

@ -0,0 +1 @@
App Layout: Removed the onboarding flow