import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Components 0.1 import utils 1.0 StatusFlowSelector { id: root property alias model: repeater.model readonly property alias count: repeater.count signal itemClicked(int index, var mouse, var item) placeholderText: qsTr("Example: 1 SOCK") placeholderItem.visible: repeater.count === 0 title: qsTr("What") icon: Theme.svg("token") QtObject { id: d readonly property int commonMargin: 6 readonly property int iconSize: 28 } Repeater { id: repeater Control { id: delegateRoot component Icon: StatusRoundedImage { implicitWidth: d.iconSize implicitHeight: d.iconSize image.mipmap: true } component Text: StatusBaseText { Layout.fillWidth: true font.weight: Font.Medium color: model.valid ? Theme.palette.primaryColor1 : Theme.palette.dangerColor1 elide: Text.ElideRight } implicitHeight: root.placeholderItemHeight leftPadding: (root.placeholderItemHeight - d.iconSize) / 2 rightPadding: d.commonMargin * 2 background: Rectangle { color: model.valid ? Theme.palette.primaryColor3 : Theme.palette.dangerColor3 radius: root.placeholderItemHeight / 2 MouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: root.itemClicked(model.index, mouse, delegateRoot) } } contentItem: RowLayout { spacing: d.commonMargin Icon { image.source: model.tokenImage } Text { text: qsTr("%1 on", "It means that a given token is deployed 'on' a given network, e.g. '2 MCT on Ethereum'. The name of the network is preceded by an icon, so it is not part of this phrase.") .arg(model.tokenText) } Icon { image.source: model.networkImage } Text { text: model.networkText } } } } }