App Layout: Removed the onboarding flow
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 166 KiB |
|
@ -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
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 94 KiB |
|
@ -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
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 151 KiB |
|
@ -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";
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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 qu’avant.";
|
||||
"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 l’espace";
|
||||
"all_chats_edit_menu_leave_space" = "Quitter %@";
|
||||
"all_chats_user_menu_settings" = "Paramètres utilisateur";
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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" = "レイアウトの設定";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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" = "S’mund 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" = "S’ka 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";
|
||||
|
|
|
@ -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" = "Тут з'являтимуться ваші непрочитані повідомлення, якщо вони є.";
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 }
|
||||
}
|
|
@ -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?()
|
||||
}
|
||||
}
|
|
@ -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?()
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
}
|
||||
}
|
|
@ -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
|
@ -0,0 +1 @@
|
|||
App Layout: Removed the onboarding flow
|