status-desktop/ui/imports/utils/Constants.qml

357 lines
14 KiB
QML
Raw Normal View History

2020-05-28 14:58:25 +00:00
pragma Singleton
2020-06-17 19:18:31 +00:00
import QtQuick 2.13
2020-05-28 14:58:25 +00:00
import StatusQ.Controls.Validators 0.1
2020-05-28 14:58:25 +00:00
QtObject {
readonly property QtObject appState: QtObject {
readonly property int onboarding: 0
readonly property int login: 1
readonly property int main: 2
}
readonly property QtObject appSection: QtObject {
readonly property int chat: 0
readonly property int community: 1
readonly property int wallet: 2
2022-02-17 09:34:15 +00:00
readonly property int browser: 3
readonly property int profile: 4
readonly property int node: 5
readonly property int communitiesPortal: 6
}
readonly property QtObject appViewStackIndex: QtObject {
readonly property int chat: 0
readonly property int community: 7 // any stack layout children with the index 7 or higher is community
readonly property int communitiesPortal: 1
readonly property int wallet: 2
readonly property int browser: 3
readonly property int profile: 4
readonly property int node: 5
}
readonly property QtObject settingsSubsection: QtObject {
property int profile: 0
property int contacts: 1
property int ensUsernames: 2
property int messaging: 3
property int wallet: 4
2022-06-22 12:16:21 +00:00
property int appearance: 5
property int language: 6
property int notifications: 7
property int devicesSettings: 8
property int browserSettings: 9
property int advanced: 10
property int about: 11
property int communitiesSettings: 12
property int signout: 13
property int backUpSeed: 14
}
readonly property QtObject currentUserStatus: QtObject{
readonly property int unknown: 0
readonly property int automatic: 1
readonly property int doNotDisturb: 2
readonly property int alwaysOnline: 3
readonly property int inactive: 4
}
readonly property QtObject onlineStatus: QtObject{
readonly property int inactive: 0
readonly property int online: 1
}
readonly property QtObject chatType: QtObject{
readonly property int unknown: 0
readonly property int oneToOne: 1
readonly property int publicChat: 2
readonly property int privateGroupChat: 3
readonly property int profile: 4
readonly property int communityChat: 6
}
readonly property QtObject messageContentType: QtObject {
readonly property int fetchMoreMessagesButton: -2
readonly property int chatIdentifier: -1
readonly property int unknownContentType: 0
readonly property int messageType: 1
readonly property int stickerType: 2
readonly property int statusType: 3
readonly property int emojiType: 4
readonly property int transactionType: 5
readonly property int systemMessagePrivateGroupType: 6
readonly property int imageType: 7
readonly property int audioType: 8
readonly property int communityInviteType: 9
readonly property int gapType: 10
readonly property int editType: 11
}
readonly property QtObject profilePicturesVisibility: QtObject {
readonly property int contactsOnly: 1
readonly property int everyone: 2
readonly property int noOne: 3
}
readonly property QtObject profilePicturesShowTo: QtObject {
readonly property int contactsOnly: 1
readonly property int everyone: 2
readonly property int noOne: 3
}
readonly property QtObject contactVerificationState: QtObject {
readonly property int notMarked: 0
readonly property int verified: 1
readonly property int untrustworthy: 2
}
readonly property QtObject contactsPanelUsage: QtObject {
readonly property int unknownPosition: -1
readonly property int mutualContacts: 0
readonly property int verifiedMutualContacts: 1
readonly property int sentContactRequest: 2
readonly property int receivedContactRequest: 3
readonly property int rejectedSentContactRequest: 4
readonly property int rejectedReceivedContactRequest: 5
readonly property int blockedContacts: 6
}
readonly property QtObject validators: QtObject {
readonly property list<StatusValidator> displayName: [
StatusMinLengthValidator {
minLength: 5
errorMessage: qsTr("Username must be at least 5 characters")
},
StatusRegularExpressionValidator {
regularExpression: /^[a-zA-Z0-9\-_]+$/
errorMessage: qsTr("Only letters, numbers, underscores and hyphens allowed")
},
// TODO: Create `StatusMaxLengthValidator` in StatusQ
StatusValidator {
name: "maxLengthValidator"
validate: function (t) { return t.length <= 24 }
errorMessage: qsTr("24 character username limit")
},
StatusValidator {
name: "endsWith-ethValidator"
validate: function (t) { return !t.endsWith("-eth") }
errorMessage: qsTr("Usernames ending with '-eth' are not allowed")
},
StatusValidator {
name: "endsWith_ethValidator"
validate: function (t) { return !t.endsWith("_eth") }
errorMessage: qsTr("Usernames ending with '_eth' are not allowed")
},
StatusValidator {
name: "endsWith.ethValidator"
validate: function (t) { return !t.endsWith(".eth") }
errorMessage: qsTr("Usernames ending with '.eth' are not allowed")
},
StatusValidator {
name: "isAliasValidator"
validate: function (t) { return !globalUtils.isAlias(t) }
errorMessage: qsTr("Sorry, the name you have chosen is not allowed, try picking another username")
}
]
}
readonly property QtObject settingsSection: QtObject {
readonly property int itemSpacing: 10
readonly property int radius: 8
readonly property int mainHeaderFontSize: 28
readonly property int subHeaderFontSize: 15
readonly property int infoFontSize: 15
readonly property int infoLineHeight: 22
readonly property int infoSpacing: 5
readonly property int itemHeight: 64
readonly property int leftMargin: 64
readonly property int rightMargin: 64
readonly property int topMargin: 64
readonly property int bottomMargin: 64
readonly property QtObject notificationsBubble: QtObject {
readonly property int previewAnonymous: 0
readonly property int previewNameOnly: 1
readonly property int previewNameAndMessage: 2
}
readonly property QtObject notifications: QtObject {
readonly property string sendAlertsValue: "SendAlerts"
readonly property string deliverQuietlyValue: "DeliverQuietly"
readonly property string turnOffValue: "TurnOff"
}
readonly property QtObject exemptions: QtObject {
readonly property int community: 0
readonly property int oneToOneChat: 1
readonly property int groupChat: 2
}
}
readonly property QtObject ephemeralNotificationType: QtObject {
readonly property int normal: 0
readonly property int success: 1
}
readonly property QtObject transactionEstimatedTime: QtObject {
readonly property int unknown: -1
readonly property int lessThanOneMin: 0
readonly property int lessThanThreeMins: 1
readonly property int lessThanFiveMins: 2
}
readonly property int communityImported: 0
readonly property int communityImportingInProgress: 1
readonly property int communityImportingError: 2
2020-12-11 20:38:10 +00:00
readonly property int communityChatPublicAccess: 1
readonly property int communityChatInvitationOnlyAccess: 2
readonly property int communityChatOnRequestAccess: 3
readonly property int activityCenterNotificationTypeOneToOne: 1
readonly property int activityCenterNotificationTypeGroupRequest: 2
2021-06-11 20:34:25 +00:00
readonly property int activityCenterNotificationTypeMention: 3
readonly property int activityCenterNotificationTypeReply: 4
readonly property int maxNbDaysToFetch: 30
readonly property int fetchRangeLast24Hours: 86400
readonly property int fetchRangeLast2Days: 172800
readonly property int fetchRangeLast3Days: 259200
readonly property int fetchRangeLast7Days: 604800
readonly property int walletFetchRecentHistoryInterval: 1200000 // 20 mins
readonly property int limitLongChatText: 500
readonly property int limitLongChatTextCompactMode: 1000
readonly property int notificationPopupTTL: 5000
readonly property string lightThemeName: "light"
readonly property string darkThemeName: "dark"
readonly property int fontSizeXS: 0
readonly property int fontSizeS: 1
readonly property int fontSizeM: 2
readonly property int fontSizeL: 3
readonly property int fontSizeXL: 4
readonly property int fontSizeXXL: 5
readonly property int notifyAllMessages: 0
readonly property int notifyJustMentions: 1
readonly property int notifyNone: 2
2020-06-04 18:56:04 +00:00
readonly property string watchWalletType: "watch"
readonly property string keyWalletType: "key"
readonly property string seedWalletType: "seed"
readonly property string generatedWalletType: "generated"
2021-03-30 14:35:53 +00:00
readonly property string windows: "windows"
readonly property string linux: "linux"
readonly property string mac: "mac"
// Transaction states
readonly property int addressRequested: 1
readonly property int declined: 2
readonly property int addressReceived: 3
readonly property int transactionRequested: 4
readonly property int transactionDeclined: 5
readonly property int pending: 6
readonly property int confirmed: 7
readonly property int maxTokens: 200
2020-09-03 20:14:44 +00:00
readonly property string zeroAddress: "0x0000000000000000000000000000000000000000"
2022-06-07 13:57:09 +00:00
readonly property string networkMainnet: "Mainnet"
readonly property string networkRopsten: "Ropsten"
readonly property string api_request: "api-request"
readonly property string web3SendAsyncReadOnly: "web3-send-async-read-only"
2020-12-14 20:43:46 +00:00
readonly property string web3DisconnectAccount: "web3-disconnect-account"
readonly property string permission_web3: "web3"
readonly property string permission_contactCode: "contact-code"
2020-10-05 16:24:43 +00:00
readonly property string personal_sign: "personal_sign"
readonly property string eth_sign: "eth_sign"
readonly property string eth_signTypedData: "eth_signTypedData"
readonly property string eth_signTypedData_v3: "eth_signTypedData_v3"
2020-11-03 21:04:57 +00:00
readonly property string eth_prod: "eth.prod"
readonly property string eth_staging: "eth.staging"
readonly property string eth_test: "eth.test"
2021-06-04 17:38:25 +00:00
readonly property string waku_prod: "wakuv2.prod"
readonly property string waku_test: "wakuv2.test"
2022-02-18 21:23:35 +00:00
readonly property string status_test: "status.test"
2022-03-10 22:08:33 +00:00
readonly property string status_prod: "status.prod"
readonly property int browserSearchEngineNone: 0
readonly property int browserSearchEngineGoogle: 1
readonly property int browserSearchEngineYahoo: 2
readonly property int browserSearchEngineDuckDuckGo: 3
readonly property int browserEthereumExplorerNone: 0
readonly property int browserEthereumExplorerEtherscan: 1
readonly property int browserEthereumExplorerEthplorer: 2
readonly property int browserEthereumExplorerBlockchair: 3
readonly property int repeatHeaderInterval: 2
readonly property string deepLinkPrefix: 'statusim://'
readonly property string joinStatusLink: 'join.status.im'
readonly property string communityLinkPrefix: 'https://join.status.im/c/'
readonly property string userLinkPrefix: 'https://join.status.im/u/'
readonly property string statusLinkPrefix: 'https://status.im/'
readonly property int maxUploadFiles: 5
readonly property double maxUploadFilesizeMB: 10
readonly property int maxNumberOfPins: 3
readonly property var acceptedImageExtensions: [".png", ".jpg", ".jpeg", ".svg", ".gif"]
readonly property var acceptedDragNDropImageExtensions: [".png", ".jpg", ".jpeg", ".heif", "tif", ".tiff"]
readonly property string mentionSpanTag: `<span style="background-color: ${Style.current.mentionBgColor};"><a style="color:${Style.current.mentionColor};text-decoration:none" href='http://'>`
readonly property string ens_taken: "taken"
readonly property string ens_taken_custom: "taken-custom"
readonly property string ens_owned: "owned"
readonly property string ens_available: "available"
readonly property string ens_already_connected: "already-connected"
readonly property string ens_connected: "connected"
readonly property string ens_connected_dkey: "connected-different-key"
readonly property string storeToKeychainValueStore: "store"
readonly property string storeToKeychainValueNotNow: "notNow"
readonly property string storeToKeychainValueNever: "never"
//% "(edited)"
readonly property string editLabel: ` <span class="isEdited">` + qsTrId("-edited-") + `</span>`
2021-06-29 14:49:32 +00:00
readonly property string newBookmark: " "
readonly property var ensState: {
//% "Username already taken :("
"taken": qsTrId("ens-username-taken"),
//% "Username doesnt belong to you :("
"taken-custom": qsTrId("ens-custom-username-taken"),
//% "Continuing will connect this username with your chat key."
"owned": qsTrId("ens-username-owned-continue"),
//% "✓ Username available!"
"available": qsTrId("ens-username-available"),
//% "Username is already connected with your chat key and can be used inside Status."
"already-connected": qsTrId("ens-username-already-added"),
//% "This user name is owned by you and connected with your chat key. Continue to set `Show my ENS username in chats`."
"connected": qsTrId("this-user-name-is-owned-by-you-and-connected-with-your-chat-key--continue-to-set--show-my-ens-username-in-chats--"),
//% "Continuing will require a transaction to connect the username with your current chat key."
"connected-different-key": qsTrId("ens-username-connected-with-different-key"),
}
readonly property bool isCppApp: typeof cppApp !== "undefined" ? cppApp : false
readonly property string existingAccountError: "account already exists"
2020-06-04 18:56:04 +00:00
}