90 lines
2.4 KiB
QML
90 lines
2.4 KiB
QML
import QtQuick 2.14
|
|
import QtQuick.Layouts 1.14
|
|
|
|
import StatusQ.Controls 0.1
|
|
import StatusQ.Core 0.1
|
|
import StatusQ.Core.Theme 0.1
|
|
|
|
import shared.views 1.0
|
|
import utils 1.0
|
|
|
|
import "../stores"
|
|
import "../../Profile/stores"
|
|
|
|
Item {
|
|
id: root
|
|
|
|
property StartupStore startupStore
|
|
|
|
implicitWidth: layout.implicitWidth
|
|
implicitHeight: layout.implicitHeight
|
|
|
|
QtObject {
|
|
id: d
|
|
readonly property bool finished: startupStore.localPairingState === Constants.LocalPairingState.Finished
|
|
readonly property bool pairingFailed: startupStore.localPairingState === Constants.LocalPairingState.Error
|
|
}
|
|
|
|
ColumnLayout {
|
|
id: layout
|
|
|
|
anchors.centerIn: parent
|
|
spacing: 24
|
|
|
|
StatusBaseText {
|
|
Layout.fillWidth: true
|
|
horizontalAlignment: Text.AlignHCenter
|
|
font.pixelSize: 22
|
|
font.weight: Font.Bold
|
|
color: Theme.palette.directColor1
|
|
text: qsTr("Sign in by syncing")
|
|
}
|
|
|
|
SyncingDeviceView {
|
|
Layout.alignment: Qt.AlignHCenter
|
|
|
|
localPairingState: startupStore.localPairingState
|
|
localPairingError: startupStore.localPairingError
|
|
|
|
userDisplayName: startupStore.localPairingName
|
|
userImage: startupStore.localPairingImage
|
|
userColorId: startupStore.localPairingColorId
|
|
userColorHash: startupStore.localPairingColorHash
|
|
|
|
installationId: startupStore.localPairingInstallationId
|
|
installationName: startupStore.localPairingInstallationName
|
|
installationDeviceType: startupStore.localPairingInstallationDeviceType
|
|
}
|
|
|
|
StatusButton {
|
|
visible: d.pairingFailed
|
|
Layout.alignment: Qt.AlignHCenter
|
|
text: qsTr("Use recovery phrase")
|
|
onClicked: root.startupStore.doSecondaryAction()
|
|
}
|
|
|
|
StatusFlatButton {
|
|
visible: d.pairingFailed
|
|
Layout.alignment: Qt.AlignHCenter
|
|
text: qsTr("Try again")
|
|
onClicked: root.startupStore.doTertiaryAction()
|
|
}
|
|
|
|
StatusButton {
|
|
Layout.alignment: Qt.AlignHCenter
|
|
text: qsTr("Sign in")
|
|
opacity: d.finished ? 1 : 0
|
|
enabled: d.finished
|
|
|
|
Behavior on opacity {
|
|
NumberAnimation { duration: 250 }
|
|
}
|
|
|
|
onClicked: {
|
|
root.startupStore.doPrimaryAction()
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|