Lukáš Tinkl 3705249e40 feat(Onboarding): Create Profile & Login flows
- implement the basic Onboarding UI skeleton and the Create Profile
flows
- adjust the PasswordView and EnterSeedPhrase views to the latest design
- add the main OnboardingLayout and StatusPinInput pages to Storybook
- change terminology app-wide: "Seed phrase" -> "Recovery phrase"
- implement the Login flows (seed, sync, keycard)
- amend the keycard flow sequences with separate (non) empty page

Fixes #16719
Fixes #16742
Fixes #16743
2025-01-14 10:49:42 +01:00

62 lines
1.7 KiB
QML

import QtQuick 2.14
import QtQuick.Layouts 1.14
import QtQuick.Controls 2.14
import QtGraphicalEffects 1.14
import StatusQ.Core 0.1
import StatusQ.Controls 0.1
Item {
id: root
property var seedPhrase: []
property bool seedPhraseRevealed: false
StatusGridView {
id: grid
anchors.fill: parent
visible: root.seedPhraseRevealed
cellWidth: parent.width * 0.5
cellHeight: 48
interactive: false
model: 12
readonly property var wordIndex: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]
readonly property int spacing: 4
delegate: StatusSeedPhraseInput {
objectName: "SeedPhraseWordAtIndex-" + grid.wordIndex[index]
width: (grid.cellWidth - grid.spacing)
height: (grid.cellHeight - grid.spacing)
textEdit.input.edit.enabled: false
text: {
const idx = parseInt(leftComponentText) - 1;
if (!root.seedPhrase || idx < 0 || idx > root.seedPhrase.length - 1)
return "";
return root.seedPhrase[idx];
}
leftComponentText: grid.wordIndex[index]
}
}
GaussianBlur {
id: blur
anchors.fill: grid
visible: !root.seedPhraseRevealed
source: grid
radius: 16
samples: 16
transparentBorder: true
}
StatusButton {
objectName: "AddAccountPopup-RevealSeedPhrase"
anchors.centerIn: parent
visible: !root.seedPhraseRevealed
type: StatusBaseButton.Type.Primary
icon.name: "view"
text: qsTr("Reveal recovery phrase")
onClicked: {
root.seedPhraseRevealed = true
}
}
}