status-desktop/ui/app/AppLayouts/Profile/controls/WalletAccountDelegate.qml

55 lines
1.6 KiB
QML
Raw Normal View History

import QtQuick 2.14
2022-03-01 14:40:53 +00:00
import StatusQ.Components 0.1
import StatusQ.Core.Theme 0.1
import StatusQ.Core 0.1
import StatusQ.Core.Utils 0.1 as StatusQUtils
import AppLayouts.Wallet 1.0
2022-03-01 14:40:53 +00:00
import utils 1.0
2022-03-01 14:40:53 +00:00
StatusListItem {
2022-06-22 12:16:21 +00:00
id: root
2022-03-01 14:40:53 +00:00
property var account
property string chainShortNames
property int totalCount: 0
2022-06-22 12:16:21 +00:00
signal goToAccountView()
objectName: account.name
title: account.name
subTitle: {
const elidedAddress = StatusQUtils.Utils.elideText(account.address,6,4)
return sensor.containsMouse ? WalletUtils.colorizedChainPrefix(chainShortNames) + Utils.richColorText(elidedAddress, Theme.palette.directColor1) : elidedAddress
}
asset.color: !!account.colorId ? Utils.getColorForId(account.colorId): ""
asset.emoji: account.emoji
asset.name: !account.emoji ? "filled-account": ""
asset.letterSize: 14
asset.isLetterIdenticon: !!account.emoji
asset.bgColor: Theme.palette.primaryColor3
2022-09-27 21:26:26 +00:00
asset.width: 40
asset.height: 40
2022-06-22 12:16:21 +00:00
components: StatusIcon {
2023-02-28 14:54:10 +00:00
icon: "next"
2022-06-22 12:16:21 +00:00
color: Theme.palette.baseColor1
}
onClicked: goToAccountView()
// This is used to give the first and last delgate rounded corners
Rectangle {
visible: totalCount > 1
readonly property bool isLastOrFirstItem: index === 0 || index === (totalCount-1)
width: parent.width
height: isLastOrFirstItem? parent.height/2 : parent.height
anchors.top: !isLastOrFirstItem || index === (totalCount-1) ? parent.top: undefined
anchors.bottom: index === 0 ? parent.bottom: undefined
color: parent.color
z: parent.z - 10
}
}