2022-08-10 08:27:45 +00:00
|
|
|
|
import QtQuick 2.14
|
|
|
|
|
import QtQuick.Layouts 1.14
|
|
|
|
|
|
|
|
|
|
import StatusQ.Core 0.1
|
|
|
|
|
import StatusQ.Core.Theme 0.1
|
|
|
|
|
import StatusQ.Controls 0.1
|
|
|
|
|
import StatusQ.Controls.Validators 0.1
|
|
|
|
|
|
|
|
|
|
import utils 1.0
|
|
|
|
|
import "../controls"
|
|
|
|
|
|
|
|
|
|
Item {
|
|
|
|
|
id: root
|
|
|
|
|
|
|
|
|
|
property alias displayName: displayNameInput
|
|
|
|
|
property alias bio: bioInput
|
|
|
|
|
|
|
|
|
|
implicitHeight: layout.implicitHeight
|
|
|
|
|
implicitWidth: layout.implicitWidth
|
|
|
|
|
|
|
|
|
|
ColumnLayout {
|
|
|
|
|
id: layout
|
|
|
|
|
anchors.fill: parent
|
|
|
|
|
|
|
|
|
|
spacing: 19 // by design
|
|
|
|
|
|
|
|
|
|
StatusInput {
|
|
|
|
|
id: displayNameInput
|
2022-08-12 15:51:33 +00:00
|
|
|
|
objectName: "displayNameInput"
|
2022-08-10 08:27:45 +00:00
|
|
|
|
|
|
|
|
|
Layout.fillWidth: true
|
|
|
|
|
|
|
|
|
|
label: qsTr("Display name")
|
|
|
|
|
placeholderText: qsTr("Display Name")
|
2023-07-13 13:58:48 +00:00
|
|
|
|
charLimit: Constants.keypair.nameLengthMax
|
2022-08-10 08:27:45 +00:00
|
|
|
|
validators: Constants.validators.displayName
|
2022-08-16 17:22:19 +00:00
|
|
|
|
|
|
|
|
|
input.tabNavItem: bioInput.input.edit
|
2022-08-10 08:27:45 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StatusInput {
|
|
|
|
|
id: bioInput
|
2022-08-12 15:51:33 +00:00
|
|
|
|
objectName: "bioInput"
|
2022-08-10 08:27:45 +00:00
|
|
|
|
|
|
|
|
|
Layout.fillWidth: true
|
|
|
|
|
Layout.topMargin: 5 // by design
|
|
|
|
|
|
|
|
|
|
label: qsTr("Bio")
|
|
|
|
|
placeholderText: qsTr("Tell us about yourself")
|
2024-05-22 10:42:07 +00:00
|
|
|
|
input.maximumLength : 32767
|
2022-08-10 08:27:45 +00:00
|
|
|
|
charLimit: 240
|
|
|
|
|
multiline: true
|
|
|
|
|
minimumHeight: 108
|
|
|
|
|
maximumHeight: 108
|
|
|
|
|
input.verticalAlignment: TextEdit.AlignTop
|
2024-06-10 09:29:38 +00:00
|
|
|
|
validationMode: StatusInput.ValidationMode.Always
|
2024-05-20 21:13:55 +00:00
|
|
|
|
validators: [
|
2024-05-22 10:42:07 +00:00
|
|
|
|
StatusValidator {
|
|
|
|
|
name: "maxLengthValidator"
|
|
|
|
|
validate: function (t) { return t.length <= bioInput.charLimit}
|
|
|
|
|
errorMessage: qsTr("Bio can’t be longer than %n character(s)", "", bioInput.charLimit)
|
|
|
|
|
},
|
2024-05-20 21:13:55 +00:00
|
|
|
|
StatusRegularExpressionValidator {
|
|
|
|
|
regularExpression: Constants.regularExpressions.asciiWithEmoji
|
|
|
|
|
errorMessage: qsTr("Invalid characters. Standard keyboard characters and emojis only.")
|
2024-05-22 10:42:07 +00:00
|
|
|
|
validate: function (value) {
|
|
|
|
|
return (regularExpression.test(value) || (value.length === 0));
|
|
|
|
|
}
|
2024-05-20 21:13:55 +00:00
|
|
|
|
}
|
|
|
|
|
]
|
2023-03-08 01:56:41 +00:00
|
|
|
|
input.tabNavItem: displayNameInput.input.edit
|
2022-08-10 08:27:45 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|