diff options
author | anatasof wirapraja <anatasof.wirapraja@gmail.com> | 2023-04-04 12:11:29 +0700 |
---|---|---|
committer | anatasof wirapraja <anatasof.wirapraja@gmail.com> | 2023-04-04 12:11:29 +0700 |
commit | 99f76ba0ef58a252c1d82acbd56df8b6ef5a735c (patch) | |
tree | ead1dae3997aa544f01e98f2fb2a937d9daf0389 /Shop/Checkout/RightSidebar | |
parent | d4144d1a21af598b56f9be51e7b8714d428ad355 (diff) | |
parent | 0f2807e6a518c09f4926bc5cda65c1ce3321732d (diff) |
Merge commit '0f2807e6a518c09f4926bc5cda65c1ce3321732d'
Diffstat (limited to 'Shop/Checkout/RightSidebar')
-rw-r--r-- | Shop/Checkout/RightSidebar/OrderSummary.ui.qml | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/Shop/Checkout/RightSidebar/OrderSummary.ui.qml b/Shop/Checkout/RightSidebar/OrderSummary.ui.qml new file mode 100644 index 0000000..7564106 --- /dev/null +++ b/Shop/Checkout/RightSidebar/OrderSummary.ui.qml @@ -0,0 +1,242 @@ +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.15 +import Eduport 1.4 +import "../../../TextField" +import "../../../Label" +import "../../../Button" +import "../.." + +ColumnLayout { + property alias courseItems: courseItems + property alias priceValue: priceValue + property alias discountValue: discountValue + property alias totalValue: totalValue + property alias placeOrder: placeOrder + + H4 { + text: qsTr("Order Summary") + Layout.fillWidth: true + Layout.rightMargin: 16 + Layout.leftMargin: 16 + Layout.topMargin: 16 + } + + ColumnLayout { + Layout.margins: 16 + spacing: 16 + + Item { + Layout.fillWidth: true + implicitHeight: codeLabel.implicitHeight + + codeValue.implicitHeight + + Body { + id: codeLabel + text: qsTr("Transaction code") + anchors.verticalCenter: parent.verticalCenter + } + + H6 { + id: codeValue + text: "AB12365E" + font { + family: Eduport.fwLightFont.family + weight: Eduport.fwLightFont.weight + pointSize: Eduport.h6FontSize + } + anchors { + right: parent.right + verticalCenter: parent.verticalCenter + } + } + } + + RowLayout { + + Rectangle { + implicitHeight: 56 + color: "#f5f7f9" + radius: 8 + border.width: 0 + Layout.fillWidth: true + RowLayout { + anchors.fill: parent + Input { + placeholderText: + qsTr("COUPON CODE") + Layout.fillWidth: true + Layout.fillHeight: true + } + } + } + + Button { + text: qsTr("Apply") + font.pointSize: 14 + font.family: "roboto" + implicitHeight: 56 + contentItem: Text { + color: "#ffffff" + text: "Apply" + padding: 12 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + font.weight: Font.Medium + font.family: "Roboto" + font.pointSize: 14 + } + + background: Rectangle { + color: "#066ac9" + radius: 8 + } + } + } + } + + ListView { + id: courseItems + interactive: false + Layout.fillWidth: true + implicitHeight: count + * (width * 400 / 533 + + (width < 362 ? 37.5 : 18.75) + + 86.5) + model: ListModel { + ListElement { + image: "https://eduport.webestica.com/assets/images/courses/4by3/08.jpg" + title: "Sketch from A to Z: for app designer" + price: "$150" + } + ListElement { + image: "https://eduport.webestica.com/assets/images/courses/4by3/18.jpg" + title: "The Complete Video Production Bootcamp" + price: "$350" + } + } + delegate: Course { + width: courseItems.width + imageSource: image + titleText: title + priceText: price + } + } + + Rectangle { + Layout.fillWidth: true + Layout.topMargin: 16 + Layout.bottomMargin: 16 + height: 1 + border { + width: .5 + color: "#0a000000" + } + } + + ColumnLayout { + + Item { + Layout.fillWidth: true + implicitHeight: priceLabel.implicitHeight + + priceValue.implicitHeight + + H6 { + id: priceLabel + text: qsTr("Original Price") + font { + family: Eduport.fwLightFont.family + weight: Eduport.fwLightFont.weight + pointSize: Eduport.h6FontSize + } + anchors.verticalCenter: parent.verticalCenter + } + + H6 { + id: priceValue + text: "$500" + anchors { + right: parent.right + verticalCenter: parent.verticalCenter + } + } + } + + Item { + Layout.fillWidth: true + implicitHeight: discountLabel.implicitHeight + + discountValue.implicitHeight + + H6 { + id: discountLabel + text: qsTr("Coupon Discount") + font { + family: Eduport.fwLightFont.family + weight: Eduport.fwLightFont.weight + pointSize: Eduport.h6FontSize + } + anchors.verticalCenter: parent.verticalCenter + } + + Body { + id: discountValue + text: "-$20" + anchors { + right: parent.right + verticalCenter: parent.verticalCenter + } + } + } + + Item { + Layout.fillWidth: true + implicitHeight: totalLabel.implicitHeight + + totalValue.implicitHeight + + H5 { + id: totalLabel + text: qsTr("Total") + anchors.verticalCenter: parent.verticalCenter + } + + H5 { + id: totalValue + text: "$480" + anchors { + right: parent.right + verticalCenter: parent.verticalCenter + } + } + } + } + + Success { + id: placeOrder + Layout.margins: 16 + Layout.fillWidth: true + text: qsTr("Place Order") + implicitHeight: 36 + font { + family: Eduport.bsBtnFont.family + weight: Eduport.bsBtnFont.weight + pointSize: Eduport.bsBtnLgFontSize + } + background: Rectangle { + color: placeOrder.down + ? Eduport.bsBtnSuccessActiveBG + : placeOrder.enabled + ? Eduport.bsBtnSuccessBg + : Eduport.bsBtnSuccessDisabledBg + border { + width: Eduport.bsBtnBorderWidth + color: placeOrder.down + ? Eduport.bsBtnSuccessActiveBorderColor + : placeOrder.enabled + ? Eduport.bsBtnSuccessBorderColor + : Eduport + .bsBtnSuccessDisabledBorderColor + } + radius: Eduport.bsBtnLgBorderRadius + } + } +} |