From 41c21dac68a8653348d3b31eb19742366f4c73ce Mon Sep 17 00:00:00 2001
From: Fadi SHEHADEH <fadi.shehadeh@savoirfairelinux.com>
Date: Tue, 26 Jul 2022 11:29:26 -0400
Subject: [PATCH] wizard: implement new wizard details

This changes many things:
+ Except the backup page, all pages were re-designed
+ Heavily modify buttons and line edits with new components style
+ Update switches themes
+ Re-work username
+ Add future components
+ Update strings
+ Update PhotoBoothView

GitLab: #769
GitLab: #770
GitLab: #766
Change-Id: Ic97d36cf8c86c4242013bf71a524887f7ce56f8f
---
 qml.qrc                                       |   4 +
 .../icons/{noun-lock-4670702.svg => lock.svg} |   0
 src/app/AccountMigrationView.qml              |   4 +-
 src/app/accountadapter.cpp                    |   3 +
 src/app/commoncomponents/ConfirmDialog.qml    |   4 +-
 .../commoncomponents/DaemonReconnectPopup.qml |   2 +-
 .../commoncomponents/DeleteAccountDialog.qml  |   4 +-
 src/app/commoncomponents/EditableLineEdit.qml | 210 +++++--
 src/app/commoncomponents/InfoBox.qml          |  92 +++
 src/app/commoncomponents/JamiSwitch.qml       |   9 +-
 src/app/commoncomponents/MaterialButton.qml   |  69 ++-
 src/app/commoncomponents/MaterialLineEdit.qml |  16 +-
 src/app/commoncomponents/MaterialToolTip.qml  |   6 +-
 src/app/commoncomponents/PasswordDialog.qml   |   4 +-
 src/app/commoncomponents/PhotoboothView.qml   |  90 ++-
 src/app/commoncomponents/PushButton.qml       |   4 +-
 src/app/commoncomponents/ResponsiveImage.qml  |  11 +
 .../commoncomponents/SettingParaCombobox.qml  |  69 ++-
 .../commoncomponents/SimpleMessageDialog.qml  |   2 +-
 src/app/commoncomponents/UsernameLineEdit.qml |  73 +--
 src/app/constant/JamiStrings.qml              |  73 ++-
 src/app/constant/JamiTheme.qml                |  68 ++-
 src/app/mainview/components/AboutPopUp.qml    |   1 -
 src/app/mainview/components/ChatView.qml      |   2 +-
 src/app/mainview/components/NewSwarmPage.qml  |  12 +-
 src/app/mainview/components/RecordBox.qml     |   2 +-
 src/app/mainview/components/SelectScreen.qml  |   4 +-
 .../mainview/components/SwarmDetailsPanel.qml |  42 +-
 src/app/mainview/components/UserProfile.qml   |   2 +-
 src/app/mainview/components/WelcomePage.qml   |   2 +-
 .../components/AdvancedCallSettings.qml       |   2 +-
 .../components/CurrentAccountSettings.qml     |   4 +-
 .../components/DeviceItemDelegate.qml         |   2 +-
 .../components/JamiUserIdentity.qml           |   2 +-
 .../components/LinkDeviceDialog.qml           |   6 +-
 .../settingsview/components/LinkedDevices.qml |   2 +-
 src/app/settingsview/components/LogsView.qml  |   6 +-
 .../components/NameRegistrationDialog.qml     |   6 +-
 .../components/PluginListView.qml             |   2 +-
 .../components/PluginPreferencesListView.qml  |   2 +-
 .../components/PluginPreferencesView.qml      |   2 +-
 .../components/RevokeDevicePasswordDialog.qml |   4 +-
 .../components/TroubleshootSettings.qml       |   2 +-
 .../components/UpdateSettings.qml             |   4 +-
 src/app/utilsadapter.cpp                      |  16 +-
 src/app/utilsadapter.h                        |  12 +-
 src/app/wizardview/WizardView.qml             |   6 +-
 .../components/AdvancedAccountSettings.qml    | 550 ++++++++++++++++++
 .../wizardview/components/BackupKeyPage.qml   |   2 +-
 .../ConnectToAccountManagerPage.qml           | 136 +++--
 .../components/CreateAccountPage.qml          | 446 +++++++-------
 .../components/CreateSIPAccountPage.qml       | 343 +++++++----
 .../components/ImportFromBackupPage.qml       | 118 ++--
 .../components/ImportFromDevicePage.qml       | 157 +++--
 .../wizardview/components/NoUsernamePopup.qml | 109 ++++
 src/app/wizardview/components/ProfilePage.qml |   2 +-
 src/app/wizardview/components/WelcomePage.qml | 252 +++++---
 src/app/wizardviewstepmodel.cpp               |  54 +-
 src/app/wizardviewstepmodel.h                 |   2 -
 59 files changed, 2184 insertions(+), 951 deletions(-)
 rename resources/icons/{noun-lock-4670702.svg => lock.svg} (100%)
 create mode 100644 src/app/commoncomponents/InfoBox.qml
 create mode 100644 src/app/wizardview/components/AdvancedAccountSettings.qml
 create mode 100644 src/app/wizardview/components/NoUsernamePopup.qml

diff --git a/qml.qrc b/qml.qrc
index 2c6eb0550..c5794fe83 100644
--- a/qml.qrc
+++ b/qml.qrc
@@ -192,5 +192,9 @@
         <file>src/app/mainview/components/KeyboardShortcutTabButton.qml</file>
         <file>src/app/LayoutManager.qml</file>
         <file>src/app/mainview/components/JamiIdentifier.qml</file>
+        <file>src/app/commoncomponents/PasswordLineEdit.qml</file>
+        <file>src/app/wizardview/components/NoUsernamePopup.qml</file>
+        <file>src/app/wizardview/components/AdvancedAccountSettings.qml</file>
+        <file>src/app/commoncomponents/InfoBox.qml</file>
     </qresource>
 </RCC>
diff --git a/resources/icons/noun-lock-4670702.svg b/resources/icons/lock.svg
similarity index 100%
rename from resources/icons/noun-lock-4670702.svg
rename to resources/icons/lock.svg
diff --git a/src/app/AccountMigrationView.qml b/src/app/AccountMigrationView.qml
index 1be883400..9e91d8c88 100644
--- a/src/app/AccountMigrationView.qml
+++ b/src/app/AccountMigrationView.qml
@@ -337,7 +337,7 @@ Rectangle {
                             color: enabled? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
                             hoveredColor: JamiTheme.buttonTintedBlackHovered
                             pressedColor: JamiTheme.buttonTintedBlackPressed
-                            outlined: true
+                            secondary: true
                             enabled: passwordInputLineEdit.text.length > 0
 
                             text: JamiStrings.authenticate
@@ -355,7 +355,7 @@ Rectangle {
                             color: JamiTheme.buttonTintedRed
                             hoveredColor: JamiTheme.buttonTintedRedHovered
                             pressedColor: JamiTheme.buttonTintedRedPressed
-                            outlined: true
+                            secondary: true
 
                             text: JamiStrings.deleteAccount
                             onClicked: slotDeleteButtonClicked()
diff --git a/src/app/accountadapter.cpp b/src/app/accountadapter.cpp
index 17fbec8eb..0baf30979 100644
--- a/src/app/accountadapter.cpp
+++ b/src/app/accountadapter.cpp
@@ -98,6 +98,8 @@ AccountAdapter::createJamiAccount(QString registeredName,
         &lrcInstance_->accountModel(),
         &lrc::api::AccountModel::accountAdded,
         [this, registeredName, settings, isCreating](const QString& accountId) {
+            lrcInstance_->accountModel().setAvatar(accountId, settings["avatar"].toString());
+
             Utils::oneShotConnect(&lrcInstance_->accountModel(),
                                   &lrc::api::AccountModel::accountDetailsChanged,
                                   [this](const QString& accountId) {
@@ -161,6 +163,7 @@ AccountAdapter::createSIPAccount(const QVariantMap& settings)
         &lrcInstance_->accountModel(),
         &lrc::api::AccountModel::accountAdded,
         [this, settings](const QString& accountId) {
+            lrcInstance_->accountModel().setAvatar(accountId, settings["avatar"].toString());
             Utils::oneShotConnect(&lrcInstance_->accountModel(),
                                   &lrc::api::AccountModel::accountDetailsChanged,
                                   [this](const QString& accountId) {
diff --git a/src/app/commoncomponents/ConfirmDialog.qml b/src/app/commoncomponents/ConfirmDialog.qml
index 582bc5427..70f5e5616 100644
--- a/src/app/commoncomponents/ConfirmDialog.qml
+++ b/src/app/commoncomponents/ConfirmDialog.qml
@@ -73,7 +73,7 @@ BaseModalDialog {
                 color: JamiTheme.buttonTintedRed
                 hoveredColor: JamiTheme.buttonTintedRedHovered
                 pressedColor: JamiTheme.buttonTintedRedPressed
-                outlined: true
+                secondary: true
 
                 onClicked: {
                     close()
@@ -92,7 +92,7 @@ BaseModalDialog {
                 color: JamiTheme.buttonTintedBlack
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
-                outlined: true
+                secondary: true
 
                 text: JamiStrings.optionCancel
 
diff --git a/src/app/commoncomponents/DaemonReconnectPopup.qml b/src/app/commoncomponents/DaemonReconnectPopup.qml
index 57c66db22..bbe5d860a 100644
--- a/src/app/commoncomponents/DaemonReconnectPopup.qml
+++ b/src/app/commoncomponents/DaemonReconnectPopup.qml
@@ -91,7 +91,7 @@ BaseModalDialog {
             color: JamiTheme.buttonTintedBlue
             hoveredColor: JamiTheme.buttonTintedBlueHovered
             pressedColor: JamiTheme.buttonTintedBluePressed
-            outlined: true
+            secondary: true
 
             onClicked: Qt.quit()
         }
diff --git a/src/app/commoncomponents/DeleteAccountDialog.qml b/src/app/commoncomponents/DeleteAccountDialog.qml
index abf15a83a..11dc76edd 100644
--- a/src/app/commoncomponents/DeleteAccountDialog.qml
+++ b/src/app/commoncomponents/DeleteAccountDialog.qml
@@ -133,7 +133,7 @@ BaseModalDialog {
                 color: JamiTheme.buttonTintedRed
                 hoveredColor: JamiTheme.buttonTintedRedHovered
                 pressedColor: JamiTheme.buttonTintedRedPressed
-                outlined: true
+                secondary: true
 
                 text: JamiStrings.optionDelete
 
@@ -172,7 +172,7 @@ BaseModalDialog {
                 color: JamiTheme.buttonTintedBlack
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
-                outlined: true
+                secondary: true
 
                 text: JamiStrings.optionCancel
 
diff --git a/src/app/commoncomponents/EditableLineEdit.qml b/src/app/commoncomponents/EditableLineEdit.qml
index 2d2fa6c0b..ac5d0ca9a 100644
--- a/src/app/commoncomponents/EditableLineEdit.qml
+++ b/src/app/commoncomponents/EditableLineEdit.qml
@@ -29,27 +29,76 @@ Item {
     id: root
 
     signal editingFinished
+    signal accepted
+    signal secondIcoClicked
 
+    property alias fontSize: lineEdit.fontSize
+    property color borderColor: lineEdit.borderColor
+    property alias underlined: lineEdit.underlined
+    property alias wrapMode: lineEdit.wrapMode
+    property alias padding: lineEdit.padding
+    property alias fieldLayoutWidth: lineEdit.fieldLayoutWidth
+    property alias fieldLayoutHeight: lineEdit.fieldLayoutHeight
+    property alias echoMode: lineEdit.echoMode
+    property string inactiveColor: JamiTheme.tintedBlue
+    property string hoveredColor: "#03B9E9"
+    property string selectedColor: "#03B9E9"
+    property string validatedColor: "#009980"
+    property string errorColor: "#CC0022"
+    property alias selectByMouse:lineEdit.selectByMouse
+    property alias loseFocusWhenEnterPressed: lineEdit.loseFocusWhenEnterPressed
+    property alias validator: lineEdit.validator
     property alias text: lineEdit.text
     property alias color: lineEdit.color
     property alias verticalAlignment: lineEdit.verticalAlignment
     property alias horizontalAlignment: lineEdit.horizontalAlignment
     property alias font: lineEdit.font
-    property alias placeholderText: lineEdit.placeholderText
+    property var placeholderText
     property alias placeholderTextColor: lineEdit.placeholderTextColor
     property alias backgroundColor: lineEdit.backgroundColor
-    property var editIconColor:  UtilsAdapter.luma(root.color) ? JamiTheme.editLineColor : "white"
+    property var editIconColor: "transparent"
     property var cancelIconColor: UtilsAdapter.luma(root.color) ? JamiTheme.buttonTintedBlue : "white"
+    property string informationToolTip: ""
+
+    property string firstIco: ""
+    property string secondIco: ""
+    property string thirdIco: ""
+
+    property string firstIcoColor: "#005699"
+    property string secondIcoColor: "#005699"
+    property string thirdIcoColor: "#005699"
 
     property bool readOnly: false
     property bool editable: false
     property bool hovered: false
+    property bool selected: false
+    property bool inactive: true
+    property bool validated: false
+    property bool error: false
+
     property string tooltipText: ""
     property int preferredWidth: JamiTheme.preferredFieldWidth
 
+    function clear() {
+        lineEdit.clear()
+    }
+
+    function toggleEchoMode(){
+        if (echoMode == TextInput.Normal) {
+            echoMode = TextInput.Password
+            secondIco = JamiResources.eye_cross_svg
+        } else {
+            echoMode = TextInput.Normal
+            secondIco = JamiResources.noun_eye_svg
+        }
+    }
+
     height: lineEdit.height
     width: preferredWidth
 
+    Layout.preferredHeight: 50
+    Layout.preferredWidth:  400
+
     MaterialToolTip {
         parent: lineEdit
         visible: tooltipText != "" && hovered
@@ -58,32 +107,47 @@ Item {
     }
 
     HoverHandler {
-        target : parent
+        target: parent
+        enabled: !root.readOnly
         onHoveredChanged: {
             root.hovered = hovered
         }
-        cursorShape: Qt.PointingHandCursor
     }
 
-    RowLayout {
+    TapHandler {
+        target: parent
+        enabled: !root.readOnly
+        onTapped: {
+            lineEdit.focus = true;
+        }
+    }
+
+    Item {
+
         id: row
-        anchors.centerIn: parent
+        anchors.fill: parent
+
         z: 1
 
-        Image {
-            id: editImg
-            opacity: editable && !root.readOnly
+        ResponsiveImage  {
+            id: firstIco_
+            opacity: editable && !root.readOnly && firstIco !== ""
+            visible: opacity
+            anchors.left: row.left
+            anchors.bottom: row.bottom
+            anchors.bottomMargin: 12
 
-            Layout.alignment: Qt.AlignVCenter
+            width: visible? 18 : 0
+            height: 18
 
             layer {
                 enabled: true
                 effect: ColorOverlay {
-                    color: root.editIconColor
+                    color:  firstIcoColor
                 }
             }
 
-            source: JamiResources.round_edit_24dp_svg
+            source: firstIco
 
             Behavior on opacity {
                 NumberAnimation {
@@ -95,20 +159,23 @@ Item {
 
         MaterialLineEdit {
             id: lineEdit
-
+            anchors.horizontalCenter: row.horizontalCenter
+            width: row.width - firstIco_.width - thirdIco_.width - secIco_.width - thirdIco_.anchors.rightMargin
+            height: row.height
             readOnly: !editable || root.readOnly
             underlined: true
+            verticalAlignment: Text.AlignBottom
 
             borderColor: root.editIconColor
-            fieldLayoutHeight: 24
-
-            Layout.alignment: Qt.AlignCenter
-            Layout.preferredWidth: root.preferredFieldWidth - editImg.width - btnCancel.width
-            Layout.fillHeight: true
+            fieldLayoutHeight: row.height
+            placeholderText: readOnly? root.placeholderText : ""
 
             wrapMode: Text.NoWrap
+            horizontalAlignment: !readOnly || text !== "" ? Qt.AlignLeft : Qt.AlignHCenter
 
             onFocusChanged: function(focus) {
+                if (root.readOnly)
+                    return
                 if (!focus && editable) {
                     editable = !editable
                     root.editingFinished()
@@ -119,28 +186,75 @@ Item {
             }
             onAccepted: {
                 editable = !editable
+                root.accepted()
                 root.editingFinished()
+                focus = false
             }
         }
 
-        PushButton {
-            id: btnCancel
+        ResponsiveImage  {
+            id: thirdIco_
+            anchors.right: secIco_.left
+            anchors.rightMargin: 12
+            anchors.bottom: row.bottom
+            anchors.bottomMargin: 12
 
-            Layout.alignment: Qt.AlignVCenter
+            visible: thirdIco !== ""
+            width: visible? 18 : 0
+            height: 18
 
-            enabled: editable && !root.readOnly
-            preferredSize: lineEdit.height * 2 / 3
-            opacity: enabled ? 0.8 : 0
-            imageColor: root.cancelIconColor
-            normalColor: "transparent"
-            hoveredColor: JamiTheme.hoveredButtonColor
+            layer {
+                enabled: true
+                effect: ColorOverlay {
+                    color: thirdIcoColor
+                }
+            }
 
-            source: JamiResources.round_close_24dp_svg
+            source: thirdIco
+
+            Behavior on opacity {
+                NumberAnimation {
+                    from: 0
+                    duration: JamiTheme.longFadeDuration
+                }
+            }
+        }
+
+        ResponsiveImage  {
+
+            id: secIco_
+            visible: (editable && !root.readOnly) || secondIco !== ""
+            source: secondIco
+            anchors.right: row.right
+            anchors.bottom: row.bottom
+            anchors.bottomMargin: 12
+            width: visible? 18 : 0
+            height: 18
+
+            MaterialToolTip {
+                id: toolTip
+                parent: secIco_
+                text: informationToolTip
+                textColor: "black"
+                backGroundColor: "white"
+                visible: parent.hovered && informationToolTip!==""
+                delay: Qt.styleHints.mousePressAndHoldInterval
+            }
+
+            layer {
+                enabled: true
+                effect: ColorOverlay {
+                    color: secondIcoColor
+                }
+            }
+
+            TapHandler{
+                target: parent
+                enabled: !root.readOnly
+                onTapped: {
+                    root.secondIcoClicked()
+                }
 
-            onClicked: {
-                root.editingFinished()
-                root.editable = !root.editable
-                lineEdit.forceActiveFocus()
             }
 
             Behavior on opacity {
@@ -149,26 +263,44 @@ Item {
                     duration: JamiTheme.longFadeDuration
                 }
             }
+
         }
+
     }
 
+
     Rectangle {
-        anchors.fill: row
+        id: barColor
+        anchors.fill: root
         radius: JamiTheme.primaryRadius
 
-        visible: (root.editable || root.hovered)  && !root.readOnly
-        color: root.editIconColor
+        visible: !readOnly
+        color: {
+            if(root.error)
+                return errorColor
+            if(root.validated)
+                return validatedColor
+            if(root.hovered || root.editable)
+                return hoveredColor
+            if(root.inactive)
+                return inactiveColor
+            if(root.editable)
+                return selectedColor
+            return "black"
+
+        }
 
         Rectangle {
-            visible: parent.visible
+            visible: !readOnly && parent.visible
             anchors {
                 fill: parent
                 topMargin: 0
-                rightMargin: 0
+                rightMargin: -1
                 bottomMargin: 1
-                leftMargin: 0
+                leftMargin: -1
             }
             color: root.backgroundColor
         }
     }
-}
\ No newline at end of file
+
+}
diff --git a/src/app/commoncomponents/InfoBox.qml b/src/app/commoncomponents/InfoBox.qml
new file mode 100644
index 000000000..d704e5a32
--- /dev/null
+++ b/src/app/commoncomponents/InfoBox.qml
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2022 Savoir-faire Linux Inc.
+ * Author: Fadi Shehadeh <fadi.shehadeh@savoirfairelinux.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
+
+import net.jami.Models 1.1
+import net.jami.Constants 1.1
+
+
+Rectangle {
+
+    id: root
+
+    property string icoSource: ""
+    property string icoColor: JamiTheme.tintedBlue
+    property string title: ""
+    property string description: ""
+
+    width: 190
+    height: infos.implicitHeight
+
+    color: JamiTheme.transparentColor
+
+    ColumnLayout {
+        id: infos
+        anchors.fill:  parent
+
+        RowLayout {
+
+            Layout.alignment: Qt.AlignLeft
+            spacing: 24
+
+            ResponsiveImage {
+                id: icon
+
+                Layout.alignment: Qt.AlignLeft
+                Layout.topMargin: 5
+                Layout.preferredWidth: 26
+                Layout.preferredHeight: 26
+
+                containerHeight: Layout.preferredHeight
+                containerWidth: Layout.preferredWidth
+
+                source: icoSource
+                color: icoColor
+
+            }
+
+            Label {
+
+                text: title
+                font.weight: Font.Medium
+                Layout.topMargin: 5
+                Layout.alignment: Qt.AlignCenter
+                color: JamiTheme.textColor
+                font.pixelSize: JamiTheme.infoBoxTitleFontSize
+
+            }
+        }
+
+        Text {
+
+            Layout.preferredWidth: 180
+            Layout.alignment: Qt.AlignLeft
+            Layout.topMargin: 8
+            Layout.bottomMargin: 15
+            font.pixelSize: JamiTheme.infoBoxDescFontSize
+            color: JamiTheme.textColor
+            wrapMode: Text.WordWrap
+            text: description
+
+        }
+    }
+
+}
diff --git a/src/app/commoncomponents/JamiSwitch.qml b/src/app/commoncomponents/JamiSwitch.qml
index e610b0471..d9837a175 100644
--- a/src/app/commoncomponents/JamiSwitch.qml
+++ b/src/app/commoncomponents/JamiSwitch.qml
@@ -46,9 +46,7 @@ Switch {
         y: parent.height / 2 - height / 2
 
         radius: JamiTheme.switchIndicatorRadius
-
-        color: root.checked ? JamiTheme.switchBackgroundCheckedColor :
-                              JamiTheme.switchBackgroundColor
+        color: JamiTheme.switchBackgroundColor
         border.color: handleBackground.color
 
         Rectangle {
@@ -64,9 +62,8 @@ Switch {
 
             color: root.checked ? JamiTheme.switchHandleCheckedColor :
                                   JamiTheme.switchHandleColor
-            border.color: root.focus ? (root.checked ? JamiTheme.switchHandleCheckedBorderColor :
-                                                       JamiTheme.switchHandleBorderColor) :
-                                       JamiTheme.transparentColor
+            border.color: root.checked ? JamiTheme.switchHandleCheckedBorderColor :
+                                         JamiTheme.switchHandleBorderColor
         }
     }
 
diff --git a/src/app/commoncomponents/MaterialButton.qml b/src/app/commoncomponents/MaterialButton.qml
index bab8be118..56366f27f 100644
--- a/src/app/commoncomponents/MaterialButton.qml
+++ b/src/app/commoncomponents/MaterialButton.qml
@@ -28,31 +28,37 @@ import net.jami.Constants 1.1
 AbstractButton {
     id: root
 
-    property bool outlined: false
+    property bool boldFont: false
+    property bool primary: false
+    property bool secondary: false
+    property bool tertiary: false
     property alias toolTipText: toolTip.text
     property alias iconSource: icon.source_
     property alias animatedIconSource: icon.animatedSource_
     property real iconSize: 18
     property var color: JamiTheme.buttonTintedBlue
     property var hoveredColor: JamiTheme.buttonTintedBlueHovered
+    property var secHoveredColor: JamiTheme.transparentColor
     property var pressedColor: JamiTheme.buttonTintedBluePressed
     property var keysNavigationFocusColor: Qt.darker(hoveredColor, 2)
     property bool hasIcon: animatedIconSource.length !== 0 ||
                            iconSource.length !== 0
 
     property var preferredWidth
+
     Binding on width {
         when: root.preferredWidth !== undefined ||
               root.Layout.fillWidth
         value: root.preferredWidth
     }
+
     Binding on Layout.preferredWidth {
         when: root.preferredWidth !== undefined ||
               root.Layout.fillWidth
         value: width
     }
 
-    property real preferredHeight: 36
+    property real preferredHeight: JamiTheme.pushButtonMargin*2 + textButton.height
     height: preferredHeight
     Layout.preferredHeight: height
 
@@ -71,12 +77,15 @@ AbstractButton {
     }
 
     property string contentColorProvider: {
-        if (!root.outlined)
+
+        if (root.primary)
             return "white"
-        if (root.hovered)
-            return root.hoveredColor
+        if (root.tertiary)
+            return JamiTheme.secAndTertiTextColor
         if (root.down)
             return root.pressedColor
+        if (!root.secondary)
+            return "white"
         return root.color
     }
 
@@ -88,7 +97,9 @@ AbstractButton {
                   !root.Layout.fillWidth
             value: item.childrenRect.width
         }
+
         implicitHeight: childrenRect.height
+
         RowLayout {
             anchors.verticalCenter: parent.verticalCenter
             Binding on width {
@@ -96,6 +107,7 @@ AbstractButton {
                       root.Layout.fillWidth
                 value: root.availableWidth
             }
+
             spacing: hasIcon ?
                          JamiTheme.preferredMarginSize :
                          0
@@ -146,8 +158,9 @@ AbstractButton {
             }
 
             Text {
-                // this right margin will make the text visually
-                // centered within button
+
+                id: textButton
+
                 Layout.rightMargin: {
                     if ((!hasIcon || root.preferredWidth === undefined) &&
                             !root.Layout.fillWidth)
@@ -155,41 +168,61 @@ AbstractButton {
                     return icon.width + JamiTheme.preferredMarginSize / 2 +
                             parent.spacing
                 }
+
                 Layout.fillWidth: true
                 Layout.alignment: Qt.AlignHCenter
+
                 text: root.text
-                font: root.font
+
                 elide: Text.ElideRight
                 verticalAlignment: Text.AlignVCenter
                 horizontalAlignment: Text.AlignHCenter
                 color: contentColorProvider
+                font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
             }
         }
     }
 
     background: Rectangle {
+
         color: {
-            if (root.outlined)
-                return "transparent"
-            if (root.hovered)
-                return root.hoveredColor
+            var baseColor = root.focus ? root.keysNavigationFocusColor : root.color
+            if(root.primary) {
+                if (root.hovered)
+                    return root.hoveredColor
+                return baseColor
+            }
+
+            if (root.secondary || root.tertiary) {
+                if (root.hovered || root.focus)
+                    return root.secHoveredColor
+                return JamiTheme.transparentColor
+            }
+
             if (root.down)
                 return root.pressedColor
-            return root.focus ?
-                        root.keysNavigationFocusColor :
-                        root.color
+            if (root.hovered)
+                return root.hoveredColor
+
+            return baseColor
+
         }
+
         border.color: {
-            if (!root.outlined)
-                return "transparent"
-            if (root.hovered)
+            if (root.primary || root.tertiary)
+                return JamiTheme.transparentColor
+
+            if (root.secondary && root.hovered)
                 return root.hoveredColor
+
             if (root.down)
                 return root.pressedColor
+
             return root.focus ?
                         root.keysNavigationFocusColor :
                         root.color
         }
+
         radius: JamiTheme.primaryRadius
     }
 
diff --git a/src/app/commoncomponents/MaterialLineEdit.qml b/src/app/commoncomponents/MaterialLineEdit.qml
index 9e0a405b3..de35a76e1 100644
--- a/src/app/commoncomponents/MaterialLineEdit.qml
+++ b/src/app/commoncomponents/MaterialLineEdit.qml
@@ -25,10 +25,11 @@ import net.jami.Constants 1.1
 TextField {
     id: root
 
+    property int fontSize: JamiTheme.materialLineEditPointSize
     property int fieldLayoutWidth: 256
     property int fieldLayoutHeight: 48
 
-    property var backgroundColor: JamiTheme.editBackgroundColor
+    property var backgroundColor: JamiTheme.secondaryBackgroundColor
     property var borderColor: JamiTheme.greyBorderColor
 
     property bool loseFocusWhenEnterPressed: false
@@ -44,11 +45,11 @@ TextField {
     mouseSelectionMode: TextInput.SelectCharacters
     selectionColor: JamiTheme.placeholderTextColor
 
-    font.pointSize: JamiTheme.materialLineEditPointSize
+    font.pointSize: fontSize
     font.kerning: true
+    color: JamiTheme.textColor
 
     placeholderTextColor: JamiTheme.placeholderTextColor
-    color: JamiTheme.textColor
 
     LineEditContextMenu {
         id: lineEditContextMenu
@@ -58,6 +59,7 @@ TextField {
     }
 
     background: Rectangle {
+
         anchors.fill: root
         radius: JamiTheme.primaryRadius
 
@@ -71,15 +73,15 @@ TextField {
         }
 
         Rectangle {
-            visible: !readOnly && underlined
+            visible: true
             anchors {
                 fill: parent
                 topMargin: 0
-                rightMargin: 0
+                rightMargin: -1
                 bottomMargin: 1
-                leftMargin: 0
+                leftMargin: -1
             }
-            color: backgroundColor
+            color: root.backgroundColor
         }
     }
 
diff --git a/src/app/commoncomponents/MaterialToolTip.qml b/src/app/commoncomponents/MaterialToolTip.qml
index 82ef5e56d..1e0b78688 100644
--- a/src/app/commoncomponents/MaterialToolTip.qml
+++ b/src/app/commoncomponents/MaterialToolTip.qml
@@ -24,6 +24,9 @@ import net.jami.Constants 1.1
 ToolTip {
     id: root
 
+    property alias backGroundColor: background.color
+    property alias textColor: label.color
+
     onVisibleChanged: {
         if (visible)
             animation.start()
@@ -32,11 +35,12 @@ ToolTip {
     contentItem: Text {
         id: label
         text: root.text
-        font: root.font
+        font.pixelSize: 13
         color: "white"
     }
 
     background: Rectangle {
+        id: background
         color: "#c4272727"
         radius: 5
     }
diff --git a/src/app/commoncomponents/PasswordDialog.qml b/src/app/commoncomponents/PasswordDialog.qml
index 608439b49..821d13d02 100644
--- a/src/app/commoncomponents/PasswordDialog.qml
+++ b/src/app/commoncomponents/PasswordDialog.qml
@@ -186,7 +186,7 @@ BaseModalDialog {
                 color: enabled? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
-                outlined: true
+                secondary: true
                 enabled: purpose === PasswordDialog.SetPassword
 
                 text: (purpose === PasswordDialog.ExportAccount) ? JamiStrings.exportAccount :
@@ -208,7 +208,7 @@ BaseModalDialog {
                 color: JamiTheme.buttonTintedBlack
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
-                outlined: true
+                secondary: true
 
                 text: JamiStrings.optionCancel
 
diff --git a/src/app/commoncomponents/PhotoboothView.qml b/src/app/commoncomponents/PhotoboothView.qml
index 08baffc6f..cc35c0b88 100644
--- a/src/app/commoncomponents/PhotoboothView.qml
+++ b/src/app/commoncomponents/PhotoboothView.qml
@@ -31,7 +31,8 @@ Item {
     id: root
 
     property alias imageId: avatar.imageId
-    property bool newConversation: false
+
+    property bool newItem: false
     property bool readOnly: false
     property real avatarSize
     property real buttonSize: avatarSize
@@ -71,10 +72,10 @@ Item {
         visible: false
 
         onValidatePhoto: function(photo) {
-            if (!root.newConversation)
+            if (!root.newItem)
                 AccountAdapter.setCurrentAccountAvatarBase64(photo)
             else
-                UtilsAdapter.setSwarmCreationImageFromString(photo, imageId)
+                UtilsAdapter.setTempCreationImageFromString(photo, imageId)
             buttonsRowLayout.backToAvatar()
         }
     }
@@ -106,10 +107,10 @@ Item {
             }
 
             var filePath = UtilsAdapter.getAbsPath(file)
-            if (!root.newConversation)
+            if (!root.newItem)
                 AccountAdapter.setCurrentAccountAvatarFile(filePath)
             else
-                UtilsAdapter.setSwarmCreationImageFromFile(filePath, root.imageId)
+                UtilsAdapter.setTempCreationImageFromFile(filePath, root.imageId)
         }
 
         onRejected: {
@@ -120,12 +121,13 @@ Item {
         }
     }
 
-    Item {
+    Rectangle {
         id: imageLayer
 
         anchors.centerIn: parent
         width: avatarSize
         height: avatarSize
+        color: "transparent"
 
         Avatar {
             id: avatar
@@ -133,59 +135,35 @@ Item {
             anchors.fill: parent
             anchors.margins: 1
 
-            mode: newConversation? Avatar.Mode.Conversation : Avatar.Mode.Account
+            mode: newItem? Avatar.Mode.Conversation : Avatar.Mode.Account
 
             fillMode: Image.PreserveAspectCrop
             showPresenceIndicator: false
 
-            HoverHandler {
-                target: parent
-                enabled: parent.visible && !root.readOnly
-                onHoveredChanged: {
-                    overlayHighlighted.visible = hovered
-                }
-            }
-
-            TapHandler {
-                target: parent
-                enabled: parent.visible && !root.readOnly
-                onTapped: {
-                    imageLayer.visible = false
-                    buttonsRowLayout.visible = true
-                }
-            }
-
-            Rectangle {
-                id: overlayHighlighted
-                visible: false
+            PushButton {
+                id: editImage
 
-                anchors.fill: parent
-                color: Qt.rgba(0, 0, 0, 0.5)
-                radius: parent.height / 2
+                width: avatar.width / 4
+                height: avatar.height / 4
+                anchors.top: parent.top
+                anchors.right: parent.right
+                anchors.margins: avatar.width / 22
 
-                opacity: visible
+                source: JamiResources.round_edit_24dp_svg
 
-                Behavior on opacity {
-                    NumberAnimation {
-                        from: 0
-                        duration: JamiTheme.shortFadeDuration
-                    }
-                }
+                preferredSize: avatar.width / 6
 
-                Image {
-                    id: overlayImage
+                border.color: JamiTheme.buttonTintedBlue
+                normalColor: "white"
+                imageColor:  JamiTheme.buttonTintedBlue
+                hoveredColor: "#e5eef5"
+                pressedColor: "#e5eef5"
+                enabled: avatar.visible && !root.readOnly
 
-                    width: JamiTheme.smartListAvatarSize / 2
-                    height: JamiTheme.smartListAvatarSize / 2
-                    anchors.centerIn: parent
+                onClicked :{
 
-                    layer {
-                        enabled: true
-                        effect: ColorOverlay {
-                            color: "white"
-                        }
-                    }
-                    source: JamiResources.round_edit_24dp_svg
+                    imageLayer.visible = false
+                    buttonsRowLayout.visible = true
                 }
             }
         }
@@ -283,7 +261,7 @@ Item {
                     clicked()
                     keyEvent.accepted = true
                 } else if (keyEvent.key === Qt.Key_Down ||
-                            keyEvent.key === Qt.Key_Tab) {
+                           keyEvent.key === Qt.Key_Tab) {
                     clearButton.forceActiveFocus()
                     keyEvent.accepted = true
                 }
@@ -318,9 +296,9 @@ Item {
             hoveredColor: darkTheme ? Qt.rgba(255, 255, 255, 0.2) : JamiTheme.buttonTintedBlueInternalHover
 
             visible: {
-                if (!newConversation && LRCInstance.currentAccountAvatarSet)
+                if (!newItem && LRCInstance.currentAccountAvatarSet)
                     return true
-                if (newConversation && UtilsAdapter.swarmCreationImage(imageId).length !== 0)
+                if (newItem && UtilsAdapter.tempCreationImage(imageId).length !== 0)
                     return true
                 return false
             }
@@ -334,17 +312,17 @@ Item {
                     importButton.forceActiveFocus()
                     keyEvent.accepted = true
                 } else if (keyEvent.key === Qt.Key_Down ||
-                            keyEvent.key === Qt.Key_Tab) {
+                           keyEvent.key === Qt.Key_Tab) {
                     cancelButton.forceActiveFocus()
                     keyEvent.accepted = true
                 }
             }
 
             onClicked: {
-                if (!root.newConversation)
+                if (!root.newItem)
                     AccountAdapter.setCurrentAccountAvatarBase64()
                 else
-                    UtilsAdapter.setSwarmCreationImageFromString("", imageId)
+                    UtilsAdapter.setTempCreationImageFromString("", imageId)
                 stopBooth()
                 buttonsRowLayout.backToAvatar()
             }
@@ -370,7 +348,7 @@ Item {
                     takePhotoButton.forceActiveFocus()
                     keyEvent.accepted = true
                 } else if (keyEvent.key === Qt.Key_Down ||
-                            keyEvent.key === Qt.Key_Tab) {
+                           keyEvent.key === Qt.Key_Tab) {
                     importButton.forceActiveFocus()
                     keyEvent.accepted = true
                 }
diff --git a/src/app/commoncomponents/PushButton.qml b/src/app/commoncomponents/PushButton.qml
index 46dfe3197..7db55e4da 100644
--- a/src/app/commoncomponents/PushButton.qml
+++ b/src/app/commoncomponents/PushButton.qml
@@ -40,6 +40,7 @@ AbstractButton {
     property int preferredWidth: 0
     property int preferredMargin: 16
     // Note the radius will default to preferredSize
+    property bool circled: true
     property alias radius: background.radius
     property alias border: background.border
 
@@ -147,7 +148,7 @@ AbstractButton {
     background: Rectangle {
         id: background
 
-        radius: preferredSize
+        radius: circled ? preferredSize : 5
 
         states: [
             State {
@@ -182,5 +183,6 @@ AbstractButton {
                 ColorAnimation { duration: root.duration }
             }
         ]
+
     }
 }
diff --git a/src/app/commoncomponents/ResponsiveImage.qml b/src/app/commoncomponents/ResponsiveImage.qml
index cf724226e..f6d59a6dd 100644
--- a/src/app/commoncomponents/ResponsiveImage.qml
+++ b/src/app/commoncomponents/ResponsiveImage.qml
@@ -34,6 +34,7 @@ Item {
     property alias source: image.source
     property alias status: image.status
     property string color: "transparent"
+    property bool hovered: false
 
     property bool isSvg: {
         var match = /[^.]+$/.exec(source)
@@ -80,4 +81,14 @@ Item {
         source: image
         color: root.color
     }
+
+    HoverHandler {
+        target: parent
+        onHoveredChanged: {
+            root.hovered = hovered
+
+        }
+    }
+
+
 }
diff --git a/src/app/commoncomponents/SettingParaCombobox.qml b/src/app/commoncomponents/SettingParaCombobox.qml
index f361c49ee..50215e63e 100644
--- a/src/app/commoncomponents/SettingParaCombobox.qml
+++ b/src/app/commoncomponents/SettingParaCombobox.qml
@@ -44,7 +44,9 @@ ComboBox {
 
     delegate: ItemDelegate {
         width: root.width
+
         contentItem: Text {
+
             text: {
                 if (index >= 0) {
                     var currentItem = root.delegateModel.items.get(index)
@@ -52,42 +54,32 @@ ComboBox {
                 }
                 return ""
             }
-            color: JamiTheme.textColor
-            font: root.font
+
+            color: hovered ? JamiTheme.comboboxTextColorHovered : JamiTheme.textColor
             elide: Text.ElideRight
             verticalAlignment: Text.AlignVCenter
+
         }
+
         background: Rectangle {
-            color: highlighted? JamiTheme.selectedColor : JamiTheme.editBackgroundColor
+            color: hovered ? JamiTheme.tintedBlue : JamiTheme.transparentColor
+            opacity: 0.1
         }
-    }
-
-    indicator: Canvas {
-        id: canvas
 
-        x: root.width - width - root.rightPadding
-        y: root.topPadding + (root.availableHeight - height) / 2
+    }
 
-        width: 12
-        height: 8
-        contextType: "2d"
+    indicator: ResponsiveImage {
+        containerHeight: 6
+        containerWidth: 10
+        width: 20
+        height: 20
 
-        Connections {
-            target: root
-            function onPressedChanged(){
-                canvas.requestPaint()
-            }
-        }
+        anchors.right: parent.right
+        anchors.verticalCenter: parent.verticalCenter
+        anchors.rightMargin: 16
 
-        onPaint: {
-            context.reset();
-            context.moveTo(0, 0);
-            context.lineTo(width, 0);
-            context.lineTo(width / 2, height);
-            context.closePath();
-            context.fillStyle = root.pressed ? JamiTheme.pressColor : JamiTheme.textColor;
-            context.fill();
-        }
+        source: popup.visible ? JamiResources.expand_less_24dp_svg
+                              : JamiResources.expand_more_24dp_svg
     }
 
     contentItem: Text {
@@ -95,19 +87,22 @@ ComboBox {
         rightPadding: root.indicator.width + leftPadding
 
         text: root.displayText
-        font: root.font
         color: JamiTheme.textColor
+
         verticalAlignment: Text.AlignVCenter
+        horizontalAlignment: Text.AlignHCenter
         elide: Text.ElideRight
     }
 
     background: Rectangle {
-        color: root.comboBoxBackgroundColor
+        id: selectOption
+        color: JamiTheme.transparentColor
         implicitWidth: 120
-        implicitHeight: 40
-        border.color: root.comboBoxBackgroundColor
+        implicitHeight: 43
+        border.color: popup.visible ? JamiTheme.comboboxBorderColorActive
+                                    : JamiTheme.comboboxBorderColor
         border.width: root.visualFocus ? 2 : 1
-        radius: 2
+        radius: 5
     }
 
     popup: Popup {
@@ -115,8 +110,8 @@ ComboBox {
 
         y: root.height - 1
         width: root.width
-        implicitHeight: contentItem.implicitHeight
         padding: 1
+        height: Math.min(contentItem.implicitHeight, 5 * selectOption.implicitHeight)
 
         contentItem: JamiListView {
             id: listView
@@ -126,9 +121,11 @@ ComboBox {
         }
 
         background: Rectangle {
-            color: JamiTheme.editBackgroundColor
-            border.color: JamiTheme.greyBorderColor
-            radius: 2
+            color: JamiTheme.primaryBackgroundColor
+            border.color: JamiTheme.comboboxBorderColorActive
+            radius: 5
         }
+
     }
+
 }
diff --git a/src/app/commoncomponents/SimpleMessageDialog.qml b/src/app/commoncomponents/SimpleMessageDialog.qml
index f0cb5e143..55467e06b 100644
--- a/src/app/commoncomponents/SimpleMessageDialog.qml
+++ b/src/app/commoncomponents/SimpleMessageDialog.qml
@@ -121,7 +121,7 @@ BaseModalDialog {
                             return JamiTheme.buttonTintedRedPressed
                         }
                     }
-                    outlined: true
+                    secondary: true
 
                     text: buttonTitles[modelData]
 
diff --git a/src/app/commoncomponents/UsernameLineEdit.qml b/src/app/commoncomponents/UsernameLineEdit.qml
index 93f668392..1db84f0ee 100644
--- a/src/app/commoncomponents/UsernameLineEdit.qml
+++ b/src/app/commoncomponents/UsernameLineEdit.qml
@@ -22,9 +22,23 @@ import Qt5Compat.GraphicalEffects
 import net.jami.Models 1.1
 import net.jami.Constants 1.1
 
-MaterialLineEdit {
+EditableLineEdit {
     id: root
 
+    placeholderText: isRendezVous ? JamiStrings.chooseAName :
+                                    JamiStrings.chooseYourUserName
+
+    firstIco: readOnly? "" : JamiResources.person_24dp_svg
+    firstIcoColor: "#03B9E9"
+
+    secondIco: readOnly? "" : JamiResources.outline_info_24dp_svg
+    secondIcoColor: "#005699"
+
+    informationToolTip: JamiStrings.usernameToolTip
+
+    fieldLayoutWidth: 200
+    fieldLayoutHeight: 50
+
     enum NameRegistrationState {
         BLANK,
         INVALID,
@@ -34,7 +48,6 @@ MaterialLineEdit {
     }
 
     property int nameRegistrationState: UsernameLineEdit.NameRegistrationState.BLANK
-    property var __iconSource: ""
 
     selectByMouse: true
     font.pointSize: JamiTheme.usernameLineEditPointSize
@@ -83,56 +96,32 @@ MaterialLineEdit {
         }
     }
 
-    ResponsiveImage {
-        id: lineEditImage
-
-        anchors.verticalCenter: parent.verticalCenter
-        anchors.right: parent.right
-        anchors.rightMargin: JamiTheme.preferredMarginSize / 2
-
-        visible: nameRegistrationState !== UsernameLineEdit.NameRegistrationState.SEARCHING
-        source: nameRegistrationState === UsernameLineEdit.NameRegistrationState.SEARCHING ?
-                    "" : __iconSource
-        color: borderColor
-    }
-
-    AnimatedImage {
-        anchors.left: lineEditImage.left
-        anchors.verticalCenter: parent.verticalCenter
-
-        width: 24
-        height: 24
-
-        source: nameRegistrationState !== UsernameLineEdit.NameRegistrationState.SEARCHING ?
-                    "" : __iconSource
-        playing: true
-        paused: false
-        fillMode: Image.PreserveAspectFit
-        mipmap: true
-        visible: nameRegistrationState === UsernameLineEdit.NameRegistrationState.SEARCHING
-    }
-
     onNameRegistrationStateChanged: {
-        if (!enabled)
+        if (readOnly || !enabled)
             borderColor = "transparent"
 
         switch(nameRegistrationState){
-        case UsernameLineEdit.NameRegistrationState.SEARCHING:
-            __iconSource = JamiResources.jami_rolling_spinner_gif
-            borderColor = JamiTheme.greyBorderColor
-            break
         case UsernameLineEdit.NameRegistrationState.BLANK:
-            __iconSource = ""
-            borderColor = JamiTheme.greyBorderColor
+            firstIco=""
+            borderColor = "transparent"
+            error = false
+            validated = false
             break
         case UsernameLineEdit.NameRegistrationState.FREE:
-            __iconSource = JamiResources.round_check_circle_24dp_svg
-            borderColor = "green"
+            firstIco = JamiResources.circled_green_check_svg
+            borderColor = validatedColor
+            firstIcoColor = "transparent"
+            validated = true
+            error = false
+
             break
         case UsernameLineEdit.NameRegistrationState.INVALID:
         case UsernameLineEdit.NameRegistrationState.TAKEN:
-            __iconSource = JamiResources.round_error_24dp_svg
-            borderColor = "red"
+            firstIco = JamiResources.circled_red_cross_svg
+            borderColor = errorColor
+            firstIcoColor = "transparent"
+            error = true
+            validated = false
             break
         }
     }
diff --git a/src/app/constant/JamiStrings.qml b/src/app/constant/JamiStrings.qml
index 3dbe38715..21541c5ac 100644
--- a/src/app/constant/JamiStrings.qml
+++ b/src/app/constant/JamiStrings.qml
@@ -204,9 +204,9 @@ Item {
 
     // BackupKeyPage
     property string  backupAccountInfos: qsTr("Your account only exists on this device. " +
-                                            "If you lose your device or uninstall the application, " +
-                                            "your account will be deleted and can not be recovered. " +
-                                            "You can backup your account now or later.")
+                                              "If you lose your device or uninstall the application, " +
+                                              "your account will be deleted and can not be recovered. " +
+                                              "You can backup your account now or later.")
     property string backupAccountHere: qsTr("Backup account here")
     property string backupAccount: qsTr("Backup your account!")
     property string backupAccountBtn: qsTr("Backup account")
@@ -304,10 +304,10 @@ Item {
     property string typeIndicatorAnd: qsTr(" and ")
 
     // ConnectToAccountManager
-    property string enterJAMSURL: qsTr("Enter Jami Account Management Server (JAMS) URL")
+    property string enterJAMSURL: qsTr("Enter the Jami Account Management Server (JAMS) URL")
     property string required: qsTr("Required")
     property string jamiManagementServerURL: qsTr("Jami Account Management Server URL")
-    property string jamsCredentials: qsTr("Enter your JAMS credentials")
+    property string jamsCredentials: qsTr("Enter JAMS credentials")
     property string connect: qsTr("Connect")
     property string creatingAccount: qsTr("Creating account…")
     property string backToWelcome: qsTr("Back to welcome page")
@@ -315,6 +315,9 @@ Item {
     // CreateAccountPage
     property string chooseName: qsTr("Choose name")
     property string chooseUsername: qsTr("Choose username")
+    property string chooseAUsername: qsTr("Choose a username")
+    property string chooseIdentifier: qsTr("Choose an identifier")
+    property string identifierNotAvailable: qsTr("The identifier is not available")
     property string createPassword: qsTr("Encrypt account with password")
     property string createAccount: qsTr("Create account")
     property string confirmPassword: qsTr("Confirm password")
@@ -323,17 +326,33 @@ Item {
     property string chooseUsernameForAccount: qsTr("You can choose a username to be easily found and reached on Jami.")
     property string chooseUsernameForRV: qsTr("Choose a name for your rendezvous point")
     property string chooseAName: qsTr("Choose a name")
-    property string chooseYourUserName: qsTr("Choose your username")
+    property string chooseYourUserName: qsTr("Choose username")
     property string invalidName: qsTr("Invalid name")
     property string invalidUsername: qsTr("Invalid username")
     property string nameAlreadyTaken: qsTr("Name already taken")
     property string usernameAlreadyTaken: qsTr("Username already taken")
+    property string joinJamiNoPassword: qsTr("Are you sure that you want to join Jami without a username?\nIf yes, only a randomly generated 40-character identifier will be assigned to this account.")
+    property string usernameToolTip: qsTr("- 32 characters maximum\n- Alphabetical characters (A to Z)\n- Numeric characters (0 to 9)\n- Special character autorized: dash (-)")
+
+    // Good to know
+
+    property string goodToKnow: qsTr("Good to know")
+    property string local: qsTr("Local")
+    property string encrypt: qsTr("Encrypt")
+    property string localAccount: qsTr("This account is created locally")
+    property string usernameRecommened: qsTr("Choose a username is recommended and it can’t be changed")
+    property string passwordOptional: qsTr("Encrypt your account with a password is optional and it can’t be recovered")
+    property string customizeOptional: qsTr("The picture and the nickname are optional and can be changed in the settings")
+
 
     // CreateSIPAccountPage
+    property string sipAccount: qsTr("SIP account")
     property string proxy: qsTr("Proxy")
     property string server: qsTr("Server")
     property string createSIPAccount: qsTr("Create SIP account")
     property string configureExistingSIP: qsTr("Configure an existing SIP account")
+    property string personalizeAccount: qsTr("Personalize account")
+    property string addSip: qsTr("Add SIP account")
 
     // CurrentAccountSettings && AdvancedSettings
     property string backupSuccessful: qsTr("Backup successful")
@@ -344,13 +363,20 @@ Item {
     property string setPasswordFailed: qsTr("Password set failed")
     property string changePassword: qsTr("Change password")
     property string setPassword: qsTr("Set password")
-    property string setAPassword: qsTr("Set password")
+    property string setAPassword: qsTr("Set a password")
     property string changeCurrentPassword: qsTr("Change current password")
     property string tipBackupAccount: qsTr("Backup account to a .gz file")
     property string tipAdvancedSettingsDisplay: qsTr("Display advanced settings")
     property string tipAdvancedSettingsHide: qsTr("Hide advanced settings")
     property string enableAccount: qsTr("Enable account")
-    property string advancedAccountSettings: qsTr("Advanced Account Settings")
+    property string advancedAccountSettings: qsTr("Advanced account settings")
+    property string encryptAccount: qsTr("Encrypt account with password")
+    property string customizeProfile: qsTr("Customize profile")
+    property string customizeProfileDescription: qsTr("This profile is only shared with this account's contacts.\nThe profile can be changed at all time in the account's settings.")
+    property string encryptTitle: qsTr("Encrypt your account with a password")
+    property string encryptDescription: qsTr("A Jami account is registered only on this device as an archive containing the keys of your account. Access to this archive can be protected by a password.")
+    property string encryptWarning: qsTr("Please note that if you loose your password it cannot be recovered!")
+    property string enterNickname: qsTr("Enter a nickname, surname...")
 
     // NameRegistrationDialog
     property string setUsername: qsTr("Set username")
@@ -504,18 +530,32 @@ Item {
     property string connectFromBackup: qsTr("Restore an account from backup")
     property string generatingAccount: qsTr("Generating account…")
     property string importFromBackup: qsTr("Import from backup")
+    property string importFromArchiveBackup: qsTr("Import from archive backup")
+    property string importFromArchiveBackupDescription: qsTr("Import a Jami account from an archive file on this device.")
+    property string selectArchiveFile: qsTr("Select archive file")
 
     // ImportFromDevicePage
     property string mainAccountPassword: qsTr("Enter Jami account password")
     property string enterPIN: qsTr("Enter the PIN from another configured Jami account. " +
-                                "Use the \"Link Another Device\" feature to obtain a PIN.")
+                                   "Use the \"Link Another Device\" feature to obtain a PIN.")
     property string connectFromAnotherDevice: qsTr("Link device")
+    property string importButton: qsTr("Import")
     property string pin: qsTr("PIN")
+    property string importFromDeviceDescription: qsTr("A PIN is required to use an existing Jami account on this device.")
+    property string importStep1: qsTr("Step 1")
+    property string importStep2: qsTr("Step 2")
+    property string importStep3: qsTr("Step 3")
+    property string importStep4: qsTr("Step 4")
+    property string importStep1Desc: qsTr("Go to the Account Settings of a previous device")
+    property string importStep2Desc: qsTr("Choose the account to link")
+    property string importStep3Desc: qsTr("Select “Link another device”")
+    property string importStep4Desc: qsTr("The PIN code will be available for 10 minutes.")
+
 
     // LinkDevicesDialog
     property string pinTimerInfos: qsTr("The PIN and the account password should be entered in your device within 10 minutes.")
     property string close: qsTr("Close")
-    property string enterAccountPassword: qsTr("Enter your account password")
+    property string enterAccountPassword: qsTr("Enter account's password")
     property string addDevice: qsTr("Add Device")
 
     // PasswordDialog
@@ -592,7 +632,7 @@ Item {
     // WelcomePage
     property string shareInvite: qsTr("This is your Jami username.\nCopy and share it with your friends!")
     property string linkFromAnotherDevice: qsTr("Link this device to an existing account")
-    property string importAccountFromOtherDevice: qsTr("Import from another device")
+    property string importAccountFromAnotherDevice: qsTr("Import from another device")
     property string importAccountFromBackup: qsTr("Import from an archive backup")
     property string advancedFeatures: qsTr("Advanced features")
     property string showAdvancedFeatures: qsTr("Show advanced features")
@@ -612,6 +652,9 @@ Item {
     property string alreadyHaveAccount: qsTr("I already have an account")
     property string useExistingAccount: qsTr("Use existing Jami account")
     property string recommendationMessage: qsTr("Here are some recommendations to improve your experience on Jami")
+    property string noRecommendations: qsTr("Never show recommendations again")
+    property string welcomeToJami: qsTr("Welcome to Jami")
+    property string identifierDescription: qsTr("Share this Jami identifier to be contacted on this account!")
 
     // SmartList
     property string clearText: qsTr("Clear Text")
@@ -627,6 +670,7 @@ Item {
 
     // Generic dialog options
     property string optionOk: qsTr("Ok")
+    property string optionSave: qsTr("Save")
     property string optionCancel: qsTr("Cancel")
     property string optionUpgrade: qsTr("Upgrade")
     property string optionLater: qsTr("Later")
@@ -701,4 +745,11 @@ Item {
     property string invited: qsTr("Invited")
     property string removeMember: qsTr("Remove member")
     property string to: qsTr("To:")
+
+    //TipBox
+    property string customize: qsTr("Customize")
+    property string tips: qsTr("Tips")
+    property string customizeText: qsTr("Add a picture and a nickname to complete your profile")
+    property string customizationDescription: qsTr("This profile is only shared with this account’s contacts")
+
 }
diff --git a/src/app/constant/JamiTheme.qml b/src/app/constant/JamiTheme.qml
index a2e2a6e19..f1c0e38cd 100644
--- a/src/app/constant/JamiTheme.qml
+++ b/src/app/constant/JamiTheme.qml
@@ -74,6 +74,7 @@ Item {
     property color tabbarBorderColor: darkTheme ? blackColor : "#e3e3e3"
     property color popupOverlayColor: darkTheme ? Qt.rgba(255, 255, 255, 0.22) :
                                                   Qt.rgba(0, 0, 0, 0.33)
+    property real formsRadius: 30
 
     // Side panel
     property color presenceGreen: "#4cd964"
@@ -117,17 +118,25 @@ Item {
     property color whiteColorTransparent: rgba256(255, 255, 255, 50)
     property color raiseHandColor: rgba256(0, 184, 255, 77)
 
-
+    property color secAndTertiTextColor: darkTheme ? buttonTintedBlueHovered : buttonTintedBlue
+    property color secondaryButtonBorderColor: Qt.rgba(0,0.34,0.6,0.36)
+    property color secAndTertiHoveredBackgroundColor: Qt.rgba(0,0.34,0.6,0.1)
 
     property color closeButtonLighterBlack: "#4c4c4c"
 
     // Jami switch
-    property color switchBackgroundColor: darkTheme ? "#373737" : "#9f9f9f"
     property color switchBackgroundCheckedColor: "#8dbaea"
+    property color switchBackgroundColor: darkTheme ? "#373737" : Qt.rgba(0, 0.34, 0.6, 0.16)
     property color switchHandleColor: darkTheme ? Qt.darker(lightGrey_, 2) : whiteColor
-    property color switchHandleCheckedColor: "#1b76d1"
-    property color switchHandleBorderColor: darkTheme ? whiteColor : Qt.darker(lightGrey_, 2)
-    property color switchHandleCheckedBorderColor: Qt.darker(lightGrey_, 3)
+    property color switchHandleCheckedColor: "#005699"
+    property color switchHandleBorderColor: darkTheme ? whiteColor : "#005699"
+    property color switchHandleCheckedBorderColor: darkTheme ? "#0071c9" : "#005699"
+
+    //Combobox
+    property color comboBoxBackgroundColor: darkTheme ? editBackgroundColor : selectedColor
+    property color comboboxBorderColorActive: darkTheme? "#03B9E9" : tintedBlue
+    property color comboboxBorderColor: darkTheme ? tintedBlue : Qt.rgba(0, 0.34, 0.6, 0.36)
+    property color comboboxTextColorHovered: darkTheme ? "#03B9E9" : tintedBlue
 
     // Call buttons
     property color acceptButtonGreen: "#4caf50"
@@ -161,9 +170,6 @@ Item {
     property color screenSelectionBorderColor: raiseHandColor
     property color separationLine: darkTheme ? selectedColor : backgroundColor
 
-    // Plugin Preferences View
-    property color comboBoxBackgroundColor: darkTheme ? editBackgroundColor : selectedColor
-
     // ParticipantCallInStatusView
     property color participantCallInStatusTextColor: whiteColor
 
@@ -187,7 +193,7 @@ Item {
     property color fileInTimestampColor: darkTheme ? "#999" : "#555"
     property color chatviewBgColor: darkTheme ? bgDarkMode_ : whiteColor
     property color bgInvitationRectColor: darkTheme ? "#222222" : whiteColor
-    property color placeholderTextColor: darkTheme ? "#7a7a7a" : Qt.rgba(0, 0, 0, 0.2)
+    property color placeholderTextColor: darkTheme ? "#7a7a7a" : "black" //Qt.rgba(0, 0, 0, 0.2)
     property color placeholderTextColorWhite: "#cccccc"
     property color inviteHoverColor: darkTheme ? blackColor : whiteColor
     property color chatviewButtonColor: darkTheme ? whiteColor : blackColor
@@ -243,10 +249,12 @@ Item {
     property real bigFontSize: calcSize(22)
     property real settingsFontSize: calcSize(11 + fontSizeOffset)
     property real buttonFontSize: calcSize(9)
+    property real materialButtonPreferredHeight: calcSize(36)
     property real participantFontSize: calcSize(10)
     property real menuFontSize: calcSize(12 + fontSizeOffset)
     property real headerFontSize: calcSize(13 + fontSizeOffset)
     property real titleFontSize: calcSize(16 + fontSizeOffset)
+    property real title2FontSize: calcSize(15 + fontSizeOffset)
     property real tinyCreditsTextSize: calcSize(13 + fontSizeOffset)
     property real creditsTextSize: calcSize(15 + fontSizeOffset)
     property real primaryRadius: calcSize(4)
@@ -310,13 +318,17 @@ Item {
     property real lineEditContextMenuSeparatorsHeight: 2
 
 
-
     // Jami switch
     property real switchIndicatorRadius: 30
     property real switchPreferredHeight: 25
     property real switchPreferredWidth: 48
     property real switchIndicatorPreferredWidth: 26
 
+    // Jami Identifier
+    property color mainColor: "#005699"
+    property real pushButtonSize: 22
+    property real pushButtonMargin: 10
+
     // Modal Popup
     property real modalPopupRadius: 20
 
@@ -372,17 +384,49 @@ Item {
     property real jamiIdLogoWidth: 70
     property real jamiIdLogoHeight: 24
 
+    // MainView
+    property color welcomeViewBackgroundColor: darkTheme ? lightGrey_ : secondaryBackgroundColor
+    property real welcomeRectSideMargins: 45
+    property real welcomeRectTopMargin: 90
+    property color rectColor: Qt.rgba(0,0.34,0.6,0.16)
+    property color welcomeText: darkTheme ? "#0071c9" : "#002B4A"
+    property real illustrationWidth: 212
+    property real illustrationHeight: 244
+
     // WizardView
     property real wizardViewPageLayoutSpacing: 12
     property real wizardViewPageBackButtonMargins: 20
     property real wizardViewPageBackButtonSize: 35
+    property real wizardViewTitleFontPixelSize: calcSize(26)
+    property real wizardViewDescriptionFontPixelSize: calcSize(15)
+    property real wizardViewLayoutTopMargin: 38
 
     // WizardView Welcome Page
     property real welcomeLabelPointSize: 30
-    property real welcomeLogoWidth: 330
-    property real welcomeLogoHeight: 110
+    property real welcomeLogoWidth: 75
+    property real welcomeLogoHeight: 70
     property real wizardButtonWidth: 400
 
+    // WizardView Advanced Account Settings
+    property color lightBlue_: "#e5eef5"
+    property color shadowColorBlue: Qt.rgba(0, 0.34,0.6,0.16)
+    property real passwordEditOpenedBoxWidth: 425
+    property real passwordEditClosedBoxWidth: 330
+    property real passwordEditOpenedBoxHeight: 380
+    property real passwordEditClosedBoxHeight: 65
+    property real customNicknameOpenedBoxWidth: 412
+    property real customNicknameClosedBoxWidth: 230
+    property real customNicknameOpenedBoxHeight: 320
+    property real customNicknameClosedBoxHeight: 65
+
+    property real cornerIconSize: 40
+
+
+    //InfoBox
+    property real infoBoxTitleFontSize: calcSize(13)
+    property real infoBoxDescFontSize: calcSize(12)
+
+
     // MaterialLineEdit
     property real materialLineEditPointSize: calcSize(10 + fontSizeOffset)
     property real materialLineEditPadding: 16
diff --git a/src/app/mainview/components/AboutPopUp.qml b/src/app/mainview/components/AboutPopUp.qml
index 09f6dd74c..938de4a13 100644
--- a/src/app/mainview/components/AboutPopUp.qml
+++ b/src/app/mainview/components/AboutPopUp.qml
@@ -31,7 +31,6 @@ import "../../commoncomponents"
 BaseModalDialog {
     id: root
 
-
     popupContentMargins: 14
 
     PushButton {
diff --git a/src/app/mainview/components/ChatView.qml b/src/app/mainview/components/ChatView.qml
index 402f4c11e..2f047242a 100644
--- a/src/app/mainview/components/ChatView.qml
+++ b/src/app/mainview/components/ChatView.qml
@@ -81,7 +81,7 @@ Rectangle {
             Connections {
                 target: CurrentConversation
 
-                onUrisChanged: {
+                function onUrisChanged(uris) {
                     if (CurrentConversation.uris.length >= 8 && addMemberPanel.visible) {
                         swarmDetailsPanel.visible = false
                         addMemberPanel.visible = !addMemberPanel.visible
diff --git a/src/app/mainview/components/NewSwarmPage.qml b/src/app/mainview/components/NewSwarmPage.qml
index cce8ad7a5..50cb0a553 100644
--- a/src/app/mainview/components/NewSwarmPage.qml
+++ b/src/app/mainview/components/NewSwarmPage.qml
@@ -36,7 +36,7 @@ Rectangle {
     signal removeMember(string convId, string member)
 
     onVisibleChanged: {
-        UtilsAdapter.setSwarmCreationImageFromString()
+        UtilsAdapter.setTempCreationImageFromString()
     }
 
     property var members: []
@@ -112,7 +112,7 @@ Rectangle {
             Layout.alignment: Qt.AlignCenter
             darkTheme: UtilsAdapter.luma(root.color)
 
-            newConversation: true
+            newItem: true
             imageId: root.visible ? "temp" : ""
             avatarSize: 180
             buttonSize: JamiTheme.smartListAvatarSize
@@ -122,12 +122,14 @@ Rectangle {
             id: title
             Layout.alignment: Qt.AlignCenter
             Layout.topMargin: JamiTheme.preferredMarginSize
+            Layout.preferredWidth: JamiTheme.preferredFieldWidth
 
             font.pointSize: JamiTheme.titleFontSize
 
-            horizontalAlignment: editable ? Text.AlignLeft : Text.AlignHCenter
             verticalAlignment: Text.AlignVCenter
 
+            fieldLayoutWidth: 10
+
             placeholderText: JamiStrings.swarmName
             tooltipText: JamiStrings.swarmName
             backgroundColor: root.color
@@ -155,10 +157,10 @@ Rectangle {
             id: description
             Layout.alignment: Qt.AlignCenter
             Layout.topMargin: JamiTheme.preferredMarginSize
+            Layout.preferredWidth: JamiTheme.preferredFieldWidth
 
             font.pointSize: JamiTheme.menuFontSize
 
-            horizontalAlignment: editable ? Text.AlignLeft : Text.AlignHCenter
             verticalAlignment: Text.AlignVCenter
 
             placeholderText: JamiStrings.addADescription
@@ -199,7 +201,7 @@ Rectangle {
             text: JamiStrings.createTheSwarm
 
             onClicked: {
-                createSwarmClicked(title.text, description.text, UtilsAdapter.swarmCreationImage())
+                createSwarmClicked(title.text, description.text, UtilsAdapter.tempCreationImage())
             }
         }
     }
diff --git a/src/app/mainview/components/RecordBox.qml b/src/app/mainview/components/RecordBox.qml
index dc96ded91..31d62a136 100644
--- a/src/app/mainview/components/RecordBox.qml
+++ b/src/app/mainview/components/RecordBox.qml
@@ -291,7 +291,7 @@ Popup {
                     border.color: imageColor
 
                     source: JamiResources.fiber_manual_record_24dp_svg
-                    imageColor: UtilsAdapter.luma(JamiTheme.backgroundColor) ? "white" : JamiTheme.buttonTintedBlue
+                    imageColor: UtilsAdapter.luma(JamiTheme.backgroundColor) ? "white" : JamiTheme.redColor
 
                     onClicked: {
                         root.photo = videoProvider.captureVideoFrame(VideoDevices.getDefaultDevice())
diff --git a/src/app/mainview/components/SelectScreen.qml b/src/app/mainview/components/SelectScreen.qml
index be37a98d0..10d876e0c 100644
--- a/src/app/mainview/components/SelectScreen.qml
+++ b/src/app/mainview/components/SelectScreen.qml
@@ -368,7 +368,7 @@ Window {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
 
             text: window ? JamiStrings.shareWindow : JamiStrings.shareScreen
 
@@ -397,7 +397,7 @@ Window {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
 
             text: JamiStrings.optionCancel
 
diff --git a/src/app/mainview/components/SwarmDetailsPanel.qml b/src/app/mainview/components/SwarmDetailsPanel.qml
index 314758ca2..2748a6ee3 100644
--- a/src/app/mainview/components/SwarmDetailsPanel.qml
+++ b/src/app/mainview/components/SwarmDetailsPanel.qml
@@ -53,7 +53,7 @@ Rectangle {
 
                 Layout.alignment: Qt.AlignHCenter
 
-                newConversation: true
+                newItem: true
                 imageId: LRCInstance.selectedConvUid
                 avatarSize: JamiTheme.smartListAvatarSize
             }
@@ -62,12 +62,22 @@ Rectangle {
                 id: titleLine
 
                 Layout.alignment: Qt.AlignHCenter
+                Layout.preferredWidth: JamiTheme.preferredFieldWidth
 
                 font.pointSize: JamiTheme.titleFontSize
 
                 horizontalAlignment: Text.AlignHCenter
                 verticalAlignment: Text.AlignVCenter
 
+                firstIco:  JamiResources.round_edit_24dp_svg
+                secondIco: editable ? JamiResources.close_black_24dp_svg : ""
+
+                fieldLayoutWidth: 15
+                fieldLayoutHeight: 30
+
+                fontSize: 20
+                borderColor: "transparent"
+
                 text: CurrentConversation.title
                 readOnly: !root.isAdmin
                 placeholderText: JamiStrings.swarmName
@@ -89,13 +99,15 @@ Rectangle {
                 tooltipText: JamiStrings.swarmName
                 backgroundColor: root.color
                 color: UtilsAdapter.luma(backgroundColor) ?
-                        JamiTheme.chatviewTextColorLight :
-                        JamiTheme.chatviewTextColorDark
+                           JamiTheme.chatviewTextColorLight :
+                           JamiTheme.chatviewTextColorDark
 
                 onEditingFinished: {
                     if (text !== CurrentConversation.title)
                         ConversationsAdapter.updateConversationTitle(LRCInstance.selectedConvUid, text)
                 }
+                onSecondIcoClicked: {editable = !editable}
+
             }
 
             EditableLineEdit {
@@ -108,6 +120,16 @@ Rectangle {
                 horizontalAlignment: Text.AlignHCenter
                 verticalAlignment: Text.AlignVCenter
 
+                Layout.preferredWidth: JamiTheme.preferredFieldWidth
+                fieldLayoutWidth: 15
+                fieldLayoutHeight: 30
+
+                fontSize: 16
+
+                firstIco:  JamiResources.round_edit_24dp_svg
+                secondIco: editable ? JamiResources.close_black_24dp_svg : ""
+                borderColor: "transparent"
+
                 text: CurrentConversation.description
                 readOnly: !root.isAdmin
                 placeholderText: JamiStrings.addADescription
@@ -129,13 +151,15 @@ Rectangle {
                 tooltipText: JamiStrings.addADescription
                 backgroundColor: root.color
                 color: UtilsAdapter.luma(backgroundColor) ?
-                        JamiTheme.chatviewTextColorLight :
-                        JamiTheme.chatviewTextColorDark
+                           JamiTheme.chatviewTextColorLight :
+                           JamiTheme.chatviewTextColorDark
 
                 onEditingFinished: {
                     if (text !== CurrentConversation.description)
                         ConversationsAdapter.updateConversationDescription(LRCInstance.selectedConvUid, text)
                 }
+
+                onSecondIcoClicked: {editable = !editable}
             }
 
             TabBar {
@@ -157,8 +181,8 @@ Rectangle {
 
                     textColorHovered: UtilsAdapter.luma(root.color) ? JamiTheme.placeholderTextColorWhite : JamiTheme.placeholderTextColor
                     textColor: UtilsAdapter.luma(root.color) ?
-                            JamiTheme.chatviewTextColorLight :
-                            JamiTheme.chatviewTextColorDark
+                                   JamiTheme.chatviewTextColorLight :
+                                   JamiTheme.chatviewTextColorDark
 
                     down: tabBar.currentIndex === 0
                     labelText: JamiStrings.about
@@ -175,8 +199,8 @@ Rectangle {
 
                     textColorHovered: UtilsAdapter.luma(root.color) ? JamiTheme.placeholderTextColorWhite : JamiTheme.placeholderTextColor
                     textColor: UtilsAdapter.luma(root.color) ?
-                            JamiTheme.chatviewTextColorLight :
-                            JamiTheme.chatviewTextColorDark
+                                   JamiTheme.chatviewTextColorLight :
+                                   JamiTheme.chatviewTextColorDark
 
                     down: tabBar.currentIndex === 1
                     labelText: {
diff --git a/src/app/mainview/components/UserProfile.qml b/src/app/mainview/components/UserProfile.qml
index 520816abe..ef3d8f43b 100644
--- a/src/app/mainview/components/UserProfile.qml
+++ b/src/app/mainview/components/UserProfile.qml
@@ -220,7 +220,7 @@ BaseModalDialog {
                 color: JamiTheme.buttonTintedBlack
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
-                outlined: true
+                secondary: true
 
                 text: JamiStrings.close
 
diff --git a/src/app/mainview/components/WelcomePage.qml b/src/app/mainview/components/WelcomePage.qml
index b0e84ada1..06930c06c 100644
--- a/src/app/mainview/components/WelcomePage.qml
+++ b/src/app/mainview/components/WelcomePage.qml
@@ -164,7 +164,7 @@ Rectangle {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
 
             text: JamiStrings.aboutJami
 
diff --git a/src/app/settingsview/components/AdvancedCallSettings.qml b/src/app/settingsview/components/AdvancedCallSettings.qml
index f6337e174..76b56fb79 100644
--- a/src/app/settingsview/components/AdvancedCallSettings.qml
+++ b/src/app/settingsview/components/AdvancedCallSettings.qml
@@ -205,7 +205,7 @@ ColumnLayout {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
             toolTipText: JamiStrings.addDefaultModerator
 
             iconSource: JamiResources.round_add_24dp_svg
diff --git a/src/app/settingsview/components/CurrentAccountSettings.qml b/src/app/settingsview/components/CurrentAccountSettings.qml
index 9c37cecf8..47623dce3 100644
--- a/src/app/settingsview/components/CurrentAccountSettings.qml
+++ b/src/app/settingsview/components/CurrentAccountSettings.qml
@@ -210,7 +210,7 @@ Rectangle {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
 
             toolTipText: AccountAdapter.hasPassword() ?
                              JamiStrings.changeCurrentPassword :
@@ -236,7 +236,7 @@ Rectangle {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
 
             toolTipText: JamiStrings.tipBackupAccount
             text: JamiStrings.backupAccountBtn
diff --git a/src/app/settingsview/components/DeviceItemDelegate.qml b/src/app/settingsview/components/DeviceItemDelegate.qml
index da238e27f..53ed12b89 100644
--- a/src/app/settingsview/components/DeviceItemDelegate.qml
+++ b/src/app/settingsview/components/DeviceItemDelegate.qml
@@ -87,7 +87,7 @@ ItemDelegate {
                 wrapMode: Text.NoWrap
                 readOnly: !editable
                 loseFocusWhenEnterPressed: true
-                backgroundColor: JamiTheme.editBackgroundColor
+                backgroundColor: JamiTheme.transparentColor
 
                 onEditingFinished: {
                     AvAdapter.setDeviceName(editDeviceName.text)
diff --git a/src/app/settingsview/components/JamiUserIdentity.qml b/src/app/settingsview/components/JamiUserIdentity.qml
index af22d5d66..49b718486 100644
--- a/src/app/settingsview/components/JamiUserIdentity.qml
+++ b/src/app/settingsview/components/JamiUserIdentity.qml
@@ -141,7 +141,7 @@ ColumnLayout {
             font.bold: CurrentAccount.registeredName !== ""
             loseFocusWhenEnterPressed: btnRegisterName.visible
 
-            onAccepted: {
+            onEditingFinished: {
                 if (btnRegisterName.visible)
                     btnRegisterName.clicked()
             }
diff --git a/src/app/settingsview/components/LinkDeviceDialog.qml b/src/app/settingsview/components/LinkDeviceDialog.qml
index 4d37762bd..c0b145f6b 100644
--- a/src/app/settingsview/components/LinkDeviceDialog.qml
+++ b/src/app/settingsview/components/LinkDeviceDialog.qml
@@ -169,7 +169,7 @@ BaseModalDialog {
                         color: enabled? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
                         hoveredColor: JamiTheme.buttonTintedBlackHovered
                         pressedColor: JamiTheme.buttonTintedBlackPressed
-                        outlined: true
+                        secondary: true
                         enabled: false
 
                         text: JamiStrings.exportAccount
@@ -188,7 +188,7 @@ BaseModalDialog {
                         color: JamiTheme.buttonTintedBlack
                         hoveredColor: JamiTheme.buttonTintedBlackHovered
                         pressedColor: JamiTheme.buttonTintedBlackPressed
-                        outlined: true
+                        secondary: true
                         enabled: true
 
                         text: JamiStrings.optionCancel
@@ -338,7 +338,7 @@ BaseModalDialog {
                     color: enabled ? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
                     hoveredColor: JamiTheme.buttonTintedBlackHovered
                     pressedColor: JamiTheme.buttonTintedBlackPressed
-                    outlined: true
+                    secondary: true
                     enabled: true
 
                     text: JamiStrings.close
diff --git a/src/app/settingsview/components/LinkedDevices.qml b/src/app/settingsview/components/LinkedDevices.qml
index e3f394420..7f6e962e4 100644
--- a/src/app/settingsview/components/LinkedDevices.qml
+++ b/src/app/settingsview/components/LinkedDevices.qml
@@ -116,7 +116,7 @@ ColumnLayout {
         color: JamiTheme.buttonTintedBlack
         hoveredColor: JamiTheme.buttonTintedBlackHovered
         pressedColor: JamiTheme.buttonTintedBlackPressed
-        outlined: true
+        secondary: true
         toolTipText: JamiStrings.tipLinkNewDevice
 
         iconSource: JamiResources.round_add_24dp_svg
diff --git a/src/app/settingsview/components/LogsView.qml b/src/app/settingsview/components/LogsView.qml
index 3d05f7250..07917ac63 100644
--- a/src/app/settingsview/components/LogsView.qml
+++ b/src/app/settingsview/components/LogsView.qml
@@ -147,7 +147,7 @@ Window {
                     preferredWidth: itemWidth / widthDivisor
                     preferredHeight: JamiTheme.preferredFieldHeight
 
-                    outlined: true
+                    secondary: true
                     color: JamiTheme.buttonTintedBlack
                     hoveredColor: JamiTheme.buttonTintedBlackHovered
                     pressedColor: JamiTheme.buttonTintedBlackPressed
@@ -175,7 +175,7 @@ Window {
                     hoveredColor: JamiTheme.buttonTintedBlackHovered
                     pressedColor: JamiTheme.buttonTintedBlackPressed
 
-                    outlined: true
+                    secondary: true
                     text: JamiStrings.logsViewCopy
 
                     onClicked: {
@@ -214,7 +214,7 @@ Window {
                     hoveredColor: JamiTheme.buttonTintedBlackHovered
                     pressedColor: JamiTheme.buttonTintedBlackPressed
                     text: JamiStrings.logsViewReport
-                    outlined: true
+                    secondary: true
 
                     onClicked: Qt.openUrlExternally(
                                    "https://jami.net/bugs-and-improvements/")
diff --git a/src/app/settingsview/components/NameRegistrationDialog.qml b/src/app/settingsview/components/NameRegistrationDialog.qml
index b0fc07611..eea05665a 100644
--- a/src/app/settingsview/components/NameRegistrationDialog.qml
+++ b/src/app/settingsview/components/NameRegistrationDialog.qml
@@ -157,7 +157,7 @@ BaseModalDialog {
                         color: enabled? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
                         hoveredColor: JamiTheme.buttonTintedBlackHovered
                         pressedColor: JamiTheme.buttonTintedBlackPressed
-                        outlined: true
+                        secondary: true
                         enabled: false
 
                         text: JamiStrings.register
@@ -176,7 +176,7 @@ BaseModalDialog {
                         color: JamiTheme.buttonTintedBlack
                         hoveredColor: JamiTheme.buttonTintedBlackHovered
                         pressedColor: JamiTheme.buttonTintedBlackPressed
-                        outlined: true
+                        secondary: true
 
                         text: JamiStrings.optionCancel
 
@@ -259,7 +259,7 @@ BaseModalDialog {
                     color: JamiTheme.buttonTintedBlack
                     hoveredColor: JamiTheme.buttonTintedBlackHovered
                     pressedColor: JamiTheme.buttonTintedBlackPressed
-                    outlined: true
+                    secondary: true
 
                     text: JamiStrings.close
 
diff --git a/src/app/settingsview/components/PluginListView.qml b/src/app/settingsview/components/PluginListView.qml
index cefbe279c..bd0b9ed5c 100644
--- a/src/app/settingsview/components/PluginListView.qml
+++ b/src/app/settingsview/components/PluginListView.qml
@@ -81,7 +81,7 @@ Rectangle {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
             toolTipText: JamiStrings.addNewPlugin
 
             iconSource: JamiResources.round_add_24dp_svg
diff --git a/src/app/settingsview/components/PluginPreferencesListView.qml b/src/app/settingsview/components/PluginPreferencesListView.qml
index d9ce915c3..52b1ef390 100644
--- a/src/app/settingsview/components/PluginPreferencesListView.qml
+++ b/src/app/settingsview/components/PluginPreferencesListView.qml
@@ -279,7 +279,7 @@ Rectangle {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
 
             iconSource: JamiResources.settings_backup_restore_24dp_svg
 
diff --git a/src/app/settingsview/components/PluginPreferencesView.qml b/src/app/settingsview/components/PluginPreferencesView.qml
index a8cb5a9a7..2b90724c5 100644
--- a/src/app/settingsview/components/PluginPreferencesView.qml
+++ b/src/app/settingsview/components/PluginPreferencesView.qml
@@ -167,7 +167,7 @@ Rectangle {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
             toolTipText: JamiStrings.pluginUninstallConfirmation.arg(pluginName)
             iconSource: JamiResources.delete_24dp_svg
 
diff --git a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
index 2bbf69335..95c575ded 100644
--- a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
+++ b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
@@ -99,7 +99,7 @@ BaseModalDialog {
                 color: enabled? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
-                outlined: true
+                secondary: true
                 enabled: false
 
                 text: JamiStrings.remove
@@ -121,7 +121,7 @@ BaseModalDialog {
                 color: JamiTheme.buttonTintedBlack
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
-                outlined: true
+                secondary: true
                 enabled: true
 
                 text: JamiStrings.optionCancel
diff --git a/src/app/settingsview/components/TroubleshootSettings.qml b/src/app/settingsview/components/TroubleshootSettings.qml
index bb6cd1a7a..6ba920053 100644
--- a/src/app/settingsview/components/TroubleshootSettings.qml
+++ b/src/app/settingsview/components/TroubleshootSettings.qml
@@ -74,7 +74,7 @@ ColumnLayout {
             color: JamiTheme.buttonTintedBlack
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
-            outlined: true
+            secondary: true
 
             text: JamiStrings.troubleshootButton
 
diff --git a/src/app/settingsview/components/UpdateSettings.qml b/src/app/settingsview/components/UpdateSettings.qml
index f56530bc1..7e110a5b0 100644
--- a/src/app/settingsview/components/UpdateSettings.qml
+++ b/src/app/settingsview/components/UpdateSettings.qml
@@ -75,7 +75,7 @@ ColumnLayout {
         color: enabled? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
         hoveredColor: JamiTheme.buttonTintedBlackHovered
         pressedColor: JamiTheme.buttonTintedBlackPressed
-        outlined: true
+        secondary: true
 
         toolTipText: JamiStrings.checkForUpdates
         text: JamiStrings.checkForUpdates
@@ -96,7 +96,7 @@ ColumnLayout {
         color: enabled? JamiTheme.buttonTintedBlack : JamiTheme.buttonTintedGrey
         hoveredColor: JamiTheme.buttonTintedBlackHovered
         pressedColor: JamiTheme.buttonTintedBlackPressed
-        outlined: true
+        secondary: true
 
         toolTipText: JamiStrings.betaInstall
         text: JamiStrings.betaInstall
diff --git a/src/app/utilsadapter.cpp b/src/app/utilsadapter.cpp
index ca30ded4e..fddae40d7 100644
--- a/src/app/utilsadapter.cpp
+++ b/src/app/utilsadapter.cpp
@@ -488,33 +488,35 @@ UtilsAdapter::supportedLang()
 }
 
 QString
-UtilsAdapter::swarmCreationImage(const QString& imageId) const
+UtilsAdapter::tempCreationImage(const QString& imageId) const
 {
     if (imageId == "temp")
         return Utils::QByteArrayFromFile(
             QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + "tmpSwarmImage");
-    return lrcInstance_->getCurrentConversationModel()->avatar(imageId);
+    if (lrcInstance_->getCurrentConversationModel())
+        return lrcInstance_->getCurrentConversationModel()->avatar(imageId);
+    return {};
 }
 
 void
-UtilsAdapter::setSwarmCreationImageFromString(const QString& image, const QString& imageId)
+UtilsAdapter::setTempCreationImageFromString(const QString& image, const QString& imageId)
 {
     // Compress the image before saving
     auto img = Utils::imageFromBase64String(image, false);
-    setSwarmCreationImageFromImage(img, imageId);
+    setTempCreationImageFromImage(img, imageId);
 }
 
 void
-UtilsAdapter::setSwarmCreationImageFromFile(const QString& path, const QString& imageId)
+UtilsAdapter::setTempCreationImageFromFile(const QString& path, const QString& imageId)
 {
     // Compress the image before saving
     auto image = Utils::QByteArrayFromFile(path);
     auto img = Utils::imageFromBase64Data(image, false);
-    setSwarmCreationImageFromImage(img, imageId);
+    setTempCreationImageFromImage(img, imageId);
 }
 
 void
-UtilsAdapter::setSwarmCreationImageFromImage(const QImage& image, const QString& imageId)
+UtilsAdapter::setTempCreationImageFromImage(const QImage& image, const QString& imageId)
 {
     // Compress the image before saving
     QByteArray ba;
diff --git a/src/app/utilsadapter.h b/src/app/utilsadapter.h
index 1fbe37f94..2beb6ca3a 100644
--- a/src/app/utilsadapter.h
+++ b/src/app/utilsadapter.h
@@ -92,13 +92,13 @@ public:
     Q_INVOKABLE void monitor(const bool& continuous);
     Q_INVOKABLE void clearInteractionsCache(const QString& accountId, const QString& convUid);
     Q_INVOKABLE QVariantMap supportedLang();
-    Q_INVOKABLE QString swarmCreationImage(const QString& imageId = "temp") const;
-    Q_INVOKABLE void setSwarmCreationImageFromString(const QString& image = "",
-                                                     const QString& imageId = "temp");
-    Q_INVOKABLE void setSwarmCreationImageFromFile(const QString& path,
-                                                   const QString& imageId = "temp");
-    Q_INVOKABLE void setSwarmCreationImageFromImage(const QImage& image,
+    Q_INVOKABLE QString tempCreationImage(const QString& imageId = "temp") const;
+    Q_INVOKABLE void setTempCreationImageFromString(const QString& image = "",
                                                     const QString& imageId = "temp");
+    Q_INVOKABLE void setTempCreationImageFromFile(const QString& path,
+                                                  const QString& imageId = "temp");
+    Q_INVOKABLE void setTempCreationImageFromImage(const QImage& image,
+                                                   const QString& imageId = "temp");
 
     // For Swarm details page
     Q_INVOKABLE bool getContactPresence(const QString& accountId, const QString& uri);
diff --git a/src/app/wizardview/WizardView.qml b/src/app/wizardview/WizardView.qml
index c052e700d..c1d8fbbf7 100644
--- a/src/app/wizardview/WizardView.qml
+++ b/src/app/wizardview/WizardView.qml
@@ -77,6 +77,7 @@ Rectangle {
             objectName: "controlPanelStackView"
 
             function setPage(obj) {
+                wizardViewScrollView.vScrollBar.position = 0
                 for (var i in this.children) {
                     if (this.children[i] === obj) {
                         currentIndex = i
@@ -95,11 +96,6 @@ Rectangle {
                 objectName: "welcomePage"
 
                 onShowThisPage: controlPanelStackView.setPage(this)
-
-                onScrollToBottom: {
-                    if (welcomePage.preferredHeight > root.height)
-                        wizardViewScrollView.vScrollBar.position = 1
-                }
             }
 
             CreateAccountPage {
diff --git a/src/app/wizardview/components/AdvancedAccountSettings.qml b/src/app/wizardview/components/AdvancedAccountSettings.qml
new file mode 100644
index 000000000..e1f310924
--- /dev/null
+++ b/src/app/wizardview/components/AdvancedAccountSettings.qml
@@ -0,0 +1,550 @@
+/*
+ * Copyright (C) 2022 Savoir-faire Linux Inc.
+ * Author: Fadi Shehadeh <fadi.shehadeh@savoirfairelinux.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
+
+import net.jami.Models 1.1
+import net.jami.Adapters 1.1
+import net.jami.Constants 1.1
+import Qt5Compat.GraphicalEffects
+
+import "../../commoncomponents"
+
+Rectangle {
+
+    id: root
+    signal saveButtonClicked
+
+    property bool openedPassword: false
+    property bool openedNickname: false
+    property string validatedPassword: ""
+    property string alias: ""
+
+    color: JamiTheme.secondaryBackgroundColor
+    opacity: 0.93
+
+    function clear() {
+        openedPassword = false
+        openedNickname = false
+        displayNameLineEdit.text = ""
+        passwordEdit.text = ""
+        passwordConfirmEdit.text = ""
+        UtilsAdapter.setTempCreationImageFromString()
+    }
+
+
+    JamiFlickable {
+        id: scrollView
+
+        MouseArea {
+            anchors.fill: parent
+
+            onClicked: {
+                openedPassword = false
+                openedNickname = false
+            }
+        }
+
+        property ScrollBar vScrollBar: ScrollBar.vertical
+
+        anchors.fill: parent
+
+        contentHeight: settings.implicitHeight + 2 * JamiTheme.preferredMarginSize
+
+        ColumnLayout {
+            id: settings
+            width: Math.min(500, root.width - 2 * JamiTheme.preferredMarginSize)
+            anchors.horizontalCenter: parent.horizontalCenter
+
+            Label {
+                Layout.alignment: Qt.AlignTop | Qt.AlignHCenter
+                Layout.margins: 50
+                text: JamiStrings.advancedAccountSettings
+                color: JamiTheme.textColor
+                font.pixelSize: 22
+            }
+
+            ColumnLayout {
+                spacing: 30
+                Layout.preferredWidth: parent.width
+                Layout.preferredHeight: implicitHeight
+                Layout.alignment: Qt.AlignCenter
+
+                Item {
+
+                    Layout.alignment: Qt.AlignTop
+
+                    Layout.preferredWidth: {
+                        if (root.openedPassword)
+                            return Math.min(settings.width, JamiTheme.passwordEditOpenedBoxWidth)
+                        if (root.openedNickname)
+                            return Math.min(settings.width, cornerIcon1.width)
+                        return Math.min(settings.width, JamiTheme.passwordEditClosedBoxWidth)
+                    }
+
+                    Layout.preferredHeight: {
+                        if (root.openedPassword)
+                            return passwordColumnLayout.implicitHeight
+                        return Math.max(cornerIcon1.height, labelEncrypt.height)
+                    }
+
+
+                    Behavior on Layout.preferredWidth {
+                        NumberAnimation { duration: 100 }
+                    }
+                    Behavior on Layout.preferredHeight {
+                        NumberAnimation { duration: 100 }
+                    }
+
+                    DropShadow {
+                        z: -1
+                        anchors.fill: parent
+                        horizontalOffset: 3.0
+                        verticalOffset: 3.0
+                        radius: 16
+                        source: bg
+                        color: Qt.rgba(0, 0.34,0.6,0.16)
+                    }
+
+                    Rectangle {
+                        id: bg
+                        radius: JamiTheme.formsRadius
+                        border.color: JamiTheme.lightBlue_
+                        layer.enabled: true
+                        color: JamiTheme.secondaryBackgroundColor
+                        anchors.fill: parent
+
+                        Rectangle {
+
+                            layer.enabled: true
+                            height: parent.height /2
+                            width: parent.width /2
+                            anchors.bottom: parent.bottom
+                            anchors.left: parent.left
+                            border.color: JamiTheme.lightBlue_
+                            color: JamiTheme.secondaryBackgroundColor
+
+                            Rectangle {
+
+                                height:  parent.height +1
+                                width: parent.width +1
+                                anchors.bottom: parent.bottom
+                                anchors.left: parent.left
+                                anchors.margins: 1
+                                border.color: JamiTheme.secondaryBackgroundColor
+                                color: JamiTheme.secondaryBackgroundColor
+
+                            }
+                        }
+
+                        ColumnLayout {
+                            id: passwordColumnLayout
+                            anchors.fill: parent
+
+                            Text {
+                                visible: openedPassword
+                                elide: Text.ElideRight
+
+                                text: JamiStrings.encryptAccount
+                                font.pixelSize: JamiTheme.creditsTextSize
+                                Layout.fillWidth: true
+                                Layout.leftMargin: 35
+                                Layout.topMargin: 25
+                                color: JamiTheme.textColor
+
+                            }
+
+                            Text {
+
+                                visible: openedPassword
+                                Layout.topMargin: 12
+                                Layout.leftMargin: 35
+
+                                Layout.preferredWidth: 360
+                                Layout.alignment: Qt.AlignLeft
+                                color: JamiTheme.textColor
+                                wrapMode: Text.WordWrap
+
+                                text: JamiStrings.encryptDescription
+                                font.pixelSize: JamiTheme.headerFontSize
+                            }
+
+                            EditableLineEdit {
+
+                                id: passwordEdit
+
+                                visible: openedPassword
+                                Layout.alignment: Qt.AlignCenter
+                                Layout.preferredWidth: 325
+
+
+                                echoMode: TextInput.Password
+
+                                placeholderText: JamiStrings.password
+                                secondIco: JamiResources.eye_cross_svg
+                                onSecondIcoClicked: { toggleEchoMode() }
+                            }
+
+                            EditableLineEdit {
+
+                                id: passwordConfirmEdit
+                                visible: openedPassword
+
+                                Layout.alignment: Qt.AlignCenter
+                                Layout.preferredWidth: 325
+
+
+                                echoMode: TextInput.Password
+
+                                placeholderText: JamiStrings.confirmPassword
+                                secondIco: JamiResources.eye_cross_svg
+                                onSecondIcoClicked: { toggleEchoMode() }
+
+                            }
+
+                            MaterialButton {
+
+                                visible: openedPassword
+
+                                Layout.topMargin: 10
+                                Layout.alignment: Qt.AlignCenter
+                                preferredWidth: JamiTheme.wizardButtonWidth / 2
+                                text: JamiStrings.setPassword
+                                primary: true
+
+                                hoveredColor: checkEnable() ? JamiTheme.buttonTintedBlueHovered : JamiTheme.buttonTintedGreyInactive
+                                pressedColor: checkEnable() ? JamiTheme.buttonTintedBluePressed : JamiTheme.buttonTintedGreyInactive
+
+                                color: checkEnable() ? JamiTheme.buttonTintedBlue :
+                                                    JamiTheme.buttonTintedGreyInactive
+
+                                enabled: checkEnable()
+
+                                function checkEnable() {
+                                    text = JamiStrings.setPassword
+                                    return (passwordEdit.text === passwordConfirmEdit.text
+                                            && passwordEdit.text.length !== 0)
+                                }
+
+                                onClicked: {
+                                    root.validatedPassword = passwordConfirmEdit.text
+                                    text = JamiStrings.setPasswordSuccess
+                                }
+
+                            }
+
+                            Text {
+
+                                visible: openedPassword
+
+                                Layout.topMargin: 15
+                                Layout.leftMargin: 35
+
+                                Layout.preferredWidth: 360
+                                Layout.alignment: Qt.AlignCenter
+                                color: JamiTheme.textColor
+                                wrapMode: Text.WordWrap
+
+                                text: JamiStrings.encryptWarning
+                                font.pixelSize: JamiTheme.headerFontSize
+                            }
+
+                            RowLayout {
+
+                                Layout.alignment: Qt.AlignLeft
+                                Layout.preferredWidth: parent.width
+
+                                Rectangle {
+
+                                    id: cornerIcon1
+                                    layer.enabled: true
+
+                                    radius: JamiTheme.formsRadius
+                                    height: JamiTheme.cornerIconSize
+                                    width: JamiTheme.cornerIconSize
+
+                                    color: openedPassword  ? JamiTheme.lightBlue_ : JamiTheme.transparentColor
+                                    Layout.alignment: Qt.AlignBottom | Qt.AlignLeft
+                                    Layout.leftMargin:  openedPassword ? 2 : openedNickname ? 0 : 20
+                                    Layout.bottomMargin: openedPassword ? 1 : 0
+
+                                    Rectangle {
+
+                                        visible: openedPassword
+
+                                        height: cornerIcon1.height/2
+                                        width: cornerIcon1.width/2
+                                        anchors.left: cornerIcon1.left
+                                        anchors.bottom: cornerIcon1.bottom
+                                        color: JamiTheme.lightBlue_
+
+                                    }
+
+                                    ResponsiveImage  {
+
+                                        width: 18
+                                        height: 18
+                                        source: JamiResources.lock_svg
+                                        color: JamiTheme.tintedBlue
+                                        anchors.centerIn: cornerIcon1
+                                    }
+                                }
+
+                                Text {
+                                    id: labelEncrypt
+                                    visible: !openedPassword && !openedNickname
+                                    Layout.fillWidth: true
+
+                                    text: JamiStrings.encryptAccount
+                                    elide: Text.ElideRight
+                                    color: JamiTheme.textColor
+                                    font.pixelSize: JamiTheme.creditsTextSize
+
+                                }
+                            }
+                        }
+
+                        TapHandler {
+                            target: passwordColumnLayout
+                            onTapped: {
+                                openedNickname = false
+                                openedPassword = true
+                            }
+                        }
+                    }
+                }
+
+
+                Item {
+                    Layout.alignment: Qt.AlignRight | Qt.AlignTop
+
+                    Behavior on Layout.preferredWidth {
+                        NumberAnimation { duration: 100 }
+                    }
+
+                    Behavior on Layout.preferredHeight {
+                        NumberAnimation { duration: 100 }
+                    }
+
+                    Layout.preferredWidth: {
+                        if (openedNickname)
+                            return Math.min(settings.width, JamiTheme.customNicknameOpenedBoxWidth)
+                        if (openedPassword)
+                            return Math.min(settings.width, cornerIcon1.width)
+                        return Math.min(settings.width, JamiTheme.customNicknameClosedBoxWidth)
+                    }
+
+                    Layout.preferredHeight: {
+                        if (openedNickname)
+                            return customColumnLayout.implicitHeight
+                        return Math.max(cornerIcon2.height, labelCustomize.height)
+                    }
+
+                    DropShadow {
+                        z: -1
+                        anchors.fill: parent
+                        horizontalOffset: 3.0
+                        verticalOffset: 3.0
+                        radius: 16
+                        source: bg2
+                        color: Qt.rgba(0, 0.34,0.6,0.16)
+                    }
+
+                    Rectangle {
+                        id: bg2
+
+                        radius: JamiTheme.formsRadius
+                        border.color: JamiTheme.lightBlue_
+                        layer.enabled: true
+                        color: JamiTheme.secondaryBackgroundColor
+                        anchors.fill: parent
+
+                        Rectangle {
+
+                            height: parent.height /2
+                            width: parent.width /2
+                            anchors.bottom: parent.bottom
+                            anchors.right: parent.right
+                            border.color: JamiTheme.lightBlue_
+                            color: JamiTheme.secondaryBackgroundColor
+                            layer.enabled: true
+
+                            Rectangle {
+
+                                height: parent.height +1
+                                width: parent.width +1
+                                opacity: 1
+                                anchors.bottom: parent.bottom
+                                anchors.right: parent.right
+                                anchors.margins: 1
+                                border.color: JamiTheme.secondaryBackgroundColor
+                                color: JamiTheme.secondaryBackgroundColor
+
+                            }
+
+                        }
+
+                        ColumnLayout {
+
+                            id: customColumnLayout
+                            anchors.fill: parent
+
+                            Text {
+
+                                visible: openedNickname
+                                text: JamiStrings.customizeProfile
+                                elide: Text.ElideRight
+                                Layout.topMargin: 25
+                                Layout.leftMargin: 35
+                                font.pixelSize: JamiTheme.creditsTextSize
+                                color: JamiTheme.textColor
+                                Layout.fillWidth: true
+                            }
+
+                            PhotoboothView {
+
+                                id: currentAccountAvatar
+                                darkTheme: UtilsAdapter.luma(JamiTheme.primaryBackgroundColor)
+                                visible: openedNickname
+
+                                Layout.alignment: Qt.AlignCenter
+                                Layout.topMargin: 10
+
+                                newItem: true
+                                imageId: visible? "temp" : ""
+                                avatarSize: 80
+                                buttonSize: JamiTheme.smartListAvatarSize
+
+                            }
+
+                            EditableLineEdit {
+
+                                id: displayNameLineEdit
+
+                                visible: openedNickname
+
+                                Layout.alignment: Qt.AlignCenter
+                                Layout.preferredWidth: 280
+
+                                placeholderText: JamiStrings.enterNickname
+
+                                onEditingFinished: root.alias = text
+
+                            }
+
+                            Text {
+
+                                visible: openedNickname
+
+                                Layout.topMargin: 20
+
+                                Layout.preferredWidth: 360
+                                Layout.alignment: Qt.AlignCenter
+                                wrapMode: Text.WordWrap
+                                color: JamiTheme.textColor
+
+                                text: JamiStrings.customizeProfileDescription
+                                font.pixelSize: JamiTheme.headerFontSize
+                            }
+
+                            RowLayout{
+
+                                Layout.alignment: openedNickname ? Qt.AlignRight : Qt.AlignLeft
+                                Layout.fillWidth: true
+
+                                Rectangle {
+
+                                    id: cornerIcon2
+                                    layer.enabled: true
+
+                                    radius: JamiTheme.formsRadius
+                                    height: JamiTheme.cornerIconSize
+                                    width: JamiTheme.cornerIconSize
+
+                                    color: openedNickname  ? JamiTheme.lightBlue_ : JamiTheme.transparentColor
+                                    Layout.alignment: Qt.AlignBottom | Qt.AlignRight
+                                    Layout.leftMargin: openedPassword ? 0 : 20
+                                    Layout.rightMargin:  openedNickname? 2 : 0
+                                    Layout.bottomMargin: openedNickname ? 2 : 0
+
+                                    Rectangle {
+                                        visible: openedNickname
+
+                                        height: cornerIcon2.height/2
+                                        width: cornerIcon2.width/2
+                                        anchors.right: cornerIcon2.right
+                                        anchors.bottom: cornerIcon2.bottom
+                                        color: JamiTheme.lightBlue_
+                                    }
+
+                                    ResponsiveImage  {
+
+                                        width: 18
+                                        height: 18
+                                        source: JamiResources.noun_paint_svg
+                                        color: JamiTheme.tintedBlue
+                                        anchors.centerIn: cornerIcon2
+                                    }
+                                }
+
+                                Text {
+                                    id: labelCustomize
+                                    visible: !openedNickname && !openedPassword
+
+                                    color: JamiTheme.textColor
+                                    text: JamiStrings.customizeProfile
+                                    font.pixelSize: JamiTheme.creditsTextSize
+                                    Layout.fillWidth: true
+                                    elide: Text.ElideRight
+
+                                }
+                            }
+                        }
+
+                        TapHandler {
+                            target: customColumnLayout
+                            onTapped: {
+                                openedNickname = true
+                                openedPassword = false
+                            }
+                        }
+                    }
+                }
+
+                MaterialButton {
+                    id: showAdvancedButton
+
+                    tertiary: true
+                    secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
+
+                    Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom
+                    Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins
+
+                    preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
+                    text: JamiStrings.optionSave
+
+                    onClicked: root.saveButtonClicked()
+                }
+            }
+
+        }
+    }
+
+}
diff --git a/src/app/wizardview/components/BackupKeyPage.qml b/src/app/wizardview/components/BackupKeyPage.qml
index 08e1d498c..7eb3344ad 100644
--- a/src/app/wizardview/components/BackupKeyPage.qml
+++ b/src/app/wizardview/components/BackupKeyPage.qml
@@ -223,7 +223,7 @@ Rectangle {
             color: JamiTheme.buttonTintedGrey
             hoveredColor: JamiTheme.buttonTintedGreyHovered
             pressedColor: JamiTheme.buttonTintedGreyPressed
-            outlined: true
+            secondary: true
 
             KeyNavigation.tab: neverShowMeAgainSwitch
             KeyNavigation.up: backupBtn
diff --git a/src/app/wizardview/components/ConnectToAccountManagerPage.qml b/src/app/wizardview/components/ConnectToAccountManagerPage.qml
index c2a5e64de..2e70c0020 100644
--- a/src/app/wizardview/components/ConnectToAccountManagerPage.qml
+++ b/src/app/wizardview/components/ConnectToAccountManagerPage.qml
@@ -29,7 +29,7 @@ import "../../commoncomponents"
 Rectangle {
     id: root
 
-    property int preferredHeight: connectToAccountManagerPageColumnLayout.implicitHeight
+    property int preferredHeight: connectToAccountManagerPageColumnLayout.implicitHeight + 2 * JamiTheme.preferredMarginSize
     property string errorText: ""
 
     signal showThisPage
@@ -60,7 +60,7 @@ Rectangle {
         }
     }
 
-    color: JamiTheme.backgroundColor
+    color: JamiTheme.secondaryBackgroundColor
 
     ColumnLayout {
         id: connectToAccountManagerPageColumnLayout
@@ -68,55 +68,62 @@ Rectangle {
         spacing: JamiTheme.wizardViewPageLayoutSpacing
 
         anchors.horizontalCenter: parent.horizontalCenter
-        anchors.verticalCenter: parent.verticalCenter
+        anchors.top: parent.top
+        anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin
+
+        width: Math.max(508, root.width - 100)
 
-        RowLayout {
-            spacing: JamiTheme.wizardViewPageLayoutSpacing
+        Text {
 
+            text: JamiStrings.connectJAMSServer
             Layout.alignment: Qt.AlignCenter
-            Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
-            Layout.preferredWidth: implicitWidth
+            Layout.topMargin: 15
+            Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2)
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            color: JamiTheme.textColor
 
-            Label {
-                text: JamiStrings.enterJAMSURL
-                color: JamiTheme.textColor
-                font.pointSize: JamiTheme.textFontSize + 3
-            }
+            font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize
+            wrapMode : Text.WordWrap
 
-            BubbleLabel {
-                Layout.alignment: Qt.AlignRight
+        }
 
-                text: JamiStrings.required
-                textColor: JamiTheme.requiredFieldColor
-                bubbleColor: JamiTheme.requiredFieldBackgroundColor
-            }
+        Text {
+
+            text: JamiStrings.enterJAMSURL
+            Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 30
+            Layout.preferredWidth: Math.min(400, root.width - JamiTheme.preferredMarginSize * 2)
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            color: JamiTheme.textColor
+
+            font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
+            wrapMode : Text.WordWrap
         }
 
-        MaterialLineEdit {
+        EditableLineEdit {
             id: accountManagerEdit
 
             objectName: "accountManagerEdit"
 
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: connectBtn.width
             Layout.alignment: Qt.AlignCenter
+            Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
 
+            fontSize: 15
+            Layout.topMargin: 5
             focus: visible
 
+            secondIco: JamiResources.outline_info_24dp_svg
+
             selectByMouse: true
-            placeholderText: JamiStrings.jamiManagementServerURL
+            placeholderText: JamiStrings.jamiManagementServerURL  //problem with resize
             font.pointSize: JamiTheme.textFontSize
             font.kerning: true
 
             KeyNavigation.tab: usernameManagerEdit
-            KeyNavigation.up: {
-                if (backButton.visible)
-                    return backButton
-                else if (connectBtn.enabled)
-                    return connectBtn
-                return passwordManagerEdit
-            }
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.up: backButton
+            KeyNavigation.down: usernameManagerEdit
 
             onTextChanged: errorText = ""
             onAccepted: usernameManagerEdit.forceActiveFocus()
@@ -125,10 +132,16 @@ Rectangle {
         Label {
             id: credentialsLabel
 
+            text: JamiStrings.jamsCredentials
+
             Layout.alignment: Qt.AlignCenter
-            Layout.preferredWidth: connectBtn.width
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2)
+            Layout.topMargin: 35
+            font.weight: Font.Medium
+            font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
 
-            text: JamiStrings.jamsCredentials
             color: JamiTheme.textColor
             wrapMode: Text.Wrap
 
@@ -137,14 +150,18 @@ Rectangle {
                                credentialsLabel.font, credentialsLabel.text).height
         }
 
-        MaterialLineEdit {
+        EditableLineEdit {
+
             id: usernameManagerEdit
 
             objectName: "usernameManagerEdit"
 
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: connectBtn.width
             Layout.alignment: Qt.AlignCenter
+            Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
+
+            fontSize: 15
+
+            secondIco: JamiResources.outline_info_24dp_svg
 
             selectByMouse: true
             placeholderText: JamiStrings.username
@@ -153,43 +170,41 @@ Rectangle {
 
             KeyNavigation.tab: passwordManagerEdit
             KeyNavigation.up: accountManagerEdit
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.down: passwordManagerEdit
 
             onTextChanged: errorText = ""
-            onAccepted: passwordManagerEdit.forceActiveFocus()
+
         }
 
-        MaterialLineEdit {
+        EditableLineEdit {
+
             id: passwordManagerEdit
 
             objectName: "passwordManagerEdit"
 
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: connectBtn.width
             Layout.alignment: Qt.AlignCenter
+            Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
 
             selectByMouse: true
             placeholderText: JamiStrings.password
             font.pointSize: JamiTheme.textFontSize
             font.kerning: true
+            Layout.topMargin: 10
+
+            secondIco: JamiResources.eye_cross_svg
+            thirdIco: JamiResources.outline_info_24dp_svg
+
+            fontSize: 15
 
             echoMode: TextInput.Password
 
-            KeyNavigation.tab: {
-                if (connectBtn.enabled)
-                    return connectBtn
-                else if (backButton.visible)
-                    return backButton
-                return accountManagerEdit
-            }
+            KeyNavigation.tab: connectBtn.enabled ? connectBtn : backButton
             KeyNavigation.up: usernameManagerEdit
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.down: connectBtn.enabled ? connectBtn : backButton
 
             onTextChanged: errorText = ""
-            onAccepted: {
-                if (connectBtn.enabled)
-                    connectBtn.clicked()
-            }
+            onSecondIcoClicked: { toggleEchoMode() }
+
         }
 
         SpinnerButton {
@@ -198,9 +213,10 @@ Rectangle {
             objectName: "connectToAccountManagerPageConnectBtn"
 
             Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 40
             Layout.bottomMargin: errorLabel.visible ? 0 : JamiTheme.wizardViewPageBackButtonMargins
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
             spinnerTriggeredtext: JamiStrings.creatingAccount
             normalText: JamiStrings.connect
@@ -210,13 +226,11 @@ Rectangle {
                      && passwordManagerEdit.text.length !== 0
                      && !spinnerTriggered
 
-            KeyNavigation.tab: {
-                if (backButton.visible)
-                    return backButton
-                return accountManagerEdit
-            }
+            color: JamiTheme.tintedBlue
+
+            KeyNavigation.tab: backButton
             KeyNavigation.up: passwordManagerEdit
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.down: backButton
 
             onClicked: {
                 if (connectBtn.focus)
@@ -226,8 +240,8 @@ Rectangle {
                 WizardViewStepModel.accountCreationInfo =
                         JamiQmlUtils.setUpAccountCreationInputPara(
                             {username : usernameManagerEdit.text,
-                             password : passwordManagerEdit.text,
-                             manager : accountManagerEdit.text})
+                                password : passwordManagerEdit.text,
+                                manager : accountManagerEdit.text})
                 WizardViewStepModel.nextStep()
             }
         }
diff --git a/src/app/wizardview/components/CreateAccountPage.qml b/src/app/wizardview/components/CreateAccountPage.qml
index 701cf2e6b..e49fc9cc0 100644
--- a/src/app/wizardview/components/CreateAccountPage.qml
+++ b/src/app/wizardview/components/CreateAccountPage.qml
@@ -21,9 +21,10 @@ import QtQuick
 import QtQuick.Layouts
 import QtQuick.Controls
 
-import net.jami.Models 1.1
 import net.jami.Adapters 1.1
 import net.jami.Constants 1.1
+import net.jami.Models 1.1
+import Qt5Compat.GraphicalEffects
 
 import "../"
 import "../../commoncomponents"
@@ -33,11 +34,8 @@ Rectangle {
     id: root
 
     property bool isRendezVous: false
-    property int preferredHeight: {
-        if (createAccountStack.currentIndex === 0)
-            return usernameColumnLayout.implicitHeight
-        return passwordColumnLayout.implicitHeight
-    }
+    property bool helpOpened: false
+    property int preferredHeight: createAccountStack.implicitHeight
 
     signal showThisPage
 
@@ -45,16 +43,15 @@ Rectangle {
         isRendezVous = isRdv
         createAccountStack.currentIndex = 0
         clearAllTextFields()
-        passwordSwitch.checked = false
     }
 
     function clearAllTextFields() {
+        chooseUsernameButton.enabled = true
         usernameEdit.clear()
-        passwordEdit.clear()
-        passwordConfirmEdit.clear()
+        advancedAccountSettingsPage.clear()
     }
 
-    color: JamiTheme.backgroundColor
+    color: JamiTheme.secondaryBackgroundColor
 
     Connections {
         target: WizardViewStepModel
@@ -66,8 +63,6 @@ Rectangle {
                 initializeOnShowUp(WizardViewStepModel.accountCreationOption ===
                                    WizardViewStepModel.AccountCreationOption.CreateRendezVous)
                 root.showThisPage()
-            } else if (currentMainStep === WizardViewStepModel.MainSteps.SetPassword) {
-                createAccountStack.currentIndex = passwordSetupPage.stackIndex
             }
         }
     }
@@ -76,7 +71,6 @@ Rectangle {
         id: createAccountStack
 
         objectName: "createAccountStack"
-
         anchors.fill: parent
 
         Rectangle {
@@ -84,38 +78,52 @@ Rectangle {
 
             objectName: "nameRegistrationPage"
 
+            Layout.fillHeight: true
+            Layout.fillWidth: true
+
             property int stackIndex: 0
 
-            color: JamiTheme.backgroundColor
+            color: JamiTheme.secondaryBackgroundColor
 
             ColumnLayout {
                 id: usernameColumnLayout
 
                 spacing: JamiTheme.wizardViewPageLayoutSpacing
 
-                anchors.centerIn: parent
+                anchors.horizontalCenter: parent.horizontalCenter
+                anchors.top: parent.top
+                anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin
 
-                width: root.width
+                width: Math.max(508, root.width - 100)
 
-                RowLayout {
-                    spacing: JamiTheme.wizardViewPageLayoutSpacing
+                Text {
+                    id: joinJami
 
+                    text: JamiStrings.joinJami
                     Layout.alignment: Qt.AlignCenter
-                    Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
-                    Layout.preferredWidth: usernameEdit.width
-
-                    Label {
-                        text: isRendezVous ? JamiStrings.chooseUsernameForRV :
-                                             JamiStrings.chooseUsernameForAccount
-                        color: JamiTheme.textColor
-                        font.pointSize: JamiTheme.textFontSize + 3
-                    }
+                    Layout.topMargin: 15
+                    Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2)
+                    horizontalAlignment: Text.AlignHCenter
+                    verticalAlignment: Text.AlignVCenter
 
-                    BubbleLabel {
-                        Layout.alignment: Qt.AlignRight
+                    color: JamiTheme.textColor
+                    font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize
+                    wrapMode : Text.WordWrap
+                }
 
-                        text: JamiStrings.recommended
-                    }
+                Text {
+
+                    text: isRendezVous ? JamiStrings.chooseUsernameForRV :
+                                         JamiStrings.chooseUsernameForAccount
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.topMargin: 15
+                    Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2)
+                    horizontalAlignment: Text.AlignHCenter
+                    verticalAlignment: Text.AlignVCenter
+                    color: JamiTheme.textColor
+
+                    font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
+                    wrapMode:Text.WordWrap
                 }
 
                 UsernameLineEdit {
@@ -124,19 +132,15 @@ Rectangle {
                     objectName: "usernameEdit"
 
                     Layout.topMargin: 15
-                    Layout.preferredHeight: fieldLayoutHeight
-                    Layout.preferredWidth:  chooseUsernameButton.width
                     Layout.alignment: Qt.AlignHCenter
+                    Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
 
                     focus: visible
+                    fontSize: 18
 
-                    KeyNavigation.tab: chooseUsernameButton.enabled ? chooseUsernameButton :
-                                                                      skipButton
+                    KeyNavigation.tab: chooseUsernameButton
                     KeyNavigation.up: backButton
-                    KeyNavigation.down: KeyNavigation.tab
-
-                    placeholderText: isRendezVous ? JamiStrings.chooseAName :
-                                                    JamiStrings.chooseYourUserName
+                    KeyNavigation.down: chooseUsernameButton
 
                     onAccepted: {
                         if (chooseUsernameButton.enabled)
@@ -149,14 +153,16 @@ Rectangle {
                 Label {
                     Layout.alignment: Qt.AlignHCenter
 
-                    visible: text.length !==0
+                    visible: text.length !==0 || usernameEdit.selected
 
                     text: {
                         switch(usernameEdit.nameRegistrationState){
                         case UsernameLineEdit.NameRegistrationState.BLANK:
+                            return " "
                         case UsernameLineEdit.NameRegistrationState.SEARCHING:
+                            return " "
                         case UsernameLineEdit.NameRegistrationState.FREE:
-                            return ""
+                            return " "
                         case UsernameLineEdit.NameRegistrationState.INVALID:
                             return isRendezVous ? JamiStrings.invalidName :
                                                   JamiStrings.invalidUsername
@@ -175,262 +181,248 @@ Rectangle {
                     objectName: "chooseUsernameButton"
 
                     Layout.alignment: Qt.AlignCenter
+                    primary: true
 
-                    preferredWidth: JamiTheme.wizardButtonWidth
+                    preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
                     font.capitalization: Font.AllUppercase
-                    text: isRendezVous ? JamiStrings.chooseName : JamiStrings.chooseUsername
+                    color: enabled? JamiTheme.buttonTintedBlue : JamiTheme.buttonTintedGrey
+                    text: !enabled ? JamiStrings.creatingAccount :
+                                isRendezVous ? JamiStrings.chooseName : JamiStrings.joinJami
                     enabled: usernameEdit.nameRegistrationState === UsernameLineEdit.NameRegistrationState.FREE
-                    color: usernameEdit.nameRegistrationState === UsernameLineEdit.NameRegistrationState.FREE ?
-                               JamiTheme.wizardBlueButtons :
-                               JamiTheme.buttonTintedGreyInactive
-                    hoveredColor: JamiTheme.buttonTintedBlueHovered
-                    pressedColor: JamiTheme.buttonTintedBluePressed
+                            || usernameEdit.nameRegistrationState === UsernameLineEdit.NameRegistrationState.BLANK
 
-                    KeyNavigation.tab: skipButton
+
+                    KeyNavigation.tab: showAdvancedButton
                     KeyNavigation.up: usernameEdit
-                    KeyNavigation.down: KeyNavigation.tab
+                    KeyNavigation.down: showAdvancedButton
+
+                    onClicked: {
+                        WizardViewStepModel.accountCreationInfo =
+                                JamiQmlUtils.setUpAccountCreationInputPara(
+                                    {registeredName : usernameEdit.text,
+                                        alias: advancedAccountSettingsPage.alias,
+                                        password: advancedAccountSettingsPage.validatedPassword,
+                                        avatar: UtilsAdapter.tempCreationImage()})
+                        if (usernameEdit.nameRegistrationState === UsernameLineEdit.NameRegistrationState.FREE) {
+                            enabled = false
+                            WizardViewStepModel.nextStep()
+                        }
+
+                        if(usernameEdit.nameRegistrationState === UsernameLineEdit.NameRegistrationState.BLANK)
+                            popup.visible = true
 
-                    onClicked: WizardViewStepModel.nextStep()
+                    }
                 }
 
                 MaterialButton {
-                    id: skipButton
+                    id: showAdvancedButton
 
-                    objectName: "nameRegistrationPageSkipButton"
+                    objectName: "showAdvancedButton"
+                    tertiary: true
+                    secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
 
                     Layout.alignment: Qt.AlignCenter
+                    preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
-                    preferredWidth: JamiTheme.wizardButtonWidth
-
-                    text: JamiStrings.skip
-                    color: JamiTheme.buttonTintedGrey
-                    hoveredColor: JamiTheme.buttonTintedGreyHovered
-                    pressedColor: JamiTheme.buttonTintedGreyPressed
-                    outlined: true
+                    text: JamiStrings.advancedAccountSettings
+                    toolTipText: JamiStrings.showAdvancedFeatures
 
                     KeyNavigation.tab: backButton
-                    KeyNavigation.up: chooseUsernameButton.enabled ? chooseUsernameButton :
-                                                                     usernameEdit
-                    KeyNavigation.down: KeyNavigation.tab
+                    KeyNavigation.up: chooseUsernameButton
+                    KeyNavigation.down: backButton
 
-                    onClicked: {
-                        usernameEdit.clear()
-                        WizardViewStepModel.nextStep()
-                    }
+                    onClicked: createAccountStack.currentIndex++
                 }
 
-                AccountCreationStepIndicator {
-                    Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
-                    Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins
-                    Layout.alignment: Qt.AlignHCenter
+                NoUsernamePopup {
+                    id: popup
 
-                    spacing: JamiTheme.wizardViewPageLayoutSpacing
-                    steps: 2
-                    currentStep: 1
+                    visible: false
+
+                    onJoinClicked:
+                        chooseUsernameButton.enabled = false
                 }
             }
         }
 
-        Rectangle {
-            id: passwordSetupPage
+        AdvancedAccountSettings {
+            id: advancedAccountSettingsPage
 
-            objectName: "passwordSetupPage"
+            objectName: "advancedAccountSettingsPage"
+
+            Layout.fillHeight: true
+            Layout.fillWidth: true
 
             property int stackIndex: 1
 
-            focus: visible
+            onSaveButtonClicked: createAccountStack.currentIndex--
+        }
+    }
 
-            color: JamiTheme.backgroundColor
+    BackButton {
+        id: backButton
 
-            KeyNavigation.tab: passwordSwitch
-            KeyNavigation.up: passwordSwitch
-            KeyNavigation.down: passwordSwitch
+        objectName: "createAccountPageBackButton"
 
-            ColumnLayout {
-                id: passwordColumnLayout
+        preferredSize: JamiTheme.wizardViewPageBackButtonSize
 
-                spacing: JamiTheme.wizardViewPageLayoutSpacing
+        anchors.left: parent.left
+        anchors.top: parent.top
+        anchors.margins: JamiTheme.wizardViewPageBackButtonMargins
 
-                anchors.centerIn: parent
-                width: root.width
+        KeyNavigation.tab: usernameEdit
+        KeyNavigation.up: advancedAccountSettingsPage
 
-                RowLayout {
-                    spacing: JamiTheme.wizardViewPageLayoutSpacing
+        KeyNavigation.down: usernameEdit
 
-                    Layout.alignment: Qt.AlignCenter
-                    Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
-                    Layout.preferredWidth: usernameEdit.width
-
-                    Label {
-                        Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
-                        text: JamiStrings.createPassword
-                        color: JamiTheme.textColor
-                        font.pointSize: JamiTheme.textFontSize + 3
-                    }
+        onClicked: {
+            if (createAccountStack.currentIndex > 0) {
+                createAccountStack.currentIndex--
+            } else {
+                WizardViewStepModel.previousStep()
+                goodToKnow.visible = false
+                helpOpened = false
+            }
+        }
+    }
 
-                    JamiSwitch {
-                        id: passwordSwitch
+    PushButton {
 
-                        objectName: "passwordSwitch"
+        id: infoBox
+        z:1
 
-                        Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
-                        Layout.leftMargin: -JamiTheme.wizardViewPageLayoutSpacing
-                        Layout.topMargin: 5
+        preferredSize: JamiTheme.wizardViewPageBackButtonSize
 
-                        KeyNavigation.tab: checked ? passwordEdit : createAccountButton
-                        KeyNavigation.up: backButton
-                        KeyNavigation.down: KeyNavigation.tab
-                    }
+        anchors.right: parent.right
+        anchors.top: parent.top
+        anchors.margins: JamiTheme.wizardViewPageBackButtonMargins
 
-                    BubbleLabel {
-                        Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
+        normalColor: JamiTheme.backgroundColor
+        imageColor: JamiTheme.primaryForegroundColor
 
-                        text: JamiStrings.optional
-                        bubbleColor: JamiTheme.wizardBlueButtons
-                    }
-                }
+        source: JamiResources.outline_info_24dp_svg
 
-                MaterialLineEdit {
-                    id: passwordEdit
+        onHoveredChanged: {
 
-                    objectName: "passwordEdit"
+            goodToKnow.visible = !goodToKnow.visible
+            helpOpened = !helpOpened
 
-                    Layout.preferredHeight: fieldLayoutHeight
-                    Layout.preferredWidth: createAccountButton.width
-                    Layout.alignment: Qt.AlignHCenter
+            advancedAccountSettingsPage.openedPassword = false
+            advancedAccountSettingsPage.openedNickname = false
 
-                    focus: visible
-                    visible: passwordSwitch.checked
+        }
+    }
 
-                    selectByMouse: true
-                    echoMode: TextInput.Password
-                    placeholderText: JamiStrings.password
-                    font.pointSize: JamiTheme.textFontSize
-                    font.kerning: true
+    Item {
+        id: goodToKnow
+        anchors.top: parent.top
+        anchors.right: parent.right
 
-                    KeyNavigation.tab: passwordConfirmEdit
-                    KeyNavigation.up: passwordSwitch
-                    KeyNavigation.down: KeyNavigation.tab
+        anchors.margins: JamiTheme.wizardViewPageBackButtonMargins + infoBox.preferredSize*2/5
 
-                    onAccepted: passwordConfirmEdit.forceActiveFocus()
-                }
+        width: helpOpened ? Math.min(root.width - 2 * JamiTheme.preferredMarginSize, 452) : 0
+        height: {
+            if (!helpOpened)
+                return 0
+            var finalHeight = title.height + 3 * JamiTheme.preferredMarginSize
+            finalHeight += flow.implicitHeight
+            return finalHeight
+        }
 
-                MaterialLineEdit {
-                    id: passwordConfirmEdit
+        visible: false
 
-                    objectName: "passwordConfirmEdit"
+        Behavior on width {
+            NumberAnimation { duration: JamiTheme.shortFadeDuration }
+        }
 
-                    Layout.preferredHeight: fieldLayoutHeight
-                    Layout.preferredWidth: createAccountButton.width
-                    Layout.alignment: Qt.AlignHCenter
+        Behavior on height {
+            NumberAnimation { duration: JamiTheme.shortFadeDuration}
+        }
 
-                    visible: passwordSwitch.checked
+        DropShadow {
+            z: -1
+            anchors.fill: boxInfo
+            horizontalOffset: 3.0
+            verticalOffset: 3.0
+            radius: boxInfo.radius * 4
+            color: JamiTheme.shadowColor
+            source: boxInfo
+            transparentBorder: true
+        }
 
-                    selectByMouse: true
-                    echoMode: TextInput.Password
-                    placeholderText: JamiStrings.confirmPassword
-                    font.pointSize: JamiTheme.textFontSize
-                    font.kerning: true
+        Rectangle {
 
-                    KeyNavigation.tab: createAccountButton.enabled ? createAccountButton :
-                                                                     backButton
-                    KeyNavigation.up: passwordEdit
-                    KeyNavigation.down: KeyNavigation.tab
+            id: boxInfo
 
-                    onAccepted: {
-                        if (createAccountButton.enabled)
-                            createAccountButton.clicked()
-                    }
-                }
+            z: 0
+            anchors.fill: parent
+            radius: 30
+            color: JamiTheme.secondaryBackgroundColor
 
-                Label {
-                    Layout.alignment: Qt.AlignLeft
-                    Layout.preferredWidth: createAccountButton.width - 10
-                    Layout.leftMargin: (root.width - createAccountButton.width) / 2
+            ColumnLayout {
 
-                    text: JamiStrings.notePasswordRecovery
-                    color: JamiTheme.textColor
-                    wrapMode: Text.WordWrap
-                    font.pointSize: JamiTheme.textFontSize
-                }
+                id: infoContainer
 
-                MaterialButton {
-                    id: createAccountButton
+                anchors.horizontalCenter: parent.horizontalCenter
+                anchors.verticalCenter: parent.verticalCenter
+                anchors.top: parent.top
+                visible: helpOpened ? 1 : 0
 
-                    objectName: "createAccountButton"
+                Behavior on visible {
+                    NumberAnimation {
+                        from: 0
+                        duration: JamiTheme.overlayFadeDuration
+                    }
+                }
 
-                    Layout.alignment: Qt.AlignCenter
 
-                    preferredWidth: JamiTheme.wizardButtonWidth
+                Text {
+                    id: title
+                    text: JamiStrings.goodToKnow
+                    color: JamiTheme.textColor
 
-                    function checkEnable() {
-                        return !passwordSwitch.checked ||
-                                (passwordEdit.text === passwordConfirmEdit.text
-                                 && passwordEdit.text.length !== 0)
-                    }
+                    Layout.topMargin: 15
+                    Layout.alignment: Qt.AlignCenter | Qt.AlignTop
 
-                    font.capitalization: Font.AllUppercase
-                    text: isRendezVous ? JamiStrings.createNewRV : JamiStrings.createAccount
-                    enabled: checkEnable()
-                    color: checkEnable() ? JamiTheme.wizardBlueButtons :
-                                           JamiTheme.buttonTintedGreyInactive
-                    hoveredColor: JamiTheme.buttonTintedBlueHovered
-                    pressedColor: JamiTheme.buttonTintedBluePressed
+                    font.pixelSize: JamiTheme.title2FontSize
+                    font.kerning: true
+                }
 
-                    KeyNavigation.tab: backButton
-                    KeyNavigation.up: passwordSwitch.checked ? passwordConfirmEdit : passwordSwitch
-                    KeyNavigation.down: KeyNavigation.tab
+                Flow {
+                    id: flow
+                    spacing: 25
+                    Layout.alignment: Qt.AlignTop
+                    Layout.leftMargin: JamiTheme.preferredMarginSize * 2
+                    Layout.preferredWidth: helpOpened ? Math.min(root.width - 2 * JamiTheme.preferredMarginSize, 452) : 0
+                    Layout.fillWidth: true
+
+                    InfoBox {
+                        id: info
+                        icoSource: JamiResources.laptop_black_24dp_svg
+                        title: JamiStrings.local
+                        description: JamiStrings.localAccount
+                    }
 
-                    onClicked: {
-                        WizardViewStepModel.accountCreationInfo =
-                                JamiQmlUtils.setUpAccountCreationInputPara(
-                                    {isRendezVous : WizardViewStepModel.accountCreationOption ===
-                                                    WizardViewStepModel.AccountCreationOption.CreateRendezVous,
-                                     password : passwordEdit.text,
-                                     registeredName : usernameEdit.text})
-                        WizardViewStepModel.nextStep()
+                    InfoBox {
+                        icoSource: JamiResources.person_24dp_svg
+                        title: JamiStrings.username
+                        description: JamiStrings.usernameRecommened
                     }
-                }
 
-                AccountCreationStepIndicator {
-                    Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
-                    Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins
-                    Layout.alignment: Qt.AlignHCenter
+                    InfoBox {
+                        icoSource: JamiResources.lock_svg
+                        title: JamiStrings.encrypt
+                        description: JamiStrings.passwordOptional
+                    }
 
-                    spacing: JamiTheme.wizardViewPageLayoutSpacing
-                    steps: 2
-                    currentStep: 2
+                    InfoBox {
+                        icoSource: JamiResources.noun_paint_svg
+                        title: JamiStrings.customize
+                        description: JamiStrings.customizeOptional
+                    }
                 }
             }
         }
     }
-
-    BackButton {
-        id: backButton
-
-        objectName: "createAccountPageBackButton"
-
-        anchors.left: parent.left
-        anchors.top: parent.top
-        anchors.margins: JamiTheme.wizardViewPageBackButtonMargins
-
-        preferredSize: JamiTheme.wizardViewPageBackButtonSize
-
-        KeyNavigation.tab: {
-            if (createAccountStack.currentIndex === nameRegistrationPage.stackIndex)
-                return usernameEdit
-            else
-                return passwordSwitch
-        }
-        KeyNavigation.up: {
-            if (createAccountStack.currentIndex === nameRegistrationPage.stackIndex)
-                return skipButton
-            else
-                return createAccountButton.enabled ? createAccountButton : passwordConfirmEdit
-        }
-        KeyNavigation.down: KeyNavigation.tab
-
-        onClicked: WizardViewStepModel.previousStep()
-    }
 }
diff --git a/src/app/wizardview/components/CreateSIPAccountPage.qml b/src/app/wizardview/components/CreateSIPAccountPage.qml
index 159e0b6b0..317b21fa2 100644
--- a/src/app/wizardview/components/CreateSIPAccountPage.qml
+++ b/src/app/wizardview/components/CreateSIPAccountPage.qml
@@ -21,15 +21,16 @@ import QtQuick
 import QtQuick.Layouts
 import QtQuick.Controls
 
-import net.jami.Models 1.1
+import net.jami.Adapters 1.1
 import net.jami.Constants 1.1
+import net.jami.Models 1.1
 
 import "../../commoncomponents"
 
 Rectangle {
     id: root
 
-    property int preferredHeight: createSIPAccountPageColumnLayout.implicitHeight
+    property int preferredHeight: createSIPAccountPageColumnLayout.implicitHeight + 2 * JamiTheme.preferredMarginSize
 
     signal showThisPage
 
@@ -38,6 +39,8 @@ Rectangle {
         sipPasswordEdit.clear()
         sipServernameEdit.clear()
         sipProxyEdit.clear()
+        displayNameLineEdit.clear()
+        UtilsAdapter.setTempCreationImageFromString()
     }
 
     Connections {
@@ -53,152 +56,268 @@ Rectangle {
         }
     }
 
-    color: JamiTheme.backgroundColor
+    color: JamiTheme.secondaryBackgroundColor
 
-    ColumnLayout {
-        id: createSIPAccountPageColumnLayout
+    StackLayout {
+        id: createAccountStack
 
-        spacing: JamiTheme.wizardViewPageLayoutSpacing
+        objectName: "createAccountStack"
+        anchors.fill: parent
 
-        anchors.centerIn: parent
+        Rectangle {
 
-        RowLayout {
-            spacing: JamiTheme.wizardViewPageLayoutSpacing
+            Layout.fillHeight: true
+            Layout.fillWidth: true
+            color: JamiTheme.secondaryBackgroundColor
 
-            Layout.alignment: Qt.AlignCenter
-            Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
-            Layout.preferredWidth: createAccountButton.width
+            ColumnLayout {
+                id: createSIPAccountPageColumnLayout
 
-            Label {
-                text: JamiStrings.configureExistingSIP
-                color: JamiTheme.textColor
-                font.pointSize: JamiTheme.textFontSize + 3
-            }
 
-            BubbleLabel {
-                Layout.alignment: Qt.AlignRight
+                spacing: JamiTheme.wizardViewPageLayoutSpacing
 
-                text: JamiStrings.optional
-                bubbleColor: JamiTheme.wizardBlueButtons
-            }
-        }
+                anchors.horizontalCenter: parent.horizontalCenter
+                anchors.top: parent.top
+                anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin
 
-        MaterialLineEdit {
-            id: sipServernameEdit
+                width: Math.max(508, root.width - 100)
 
-            objectName: "sipServernameEdit"
+                Label {
 
-            Layout.alignment: Qt.AlignCenter
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: createAccountButton.width
+                    text: JamiStrings.sipAccount
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2)
+                    Layout.topMargin: 15
+                    font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize
+                    horizontalAlignment: Text.AlignHCenter
+                    verticalAlignment: Text.AlignVCenter
+                    color: JamiTheme.textColor
+                }
 
-            focus: visible
+                Label {
+                    text: JamiStrings.configureExistingSIP
+                    Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2)
+                    Layout.topMargin: 15
+                    Layout.alignment: Qt.AlignCenter
+                    font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
+                    wrapMode: Text.WordWrap
+                    horizontalAlignment: Text.AlignHCenter
+                    verticalAlignment: Text.AlignVCenter
+                    color: JamiTheme.textColor
+                }
 
-            selectByMouse: true
-            placeholderText: JamiStrings.server
-            font.pointSize: JamiTheme.textFontSize
-            font.kerning: true
+                EditableLineEdit {
+                    id: sipServernameEdit
 
-            KeyNavigation.tab: sipProxyEdit
-            KeyNavigation.up: backButton
-            KeyNavigation.down: KeyNavigation.tab
+                    objectName: "sipServernameEdit"
 
-            onAccepted: sipProxyEdit.forceActiveFocus()
-        }
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
 
-        MaterialLineEdit {
-            id: sipProxyEdit
+                    focus: visible
+                    selectByMouse: true
+                    placeholderText: JamiStrings.server
+                    font.pointSize: JamiTheme.textFontSize
+                    font.kerning: true
 
-            objectName: "sipProxyEdit"
+                    KeyNavigation.tab: sipProxyEdit
+                    KeyNavigation.up: backButton
+                    KeyNavigation.down: sipProxyEdit
 
-            Layout.alignment: Qt.AlignCenter
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: createAccountButton.width
+                    onEditingFinished: sipProxyEdit.forceActiveFocus()
+                }
 
-            selectByMouse: true
-            placeholderText: JamiStrings.proxy
-            font.pointSize: JamiTheme.textFontSize
-            font.kerning: true
+                EditableLineEdit {
+                    id: sipProxyEdit
 
-            KeyNavigation.tab: sipUsernameEdit
-            KeyNavigation.up: sipServernameEdit
-            KeyNavigation.down: KeyNavigation.tab
+                    objectName: "sipProxyEdit"
 
-            onAccepted: sipUsernameEdit.forceActiveFocus()
-        }
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
 
-        MaterialLineEdit {
-            id: sipUsernameEdit
+                    focus: visible
+                    selectByMouse: true
+                    placeholderText: JamiStrings.proxy
+                    font.pointSize: JamiTheme.textFontSize
+                    font.kerning: true
 
-            objectName: "sipUsernameEdit"
+                    KeyNavigation.tab: sipUsernameEdit
+                    KeyNavigation.up: sipServernameEdit
+                    KeyNavigation.down: sipUsernameEdit
 
-            Layout.alignment: Qt.AlignCenter
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: createAccountButton.width
+                    onEditingFinished: sipUsernameEdit.forceActiveFocus()
+                }
 
-            selectByMouse: true
-            placeholderText: JamiStrings.username
-            font.pointSize: JamiTheme.textFontSize
-            font.kerning: true
+                EditableLineEdit {
+                    id: sipUsernameEdit
 
-            KeyNavigation.tab: sipPasswordEdit
-            KeyNavigation.up: sipProxyEdit
-            KeyNavigation.down: KeyNavigation.tab
+                    objectName: "sipUsernameEdit"
 
-            onAccepted: sipPasswordEdit.forceActiveFocus()
-        }
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
+
+                    selectByMouse: true
+                    placeholderText: JamiStrings.username
+                    font.pointSize: JamiTheme.textFontSize
+                    font.kerning: true
+
+                    KeyNavigation.tab: sipPasswordEdit
+                    KeyNavigation.up: sipProxyEdit
+                    KeyNavigation.down: sipPasswordEdit
+
+                    onEditingFinished: sipPasswordEdit.forceActiveFocus()
+                }
+
+                EditableLineEdit {
+                    id: sipPasswordEdit
+
+                    objectName: "sipPasswordEdit"
+
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
+
+                    selectByMouse: true
+                    echoMode: TextInput.Password
+
+                    placeholderText: JamiStrings.password
+                    font.pointSize: JamiTheme.textFontSize
+                    font.kerning: true
+
+                    KeyNavigation.tab: createAccountButton
+                    KeyNavigation.up: sipUsernameEdit
+                    KeyNavigation.down: createAccountButton
+
+                    secondIco: JamiResources.eye_cross_svg
+
+
+                    onEditingFinished: createAccountButton.forceActiveFocus()
+
+                    onSecondIcoClicked: { toggleEchoMode() }
+                }
+
+                MaterialButton {
+                    id: createAccountButton
+
+                    objectName: "createSIPAccountButton"
 
-        MaterialLineEdit {
-            id: sipPasswordEdit
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins
 
-            objectName: "sipPasswordEdit"
+                    preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
-            Layout.alignment: Qt.AlignCenter
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: createAccountButton.width
+                    text: JamiStrings.addSip
 
-            selectByMouse: true
-            echoMode: TextInput.Password
-            placeholderText: JamiStrings.password
-            font.pointSize: JamiTheme.textFontSize
-            font.kerning: true
+                    KeyNavigation.tab: personalizeAccount
+                    KeyNavigation.up: sipPasswordEdit
+                    KeyNavigation.down: personalizeAccount
 
-            KeyNavigation.tab: createAccountButton
-            KeyNavigation.up: sipUsernameEdit
-            KeyNavigation.down: KeyNavigation.tab
+                    onClicked: {
+                        WizardViewStepModel.accountCreationInfo =
+                                JamiQmlUtils.setUpAccountCreationInputPara(
+                                    {hostname : sipServernameEdit.text,
+                                        alias: displayNameLineEdit.text,
+                                        username : sipUsernameEdit.text,
+                                        password : sipPasswordEdit.text,
+                                        proxy : sipProxyEdit.text,
+                                        avatar: UtilsAdapter.tempCreationImage()})
+                        WizardViewStepModel.nextStep()
+                    }
+                }
 
-            onAccepted: createAccountButton.clicked()
+                MaterialButton {
+
+                    id: personalizeAccount
+                    text: JamiStrings.personalizeAccount
+                    tertiary: true
+                    secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
+                    preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
+
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins*2
+
+                    KeyNavigation.tab: backButton
+                    KeyNavigation.up: createAccountButton
+                    KeyNavigation.down: backButton
+
+                    onClicked: createAccountStack.currentIndex += 1
+                }
+            }
         }
 
-        MaterialButton {
-            id: createAccountButton
+        Rectangle {
+
+            Layout.fillHeight: true
+            Layout.fillWidth: true
+            color: JamiTheme.secondaryBackgroundColor
+
+            ColumnLayout {
+                spacing: JamiTheme.wizardViewPageLayoutSpacing
+
+                anchors.horizontalCenter: parent.horizontalCenter
+                anchors.top: parent.top
+                anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin
+
+                width: Math.max(508, root.width - 100)
+
+                Label {
+
+                    text: JamiStrings.personalizeAccount
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2)
+                    Layout.topMargin: 15
+                    font.pixelSize: 26
+                    horizontalAlignment: Text.AlignHCenter
+                    verticalAlignment: Text.AlignVCenter
+                    color: JamiTheme.textColor
+                }
+
+                PhotoboothView {
+                    id: currentAccountAvatar
+                    darkTheme: UtilsAdapter.luma(JamiTheme.primaryBackgroundColor)
 
-            objectName: "createSIPAccountButton"
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.topMargin: 50
 
-            Layout.alignment: Qt.AlignCenter
-            Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins
+                    newItem: true
+                    imageId: visible ? "temp" : ""
+                    avatarSize: 150
+                    buttonSize: JamiTheme.smartListAvatarSize
+                }
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+                EditableLineEdit {
 
-            text: JamiStrings.createSIPAccount
-            color: JamiTheme.wizardBlueButtons
-            hoveredColor: JamiTheme.buttonTintedBlueHovered
-            pressedColor: JamiTheme.buttonTintedBluePressed
+                    id: displayNameLineEdit
 
-            KeyNavigation.tab: backButton
-            KeyNavigation.up: sipPasswordEdit
-            KeyNavigation.down: KeyNavigation.tab
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(300, root.width - JamiTheme.preferredMarginSize * 2)
+                    Layout.topMargin: 30
+                    verticalAlignment: Text.AlignVCenter
+
+                    font.pointSize: JamiTheme.textFontSize
+
+                    placeholderText: JamiStrings.enterNickname
+
+                    color: JamiTheme.textColor
+                }
+
+                Text {
+
+                    Layout.topMargin: 15
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.preferredWidth: Math.min(320, root.width - JamiTheme.preferredMarginSize * 2)
+                    horizontalAlignment: Text.AlignHCenter
+                    verticalAlignment: Text.AlignVCenter
+                    wrapMode: Text.WordWrap
+
+                    text: JamiStrings.customizeProfileDescription
+                    font.pixelSize: JamiTheme.headerFontSize
+                    color: JamiTheme.textColor
+                }
 
-            onClicked: {
-                WizardViewStepModel.accountCreationInfo =
-                        JamiQmlUtils.setUpAccountCreationInputPara(
-                            {hostname : sipServernameEdit.text,
-                             username : sipUsernameEdit.text,
-                             password : sipPasswordEdit.text,
-                             proxy : sipProxyEdit.text})
-                WizardViewStepModel.nextStep()
             }
         }
+
+
     }
 
     BackButton {
@@ -213,9 +332,15 @@ Rectangle {
         preferredSize: JamiTheme.wizardViewPageBackButtonSize
 
         KeyNavigation.tab: sipServernameEdit
-        KeyNavigation.up: createAccountButton
-        KeyNavigation.down: KeyNavigation.tab
-
-        onClicked: WizardViewStepModel.previousStep()
+        KeyNavigation.up: personalizeAccount
+        KeyNavigation.down: sipServernameEdit
+
+        onClicked: {
+            if (createAccountStack.currentIndex !== 0) {
+                createAccountStack.currentIndex--
+            } else {
+                WizardViewStepModel.previousStep()
+            }
+        }
     }
 }
diff --git a/src/app/wizardview/components/ImportFromBackupPage.qml b/src/app/wizardview/components/ImportFromBackupPage.qml
index 189f72091..a59ff73e8 100644
--- a/src/app/wizardview/components/ImportFromBackupPage.qml
+++ b/src/app/wizardview/components/ImportFromBackupPage.qml
@@ -31,7 +31,7 @@ import "../../commoncomponents"
 Rectangle {
     id: root
 
-    property int preferredHeight: importFromBackupPageColumnLayout.implicitHeight
+    property int preferredHeight: importFromBackupPageColumnLayout.implicitHeight + 2 * JamiTheme.preferredMarginSize
 
     property string fileImportBtnText: JamiStrings.archive
     property string filePath: ""
@@ -44,7 +44,7 @@ Rectangle {
         passwordFromBackupEdit.clear()
         filePath = ""
         errorText = ""
-        fileImportBtnText = JamiStrings.archive
+        fileImportBtnText = JamiStrings.selectArchiveFile
     }
 
     function errorOccured(errorMessage) {
@@ -65,7 +65,7 @@ Rectangle {
         }
     }
 
-    color: JamiTheme.backgroundColor
+    color: JamiTheme.secondaryBackgroundColor
 
     JamiFileDialog {
         id: importFromFileDialog
@@ -102,42 +102,58 @@ Rectangle {
         spacing: JamiTheme.wizardViewPageLayoutSpacing
 
         anchors.horizontalCenter: parent.horizontalCenter
-        anchors.verticalCenter: parent.verticalCenter
+        anchors.top: parent.top
+        anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin
+
+        width: Math.max(508, root.width - 100)
 
         Text {
+
+            text: JamiStrings.importFromArchiveBackup
             Layout.alignment: Qt.AlignCenter
-            Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
+            Layout.topMargin: 15
+            Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2)
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+
+            color: JamiTheme.textColor
+            font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize
+            wrapMode : Text.WordWrap
+        }
+
+        Text {
 
-            text: JamiStrings.importFromBackup
+            text: JamiStrings.importFromArchiveBackupDescription
+            Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 15
+            Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2)
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
             color: JamiTheme.textColor
-            font.pointSize: JamiTheme.menuFontSize
+
+            font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
+            wrapMode : Text.WordWrap
         }
 
         MaterialButton {
             id: fileImportBtn
 
             objectName: "fileImportBtn"
+            secondary: true
+            color: JamiTheme.secAndTertiTextColor
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
 
             Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 35
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
             text: fileImportBtnText
             toolTipText: JamiStrings.importAccountArchive
-            iconSource: JamiResources.round_folder_24dp_svg
-            color: JamiTheme.buttonTintedGrey
-            hoveredColor: JamiTheme.buttonTintedGreyHovered
-            pressedColor: JamiTheme.buttonTintedGreyPressed
 
             KeyNavigation.tab: passwordFromBackupEdit
-            KeyNavigation.up: {
-                if (backButton.visible)
-                    return backButton
-                else if (connectBtn.enabled)
-                    return connectBtn
-                return passwordFromBackupEdit
-            }
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.up: backButton
+            KeyNavigation.down: passwordFromBackupEdit
 
             onClicked: {
                 errorText = ""
@@ -145,34 +161,14 @@ Rectangle {
             }
         }
 
-        Text {
-            // For multiline text, recursive rearrange warning will show up when
-            // directly assigning contentHeight to Layout.preferredHeight
-            property int preferredHeight: JamiTheme.wizardViewPageLayoutSpacing
-
-            Layout.alignment: Qt.AlignCenter
-            Layout.preferredWidth: fileImportBtn.width
-            Layout.preferredHeight: preferredHeight
-
-            text: JamiStrings.importAccountExplanation
-            color: JamiTheme.textColor
-            wrapMode: Text.Wrap
-
-            onTextChanged: function (text) {
-                var boundingRect = JamiQmlUtils.getTextBoundingRect(font, text)
-                preferredHeight += (boundingRect.width / fileImportBtn.preferredWidth)
-                        * boundingRect.height
-            }
-        }
-
-        MaterialLineEdit {
+        EditableLineEdit {
             id: passwordFromBackupEdit
 
             objectName: "passwordFromBackupEdit"
 
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: connectBtn.width
             Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 20
+            Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
 
             focus: visible
 
@@ -181,23 +177,18 @@ Rectangle {
             font.pointSize: JamiTheme.textFontSize
             font.kerning: true
 
+            secondIco: JamiResources.eye_cross_svg
+
             echoMode: TextInput.Password
 
-            KeyNavigation.tab: {
-                if (connectBtn.enabled)
-                    return connectBtn
-                else if (backButton.visible)
-                    return backButton
-                return fileImportBtn
-            }
+            KeyNavigation.tab: connectBtn.enabled ? connectBtn : backButton
             KeyNavigation.up: fileImportBtn
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.down: connectBtn.enabled ? connectBtn : backButton
 
             onTextChanged: errorText = ""
-            onAccepted: {
-                if (connectBtn.enabled)
-                    connectBtn.clicked()
-            }
+
+            onSecondIcoClicked: { toggleEchoMode() }
+
         }
 
         SpinnerButton {
@@ -207,12 +198,15 @@ Rectangle {
 
             Layout.alignment: Qt.AlignCenter
             Layout.bottomMargin: errorLabel.visible ? 0 : JamiTheme.wizardViewPageBackButtonMargins
+            Layout.topMargin: 30
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
             spinnerTriggeredtext: JamiStrings.generatingAccount
             normalText: JamiStrings.connectFromBackup
 
+            color: JamiTheme.tintedBlue
+
             enabled: {
                 if (spinnerTriggered)
                     return false
@@ -221,13 +215,9 @@ Rectangle {
                 return false
             }
 
-            KeyNavigation.tab: {
-                if (backButton.visible)
-                    return backButton
-                return fileImportBtn
-            }
+            KeyNavigation.tab: backButton
             KeyNavigation.up: passwordFromBackupEdit
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.down: backButton
 
             onClicked: {
                 if (connectBtn.focus)
@@ -237,7 +227,7 @@ Rectangle {
                 WizardViewStepModel.accountCreationInfo =
                         JamiQmlUtils.setUpAccountCreationInputPara(
                             {archivePath : UtilsAdapter.getAbsPath(filePath),
-                             password : passwordFromBackupEdit.text})
+                                password : passwordFromBackupEdit.text})
                 WizardViewStepModel.nextStep()
             }
         }
@@ -277,7 +267,7 @@ Rectangle {
                 return connectBtn
             return passwordFromBackupEdit
         }
-        KeyNavigation.down: KeyNavigation.tab
+        KeyNavigation.down: fileImportBtn
 
         onClicked: WizardViewStepModel.previousStep()
     }
diff --git a/src/app/wizardview/components/ImportFromDevicePage.qml b/src/app/wizardview/components/ImportFromDevicePage.qml
index 6feb505d3..72e82b9f2 100644
--- a/src/app/wizardview/components/ImportFromDevicePage.qml
+++ b/src/app/wizardview/components/ImportFromDevicePage.qml
@@ -30,7 +30,7 @@ Rectangle {
     id: root
 
     property string errorText: ""
-    property int preferredHeight: importFromDevicePageColumnLayout.implicitHeight
+    property int preferredHeight: importFromDevicePageColumnLayout.implicitHeight + 2 * JamiTheme.preferredMarginSize
 
     signal showThisPage
 
@@ -62,81 +62,92 @@ Rectangle {
         }
     }
 
-    color: JamiTheme.backgroundColor
+    color: JamiTheme.secondaryBackgroundColor
 
     ColumnLayout {
         id: importFromDevicePageColumnLayout
 
+
         spacing: JamiTheme.wizardViewPageLayoutSpacing
 
-        // Prevent possible anchor loop detected on centerIn.
         anchors.horizontalCenter: parent.horizontalCenter
-        anchors.verticalCenter: parent.verticalCenter
+        anchors.top: parent.top
+        anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin
+
+        width: Math.max(508, root.width - 100)
 
         Text {
-            Layout.alignment: Qt.AlignCenter
-            Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
 
-            text: JamiStrings.mainAccountPassword
+            text: JamiStrings.importAccountFromAnotherDevice
+            Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 15
+            Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2)
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
             color: JamiTheme.textColor
-            font.pointSize: JamiTheme.menuFontSize
-        }
 
-        MaterialLineEdit {
-            id: passwordFromDevice
+            font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize
+            wrapMode : Text.WordWrap
+        }
 
-            objectName: "passwordFromDevice"
+        Text {
 
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: connectBtn.width
+            text: JamiStrings.importFromDeviceDescription
+            Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2)
+            Layout.topMargin: 15
             Layout.alignment: Qt.AlignCenter
-
-            selectByMouse: true
-            placeholderText: JamiStrings.password
-            font.pointSize: JamiTheme.textFontSize
-            font.kerning: true
-
-            echoMode: TextInput.Password
-
-            KeyNavigation.tab: pinFromDevice
-            KeyNavigation.up: {
-                if (backButton.visible)
-                    return backButton
-                return pinFromDevice
-            }
-            KeyNavigation.down: KeyNavigation.tab
-
-            onTextChanged: errorText = ""
-            onAccepted: pinFromDevice.forceActiveFocus()
+            font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
+            color: JamiTheme.textColor
+            wrapMode: Text.WordWrap
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
         }
 
-        Text {
-            property int preferredHeight: JamiTheme.wizardViewPageLayoutSpacing
-
+        Flow {
+            spacing: 30
+            Layout.alignment: Qt.AlignHCenter
+            Layout.topMargin: 40
+            Layout.preferredWidth: Math.min(step1.width * 2 + 2 * spacing, root.width - JamiTheme.preferredMarginSize * 2)
+
+            InfoBox {
+                id: step1
+                icoSource: JamiResources.settings_24dp_svg
+                title: JamiStrings.importStep1
+                description: JamiStrings.importStep1Desc
+            }
 
-            Layout.alignment: Qt.AlignCenter
-            Layout.preferredWidth: connectBtn.width
-            Layout.preferredHeight: preferredHeight
+            InfoBox {
+                id: step2
+                icoSource: JamiResources.person_24dp_svg
+                title: JamiStrings.importStep2
+                description: JamiStrings.importStep2Desc
+            }
 
-            text: JamiStrings.enterPIN
-            color: JamiTheme.textColor
-            wrapMode: Text.Wrap
+            InfoBox {
+                id: step3
+                icoSource: JamiResources.finger_select_svg
+                title: JamiStrings.importStep3
+                description: JamiStrings.importStep3Desc
+            }
 
-            onTextChanged: function (text) {
-                var boundingRect = JamiQmlUtils.getTextBoundingRect(font, text)
-                preferredHeight += (boundingRect.width / connectBtn.preferredWidth)
-                        * boundingRect.height
+            InfoBox {
+                id: step4
+                icoSource: JamiResources.time_clock_svg
+                title: JamiStrings.importStep4
+                description: JamiStrings.importStep4Desc
             }
+
         }
 
-        MaterialLineEdit {
+        EditableLineEdit {
             id: pinFromDevice
 
+
             objectName: "pinFromDevice"
 
-            Layout.preferredHeight: fieldLayoutHeight
-            Layout.preferredWidth: connectBtn.width
             Layout.alignment: Qt.AlignCenter
+            Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
+            Layout.topMargin: 22
 
             focus: visible
 
@@ -156,21 +167,47 @@ Rectangle {
             KeyNavigation.down: KeyNavigation.tab
 
             onTextChanged: errorText = ""
-            onAccepted: {
-                if (connectBtn.enabled)
-                    connectBtn.clicked()
-            }
+
+        }
+
+        EditableLineEdit {
+            id: passwordFromDevice
+
+            objectName: "passwordFromDevice"
+            underlined: true
+            Layout.alignment: Qt.AlignCenter
+            Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
+
+            secondIco: JamiResources.eye_cross_svg
+
+            selectByMouse: true
+            placeholderText: JamiStrings.password
+            font.pointSize: JamiTheme.textFontSize
+            font.kerning: true
+
+            echoMode: TextInput.Password
+
+            KeyNavigation.tab: connectBtn.enabled ? connectBtn : backButton
+            KeyNavigation.up: pinFromDevice
+            KeyNavigation.down: connectBtn.enabled ? connectBtn : backButton
+
+            onTextChanged: errorText = ""
+            onEditingFinished: pinFromDevice.forceActiveFocus()
+
+            onSecondIcoClicked: { toggleEchoMode() }
         }
 
         SpinnerButton {
             id: connectBtn
+            color: JamiTheme.tintedBlue
 
             objectName: "importFromDevicePageConnectBtn"
 
             Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 22
             Layout.bottomMargin: errorLabel.visible ? 0 : JamiTheme.wizardViewPageBackButtonMargins
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
             spinnerTriggeredtext: JamiStrings.generatingAccount
             normalText: JamiStrings.connectFromAnotherDevice
@@ -178,8 +215,8 @@ Rectangle {
             enabled: pinFromDevice.text.length !== 0 && !spinnerTriggered
 
             KeyNavigation.tab: backButton
-            KeyNavigation.up: pinFromDevice
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.up: passwordFromDevice
+            KeyNavigation.down: backButton
 
             onClicked: {
                 spinnerTriggered = true
@@ -187,7 +224,7 @@ Rectangle {
                 WizardViewStepModel.accountCreationInfo =
                         JamiQmlUtils.setUpAccountCreationInputPara(
                             {archivePin : pinFromDevice.text,
-                             password : passwordFromDevice.text})
+                                password : passwordFromDevice.text})
                 WizardViewStepModel.nextStep()
             }
         }
@@ -214,13 +251,13 @@ Rectangle {
 
         anchors.left: parent.left
         anchors.top: parent.top
-        anchors.margins: 20
+        anchors.margins: 10
 
         visible: !connectBtn.spinnerTriggered
 
-        KeyNavigation.tab: passwordFromDevice
-        KeyNavigation.up: connectBtn
-        KeyNavigation.down: KeyNavigation.tab
+        KeyNavigation.tab: pinFromDevice
+        KeyNavigation.up: connectBtn.enabled ? connectBtn : passwordFromDevice
+        KeyNavigation.down: pinFromDevice
 
         preferredSize: JamiTheme.wizardViewPageBackButtonSize
 
diff --git a/src/app/wizardview/components/NoUsernamePopup.qml b/src/app/wizardview/components/NoUsernamePopup.qml
new file mode 100644
index 000000000..37e28d31b
--- /dev/null
+++ b/src/app/wizardview/components/NoUsernamePopup.qml
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2022 Savoir-faire Linux Inc.
+ * Author: Fadi Shehadeh <fadi.shehadeh@savoirfairelinux.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
+
+import net.jami.Models 1.1
+import net.jami.Adapters 1.1
+import net.jami.Constants 1.1
+import Qt5Compat.GraphicalEffects
+
+
+import "../../commoncomponents"
+
+BaseModalDialog {
+    id: root
+    width: 350
+    height: 240
+
+    signal joinClicked
+
+    popupContent: Item {
+
+        ColumnLayout {
+
+            anchors.fill: parent
+            anchors.bottomMargin: 30
+
+            PushButton {
+                id: btnClose
+                Layout.alignment: Qt.AlignRight
+
+                width: 30
+                height: 30
+                imageContainerWidth: 30
+                imageContainerHeight : 30
+                Layout.rightMargin: 8
+
+                radius : 5
+
+                imageColor: "grey"
+                normalColor: JamiTheme.transparentColor
+
+                source: JamiResources.round_close_24dp_svg
+
+                onClicked: { root.visible = false }
+            }
+
+            Text {
+
+                Layout.preferredWidth: 280
+                Layout.leftMargin: 20
+                Layout.rightMargin: 20
+                Layout.alignment: Qt.AlignCenter
+                horizontalAlignment: Text.AlignHCenter
+                verticalAlignment: Text.AlignVCenter
+                font.pixelSize: 15
+                font.weight: Font.Medium
+                wrapMode: Text.WordWrap
+                color: JamiTheme.textColor
+                text: JamiStrings.joinJamiNoPassword
+            }
+
+            RowLayout{
+
+                Layout.alignment: Qt.AlignCenter
+
+                MaterialButton {
+                    preferredWidth: 96
+                    Layout.alignment: Qt.AlignCenter
+                    secondary: true
+                    color: JamiTheme.secAndTertiTextColor
+                    secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
+                    text: JamiStrings.joinJami
+                    onClicked: {
+                        root.joinClicked()
+                        WizardViewStepModel.nextStep()
+                        root.close()
+                    }
+                }
+
+                MaterialButton {
+                    preferredWidth: 170
+                    Layout.alignment: Qt.AlignCenter
+                    Layout.leftMargin: 20
+                    primary:true
+                    text:  JamiStrings.chooseAUsername
+                    onClicked: root.close()
+                }
+            }
+        }
+    }
+}
diff --git a/src/app/wizardview/components/ProfilePage.qml b/src/app/wizardview/components/ProfilePage.qml
index 66c27f292..d623cb025 100644
--- a/src/app/wizardview/components/ProfilePage.qml
+++ b/src/app/wizardview/components/ProfilePage.qml
@@ -220,7 +220,7 @@ Rectangle {
             color: enabled? JamiTheme.buttonTintedGrey : JamiTheme.buttonTintedGreyInactive
             hoveredColor: JamiTheme.buttonTintedGreyHovered
             pressedColor: JamiTheme.buttonTintedGreyPressed
-            outlined: true
+            secondary: true
 
             KeyNavigation.up: saveProfileBtn
 
diff --git a/src/app/wizardview/components/WelcomePage.qml b/src/app/wizardview/components/WelcomePage.qml
index b599f31d5..0f3add50e 100644
--- a/src/app/wizardview/components/WelcomePage.qml
+++ b/src/app/wizardview/components/WelcomePage.qml
@@ -27,15 +27,19 @@ import net.jami.Constants 1.1
 
 import "../../commoncomponents"
 
+
 Rectangle {
     id: root
 
-    property int preferredHeight: welcomePageColumnLayout.implicitHeight
+    property int preferredHeight: welcomePageColumnLayout.implicitHeight + 2 * JamiTheme.wizardViewPageBackButtonMargins + JamiTheme.wizardViewPageBackButtonSize
+    property bool showTab: false
+    property bool showAlreadyHave: false
+    property bool showAdvanced: false
 
-    signal scrollToBottom
     signal showThisPage
 
-    color: JamiTheme.transparentColor
+    color: JamiTheme.secondaryBackgroundColor
+    opacity: 0.93
 
     Connections {
         target: WizardViewStepModel
@@ -56,222 +60,269 @@ Rectangle {
     KeyNavigation.up: newAccountButton
     KeyNavigation.down: KeyNavigation.tab
 
+
     ColumnLayout {
         id: welcomePageColumnLayout
 
-        anchors.centerIn: parent
-
         spacing: JamiTheme.wizardViewPageLayoutSpacing
 
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.top: parent.top
+        anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin
+        width: Math.max(508, root.width - 100)
+
+
+        ResponsiveImage {
+            id: welcomeLogo
+
+            Layout.alignment: Qt.AlignCenter | Qt.AlignTop
+
+            Layout.preferredWidth: JamiTheme.welcomeLogoWidth
+            Layout.preferredHeight: JamiTheme.welcomeLogoHeight
+
+            source: JamiResources.jami_svg
+        }
+
         Text {
-            id: welcomeLabel
+            id: introduction
 
             Layout.alignment: Qt.AlignCenter
             Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
-            Layout.preferredHeight: contentHeight
+            Layout.preferredWidth: Math.min(350, root.width - JamiTheme.preferredMarginSize * 2)
 
-            text: JamiStrings.welcomeTo
+            text: JamiStrings.introductionJami
             color: JamiTheme.textColor
             horizontalAlignment: Text.AlignHCenter
             verticalAlignment: Text.AlignVCenter
+            wrapMode : Text.WordWrap
 
-            font.pointSize: JamiTheme.welcomeLabelPointSize
+            font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize
             font.kerning: true
         }
 
-        ResponsiveImage {
-            id: welcomeLogo
+        Text {
+            id: description
 
             Layout.alignment: Qt.AlignCenter
-            Layout.preferredWidth: JamiTheme.welcomeLogoWidth
-            Layout.preferredHeight: JamiTheme.welcomeLogoHeight
+            Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins
+            Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2)
+
+            text: JamiStrings.description
+            color: JamiTheme.textColor
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            wrapMode : Text.WordWrap
+            lineHeight: 1.4
 
-            source: JamiTheme.darkTheme ?
-                        JamiResources.logo_jami_standard_coul_white_svg :
-                        JamiResources.logo_jami_standard_coul_svg
+            font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize
+            font.kerning: true
         }
 
         MaterialButton {
             id: newAccountButton
 
             objectName: "newAccountButton"
+            primary: true
 
             Layout.alignment: Qt.AlignCenter
+            Layout.topMargin: 21
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
-            preferredWidth: JamiTheme.wizardButtonWidth
-
-            text: JamiStrings.createAJamiAccount
-            font.capitalization: Font.AllUppercase
+            text: JamiStrings.joinJami
             toolTipText: JamiStrings.createNewJamiAccount
-            iconSource: JamiResources.default_avatar_overlay_svg
 
-            KeyNavigation.tab: newRdvButton
+            KeyNavigation.tab: alreadyHaveAccount
             KeyNavigation.up: backButton.visible ? backButton :
                                                    (showAdvancedButton.showAdvanced ?
                                                         newSIPAccountButton :
                                                         showAdvancedButton)
             KeyNavigation.down: KeyNavigation.tab
 
-            onClicked: WizardViewStepModel.startAccountCreationFlow(
-                           WizardViewStepModel.AccountCreationOption.CreateJamiAccount)
+            onClicked: WizardViewStepModel.startAccountCreationFlow(WizardViewStepModel.AccountCreationOption.CreateJamiAccount)
         }
 
         MaterialButton {
-            id: newRdvButton
+            id: alreadyHaveAccount
 
-            objectName: "newRdvButton"
+            objectName: "alreadyHaveAccount"
+            primary: true
+
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
             Layout.alignment: Qt.AlignCenter
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+            text: JamiStrings.alreadyHaveAccount
+            toolTipText: JamiStrings.useExistingAccount
+
+            font.bold: true
+
+            hoverEnabled: true
+
+            KeyNavigation.tab: showAlreadyHave ? fromDeviceButton : showAdvancedButton
 
-            text: JamiStrings.createNewRV
-            font.capitalization: Font.AllUppercase
-            toolTipText: JamiStrings.createNewRV
-            iconSource: JamiResources.groups_24dp_svg
 
-            KeyNavigation.tab: fromDeviceButton
             KeyNavigation.up: newAccountButton
             KeyNavigation.down: KeyNavigation.tab
 
-            onClicked: WizardViewStepModel.startAccountCreationFlow(
-                           WizardViewStepModel.AccountCreationOption.CreateRendezVous)
+            onClicked: {
+                boldFont = !boldFont
+                showAlreadyHave = !showAlreadyHave
+                showAdvanced = false
+                fromDeviceButton.visible = showAlreadyHave
+                fromBackupButton.visible = showAlreadyHave
+                newRdvButton.visible = showAdvanced
+                connectAccountManagerButton.visible = showAdvanced
+                newSIPAccountButton.visible = showAdvanced
+
+            }
         }
 
         MaterialButton {
             id: fromDeviceButton
 
             objectName: "fromDeviceButton"
+            secondary: true
+            color: JamiTheme.secAndTertiTextColor
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
 
             Layout.alignment: Qt.AlignCenter
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
-            text: JamiStrings.linkFromAnotherDevice
-            font.capitalization: Font.AllUppercase
-            toolTipText: JamiStrings.importAccountFromOtherDevice
-            iconSource: JamiResources.devices_24dp_svg
-            color: JamiTheme.buttonTintedBlue
-            hoveredColor: JamiTheme.buttonTintedBlueHovered
-            pressedColor: JamiTheme.buttonTintedBluePressed
+            visible: false
+
+            text: JamiStrings.importAccountFromAnotherDevice
+            toolTipText: JamiStrings.linkFromAnotherDevice
 
             KeyNavigation.tab: fromBackupButton
-            KeyNavigation.up: newRdvButton
+            KeyNavigation.up: alreadyHaveAccount
             KeyNavigation.down: KeyNavigation.tab
 
-            onClicked: WizardViewStepModel.startAccountCreationFlow(
-                           WizardViewStepModel.AccountCreationOption.ImportFromDevice)
+            onClicked: WizardViewStepModel.startAccountCreationFlow(WizardViewStepModel.AccountCreationOption.ImportFromDevice)
         }
 
         MaterialButton {
             id: fromBackupButton
 
             objectName: "fromBackupButton"
+            secondary: true
+            color: JamiTheme.secAndTertiTextColor
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
 
-            Layout.alignment: Qt.AlignCenter
+            visible: false
 
-            preferredWidth: JamiTheme.wizardButtonWidth
+            Layout.alignment: Qt.AlignCenter
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
 
-            text: JamiStrings.connectFromBackup
-            font.capitalization: Font.AllUppercase
-            toolTipText: JamiStrings.importAccountFromBackup
-            iconSource: JamiResources.backup_24dp_svg
-            color: JamiTheme.buttonTintedBlue
-            hoveredColor: JamiTheme.buttonTintedBlueHovered
-            pressedColor: JamiTheme.buttonTintedBluePressed
+            text: JamiStrings.importAccountFromBackup
+            toolTipText: JamiStrings.connectFromBackup
 
             KeyNavigation.tab: showAdvancedButton
             KeyNavigation.up: fromDeviceButton
             KeyNavigation.down: KeyNavigation.tab
 
-            onClicked: WizardViewStepModel.startAccountCreationFlow(
-                           WizardViewStepModel.AccountCreationOption.ImportFromBackup)
+            onClicked: WizardViewStepModel.startAccountCreationFlow(WizardViewStepModel.AccountCreationOption.ImportFromBackup)
         }
 
+
         MaterialButton {
             id: showAdvancedButton
 
             objectName: "showAdvancedButton"
-
-            property bool showAdvanced: false
+            tertiary: true
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
 
             Layout.alignment: Qt.AlignCenter
             Layout.bottomMargin: newSIPAccountButton.visible ?
                                      0 : JamiTheme.wizardViewPageBackButtonMargins
 
-            preferredWidth: JamiTheme.wizardButtonWidth
-
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
             text: JamiStrings.advancedFeatures
-            font.capitalization: Font.AllUppercase
             toolTipText: showAdvanced ? JamiStrings.hideAdvancedFeatures :
                                         JamiStrings.showAdvancedFeatures
-            color: JamiTheme.buttonTintedBlue
-            hoveredColor: JamiTheme.buttonTintedBlueHovered
-            pressedColor: JamiTheme.buttonTintedBluePressed
-            outlined: true
 
-            hoverEnabled: true
 
-            KeyNavigation.tab: showAdvanced ? connectAccountManagerButton :
-                                              (backButton.visible ? backButton : newAccountButton)
-            KeyNavigation.up: fromBackupButton
+            KeyNavigation.tab: showAdvanced ? newRdvButton : btnAboutPopUp
+            KeyNavigation.up: showAlreadyHave ? fromBackupButton : alreadyHaveAccount
             KeyNavigation.down: KeyNavigation.tab
 
             onClicked: {
+                boldFont = !boldFont
                 showAdvanced = !showAdvanced
+                showAlreadyHave = false
+                newRdvButton.visible = showAdvanced
                 connectAccountManagerButton.visible = showAdvanced
                 newSIPAccountButton.visible = showAdvanced
+                fromDeviceButton.visible = showAlreadyHave
+                fromBackupButton.visible = showAlreadyHave
             }
         }
 
+        MaterialButton {
+            id: newRdvButton
+
+            objectName: "newRdvButton"
+            secondary: true
+            color: JamiTheme.secAndTertiTextColor
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
+
+            Layout.alignment: Qt.AlignCenter
+
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
+            visible: false
+
+            text: JamiStrings.createNewRV
+            toolTipText: JamiStrings.createNewRV
+
+            KeyNavigation.tab: connectAccountManagerButton
+            KeyNavigation.up: showAdvancedButton
+            KeyNavigation.down: connectAccountManagerButton
+
+            onClicked: WizardViewStepModel.startAccountCreationFlow(WizardViewStepModel.AccountCreationOption.CreateRendezVous)
+        }
+
         MaterialButton {
             id: connectAccountManagerButton
 
             objectName: "connectAccountManagerButton"
+            secondary: true
+            color: JamiTheme.secAndTertiTextColor
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
 
             Layout.alignment: Qt.AlignCenter
 
-            preferredWidth: JamiTheme.wizardButtonWidth
-
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
             visible: false
 
             text: JamiStrings.connectJAMSServer
-            font.capitalization: Font.AllUppercase
             toolTipText: JamiStrings.createFromJAMS
-            iconSource: JamiResources.router_24dp_svg
-            color: JamiTheme.buttonTintedBlue
-            hoveredColor: JamiTheme.buttonTintedBlueHovered
-            pressedColor: JamiTheme.buttonTintedBluePressed
 
             KeyNavigation.tab: newSIPAccountButton
-            KeyNavigation.up: showAdvancedButton
-            KeyNavigation.down: KeyNavigation.tab
+            KeyNavigation.up: newRdvButton
+            KeyNavigation.down: newSIPAccountButton
 
-            onClicked: WizardViewStepModel.startAccountCreationFlow(
-                           WizardViewStepModel.AccountCreationOption.ConnectToAccountManager)
+            onClicked: WizardViewStepModel.startAccountCreationFlow(WizardViewStepModel.AccountCreationOption.ConnectToAccountManager)
         }
 
         MaterialButton {
             id: newSIPAccountButton
 
             objectName: "newSIPAccountButton"
+            secondary: true
+            color: JamiTheme.secAndTertiTextColor
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
+            pressedColor: JamiTheme.buttonTintedBluePressed
 
             Layout.alignment: Qt.AlignCenter
             Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins
 
-            preferredWidth: JamiTheme.wizardButtonWidth
-
+            preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2)
             visible: false
 
             text: JamiStrings.addSIPAccount
-            font.capitalization: Font.AllUppercase
             toolTipText: JamiStrings.createNewSipAccount
-            iconSource: JamiResources.default_avatar_overlay_svg
-            color: JamiTheme.buttonTintedBlue
-            hoveredColor: JamiTheme.buttonTintedBlueHovered
-            pressedColor: JamiTheme.buttonTintedBluePressed
 
-            KeyNavigation.tab: backButton.visible ? backButton : newAccountButton
+            KeyNavigation.tab: btnAboutPopUp
             KeyNavigation.up: connectAccountManagerButton
             KeyNavigation.down: KeyNavigation.tab
 
@@ -279,7 +330,26 @@ Rectangle {
                            WizardViewStepModel.AccountCreationOption.CreateSipAccount)
         }
 
-        onHeightChanged: scrollToBottom()
+
+        MaterialButton {
+            id: btnAboutPopUp
+
+            Layout.alignment: Qt.AlignBottom | Qt.AlignHCenter
+            Layout.bottomMargin: JamiTheme.preferredMarginSize
+
+            preferredWidth: JamiTheme.aboutButtonPreferredWidth
+
+            secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor
+            tertiary: true
+
+            KeyNavigation.tab: backButton.visible ? backButton : newAccountButton
+            KeyNavigation.up: connectAccountManagerButton
+            KeyNavigation.down: KeyNavigation.tab
+
+            text: JamiStrings.aboutJami
+
+            onClicked: aboutPopUpDialog.open()
+        }
     }
 
     BackButton {
@@ -304,9 +374,11 @@ Rectangle {
         visible: UtilsAdapter.getAccountListSize()
 
         KeyNavigation.tab: newAccountButton
-        KeyNavigation.up: newSIPAccountButton
+        KeyNavigation.up: showAdvanced ? newSIPAccountButton : showAdvancedButton
         KeyNavigation.down: KeyNavigation.tab
 
         onClicked: WizardViewStepModel.previousStep()
+
     }
+
 }
diff --git a/src/app/wizardviewstepmodel.cpp b/src/app/wizardviewstepmodel.cpp
index 50b53835f..e903b2abf 100644
--- a/src/app/wizardviewstepmodel.cpp
+++ b/src/app/wizardviewstepmodel.cpp
@@ -36,12 +36,21 @@ WizardViewStepModel::WizardViewStepModel(LRCInstance* lrcInstance,
         accountAdapter_->changeAccount(index);
 
         auto accountCreationOption = get_accountCreationOption();
-        if (accountCreationOption == AccountCreationOption::ConnectToAccountManager)
-            set_mainStep(MainSteps::Profile);
-        else if (accountCreationOption == AccountCreationOption::ImportFromBackup
-                 || accountCreationOption == AccountCreationOption::ImportFromDevice) {
+        if (accountCreationOption == AccountCreationOption::ConnectToAccountManager
+            || accountCreationOption == AccountCreationOption::CreateSipAccount) {
             Q_EMIT closeWizardView();
             reset();
+        } else if (accountCreationOption != AccountCreationOption::None) {
+            auto showBackup = (accountCreationOption == AccountCreationOption::CreateJamiAccount
+                               || accountCreationOption == AccountCreationOption::CreateRendezVous)
+                              && !appSettingsManager_->getValue(Settings::Key::NeverShowMeAgain)
+                                      .toBool();
+            if (showBackup)
+                set_mainStep(MainSteps::BackupKeys);
+            else {
+                Q_EMIT closeWizardView();
+                reset();
+            }
         }
 
         Q_EMIT accountIsReady(accountId);
@@ -67,11 +76,16 @@ WizardViewStepModel::nextStep()
         return;
 
     switch (get_mainStep()) {
+    case MainSteps::NameRegistration:
     case MainSteps::AccountCreation: {
         switch (get_accountCreationOption()) {
+        case AccountCreationOption::CreateJamiAccount:
+        case AccountCreationOption::CreateRendezVous:
         case AccountCreationOption::ImportFromBackup:
         case AccountCreationOption::ImportFromDevice: {
-            accountAdapter_->createJamiAccount("", get_accountCreationInfo(), false);
+            accountAdapter_->createJamiAccount(get_accountCreationInfo()["registeredName"].toString(),
+                                               get_accountCreationInfo(),
+                                               false);
             break;
         }
         case AccountCreationOption::ConnectToAccountManager: {
@@ -79,38 +93,12 @@ WizardViewStepModel::nextStep()
             break;
         }
         case AccountCreationOption::CreateSipAccount: {
-            set_mainStep(MainSteps::Profile);
             accountAdapter_->createSIPAccount(get_accountCreationInfo());
             break;
         }
         }
         break;
     }
-    case MainSteps::NameRegistration: {
-        set_mainStep(MainSteps::SetPassword);
-        break;
-    }
-    case MainSteps::SetPassword: {
-        set_mainStep(MainSteps::Profile);
-
-        auto accountCreationInfo = get_accountCreationInfo();
-        accountAdapter_->createJamiAccount(accountCreationInfo["registeredName"].toString(),
-                                           accountCreationInfo,
-                                           true);
-        break;
-    }
-    case MainSteps::Profile: {
-        auto showBackup = (accountCreationOption == AccountCreationOption::CreateJamiAccount
-                           || accountCreationOption == AccountCreationOption::CreateRendezVous)
-                          && !appSettingsManager_->getValue(Settings::Key::NeverShowMeAgain).toBool();
-        if (showBackup)
-            set_mainStep(MainSteps::BackupKeys);
-        else {
-            Q_EMIT closeWizardView();
-            reset();
-        }
-        break;
-    }
     case MainSteps::BackupKeys: {
         Q_EMIT closeWizardView();
         reset();
@@ -132,10 +120,6 @@ WizardViewStepModel::previousStep()
         reset();
         break;
     }
-    case MainSteps::SetPassword: {
-        set_mainStep(MainSteps::NameRegistration);
-        break;
-    }
     }
 }
 
diff --git a/src/app/wizardviewstepmodel.h b/src/app/wizardviewstepmodel.h
index 1c1ed0d46..72da7fe9f 100644
--- a/src/app/wizardviewstepmodel.h
+++ b/src/app/wizardviewstepmodel.h
@@ -38,8 +38,6 @@ public:
         Initial,          // Initial welcome step.
         AccountCreation,  // General account creation step.
         NameRegistration, // Name registration step : CreateJamiAccount, CreateRendezVous
-        SetPassword,      // Password set up step: CreateJamiAccount, CreateRendezVous
-        Profile,          // Profile set up.
         BackupKeys        // Backup set up.
     };
     Q_ENUM(MainSteps)
-- 
GitLab