diff --git a/storybook/pages/SlippageSelectorPage.qml b/storybook/pages/SlippageSelectorPage.qml
new file mode 100644
index 0000000000..7a6f029082
--- /dev/null
+++ b/storybook/pages/SlippageSelectorPage.qml
@@ -0,0 +1,68 @@
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+
+import StatusQ.Core 0.1
+import StatusQ.Core.Theme 0.1
+
+import shared.controls 1.0
+import utils 1.0
+
+import Storybook 1.0
+
+SplitView {
+ orientation: Qt.Horizontal
+
+ Logs { id: logs }
+
+ Pane {
+ SplitView.fillWidth: true
+ SplitView.fillHeight: true
+
+ SlippageSelector {
+ id: buttonRow
+
+ anchors.centerIn: parent
+ }
+ }
+
+ LogsAndControlsPanel {
+ SplitView.fillHeight: true
+ SplitView.preferredWidth: 300
+
+ logsView.logText: logs.logText
+
+ ColumnLayout {
+ anchors.fill: parent
+
+ Label {
+ Layout.fillWidth: true
+ font.weight: Font.Medium
+ text: "Value: %1".arg(buttonRow.value)
+ }
+ Label {
+ Layout.fillWidth: true
+ font.weight: Font.Medium
+ text: "Valid: " + buttonRow.valid//"%1".arg(buttonRow.valid ? "true" : "false")
+ }
+
+ ColumnLayout {
+ Repeater {
+ model: [0.1, 0.5, 0.24, 0.8, 120.84]
+
+ Button {
+ text: "set " + modelData
+ onClicked: buttonRow.value = modelData
+ }
+ }
+ }
+
+ Item { Layout.fillHeight: true }
+ }
+ }
+}
+
+// category: Controls
+
+// https://www.figma.com/design/TS0eQX9dAZXqZtELiwKIoK/Swap---Milestone-1?node-id=3409-257346&t=ENK93cK7GyTqEV8S-0
+// https://www.figma.com/design/TS0eQX9dAZXqZtELiwKIoK/Swap---Milestone-1?node-id=3410-262441&t=ENK93cK7GyTqEV8S-0
diff --git a/storybook/pages/StatusButtonRowPage.qml b/storybook/pages/StatusButtonRowPage.qml
index 7a6f029082..72a57e6df7 100644
--- a/storybook/pages/StatusButtonRowPage.qml
+++ b/storybook/pages/StatusButtonRowPage.qml
@@ -4,8 +4,8 @@ import QtQuick.Controls 2.15
import StatusQ.Core 0.1
import StatusQ.Core.Theme 0.1
+import StatusQ.Controls 0.1
-import shared.controls 1.0
import utils 1.0
import Storybook 1.0
@@ -15,14 +15,27 @@ SplitView {
Logs { id: logs }
+ QtObject {
+ id: d
+ readonly property var values: [0.1, 0.5, 0.7, 1] // predefined values
+ }
+
+ ListModel {
+ id: valuesModel
+ }
+
+ Component.onCompleted: {
+ valuesModel.append(d.values.map(i => ({ text: "%L1".arg(i), value: i })))
+ }
+
Pane {
SplitView.fillWidth: true
SplitView.fillHeight: true
- SlippageSelector {
+ StatusButtonRow {
id: buttonRow
-
anchors.centerIn: parent
+ model: valuesModel
}
}
@@ -38,23 +51,13 @@ SplitView {
Label {
Layout.fillWidth: true
font.weight: Font.Medium
- text: "Value: %1".arg(buttonRow.value)
+ text: "Raw model: %1".arg(d.values)
}
+
Label {
Layout.fillWidth: true
font.weight: Font.Medium
- text: "Valid: " + buttonRow.valid//"%1".arg(buttonRow.valid ? "true" : "false")
- }
-
- ColumnLayout {
- Repeater {
- model: [0.1, 0.5, 0.24, 0.8, 120.84]
-
- Button {
- text: "set " + modelData
- onClicked: buttonRow.value = modelData
- }
- }
+ text: "Value: %1".arg(buttonRow.value)
}
Item { Layout.fillHeight: true }
diff --git a/ui/imports/shared/controls/StatusButtonRow.qml b/ui/StatusQ/src/StatusQ/Controls/StatusButtonRow.qml
similarity index 93%
rename from ui/imports/shared/controls/StatusButtonRow.qml
rename to ui/StatusQ/src/StatusQ/Controls/StatusButtonRow.qml
index 602909fb78..1f7d1c94f8 100644
--- a/ui/imports/shared/controls/StatusButtonRow.qml
+++ b/ui/StatusQ/src/StatusQ/Controls/StatusButtonRow.qml
@@ -5,8 +5,6 @@ import QtQuick.Layouts 1.15
import StatusQ.Core 0.1
import StatusQ.Controls 0.1
-import utils 1.0
-
RowLayout {
id: root
@@ -16,7 +14,7 @@ RowLayout {
property alias model: repeater.model
property var value: null
- spacing: Style.current.halfPadding
+ spacing: 8
Repeater {
id: repeater
diff --git a/ui/StatusQ/src/StatusQ/Controls/qmldir b/ui/StatusQ/src/StatusQ/Controls/qmldir
index 4b6fba584a..d388f76fb7 100644
--- a/ui/StatusQ/src/StatusQ/Controls/qmldir
+++ b/ui/StatusQ/src/StatusQ/Controls/qmldir
@@ -15,6 +15,7 @@ StatusTabBarIconButton 0.1 StatusTabBarIconButton.qml
StatusToolTip 0.1 StatusToolTip.qml
StatusBaseButton 0.1 StatusBaseButton.qml
StatusButton 0.1 StatusButton.qml
+StatusButtonRow 0.1 StatusButtonRow.qml
StatusFlatButton 0.1 StatusFlatButton.qml
StatusRoundButton 0.1 StatusRoundButton.qml
StatusFlatRoundButton 0.1 StatusFlatRoundButton.qml
diff --git a/ui/StatusQ/src/statusq.qrc b/ui/StatusQ/src/statusq.qrc
index 26041a3a7f..c1089218ad 100644
--- a/ui/StatusQ/src/statusq.qrc
+++ b/ui/StatusQ/src/statusq.qrc
@@ -93,6 +93,7 @@
StatusQ/Controls/StatusBaseInput.qml
StatusQ/Controls/StatusBlockProgressBar.qml
StatusQ/Controls/StatusButton.qml
+ StatusQ/Controls/StatusButtonRow.qml
StatusQ/Controls/StatusChatCommandButton.qml
StatusQ/Controls/StatusChatInfoButton.qml
StatusQ/Controls/StatusChatListCategoryItemButton.qml
diff --git a/ui/imports/shared/controls/qmldir b/ui/imports/shared/controls/qmldir
index da1f5f9085..3df8219596 100644
--- a/ui/imports/shared/controls/qmldir
+++ b/ui/imports/shared/controls/qmldir
@@ -33,7 +33,6 @@ SettingsRadioButton 1.0 SettingsRadioButton.qml
ShapeRectangle 1.0 ShapeRectangle.qml
SlippageSelector 1.0 SlippageSelector.qml
SocialLinkPreview 1.0 SocialLinkPreview.qml
-StatusButtonRow 1.0 StatusButtonRow.qml
StatusSyncCodeInput 1.0 StatusSyncCodeInput.qml
StatusSyncCodeScan 1.0 StatusSyncCodeScan.qml
StatusSyncingInstructions 1.0 StatusSyncingInstructions.qml