diff options
| author | Erik Prabowo Kamal <erik@darapsa.org> | 2025-12-12 17:39:13 +0800 |
|---|---|---|
| committer | Erik Prabowo Kamal <erik@darapsa.org> | 2025-12-12 17:39:13 +0800 |
| commit | b0e61967f50b075928028502a9308cc94e06d105 (patch) | |
| tree | b36064a788420db475c8702e06c4873bcb1a3bdb /Shop | |
| parent | b2c5da1d29ceeb8ce0dcf08d6ed78eb00793a8d0 (diff) | |
Capitalise shop & cart folder initial letters
and reindent as needed.
Diffstat (limited to 'Shop')
| -rw-r--r-- | Shop/Cart/Alert.ui.qml | 67 | ||||
| -rw-r--r-- | Shop/Cart/CartTotal.ui.qml | 156 | ||||
| -rw-r--r-- | Shop/Cart/Table/CourseItem.ui.qml | 52 | ||||
| -rw-r--r-- | Shop/cart/Alert.ui.qml | 67 | ||||
| -rw-r--r-- | Shop/cart/Table/CourseItem.ui.qml | 52 |
5 files changed, 275 insertions, 119 deletions
diff --git a/Shop/Cart/Alert.ui.qml b/Shop/Cart/Alert.ui.qml new file mode 100644 index 0000000..4e306c3 --- /dev/null +++ b/Shop/Cart/Alert.ui.qml @@ -0,0 +1,67 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import Eduport +import "../../TextField" as TxtFld +import "../../Label" as Lbl +import "../../Button" as Btn + +Rectangle { + id: alertContainer + color: "#f8d7da" + border.color: "#f1aeb5" + height: alertContent.height + width: alertContent.width + radius: 8 + RowLayout { + id: alertContent + anchors.fill: parent + spacing: 0 + Label { + id: alertEmoji + text: "🔥" + Layout.bottomMargin: 16 + Layout.rightMargin: 8 + Layout.topMargin: 16 + Layout.leftMargin: 16 + font.pointSize: 21 + } + Label { + id: alertText + color: "#b02a37" + text: "These courses are at a limited discount, please checkout within" + wrapMode: Text.Wrap + Layout.bottomMargin: 16 + Layout.topMargin: 16 + Layout.rightMargin: 4 + font.pointSize: 21 + } + Label { + id: alertTime + color: "#d6293e" + text: "2 days and 18 hours" + Layout.rightMargin: 8 + Layout.bottomMargin: 16 + Layout.topMargin: 16 + font.styleName: "Bold" + font.pointSize: 21 + font.family: "Roboto" + } + Button { + width: 40 + icon.source: "../../Bootstrap/icons/x.svg" + flat: true + checkable: true + display: AbstractButton.IconOnly + Layout.bottomMargin: 16 + Layout.topMargin: 16 + Layout.rightMargin: 8 + Layout.maximumHeight: 40 + Layout.maximumWidth: 40 + Layout.preferredHeight: 40 + Layout.preferredWidth: 40 + Layout.minimumHeight: 40 + Layout.minimumWidth: 40 + } + } +} diff --git a/Shop/Cart/CartTotal.ui.qml b/Shop/Cart/CartTotal.ui.qml new file mode 100644 index 0000000..f7ff2ba --- /dev/null +++ b/Shop/Cart/CartTotal.ui.qml @@ -0,0 +1,156 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import Qt5Compat.GraphicalEffects + +Item { + id: cartTotal + DropShadow { + color: "#4d000000" + source: cartTotalCard + verticalOffset: 4 + radius: 40 + samples: 81 + anchors.fill: cartTotalCard + } + Rectangle { + id: cartTotalCard + anchors.fill: parent + ColumnLayout { + id: cardBody + anchors.fill: parent + spacing: 0 + Label { + id: title + color: "#000000" + text: qsTr("Cart total") + Layout.rightMargin: 20 + Layout.leftMargin: 20 + Layout.topMargin: 20 + Layout.margins: 8 + Layout.fillHeight: false + Layout.alignment: Qt.AlignLeft | Qt.AlignTop + Layout.fillWidth: true + font.pointSize: 22 + font.styleName: "Medium" + font.family: "Roboto" + } + + RowLayout { + id: price + Layout.rightMargin: 20 + Layout.leftMargin: 20 + Layout.bottomMargin: 0 + Layout.fillHeight: true + Layout.alignment: Qt.AlignLeft | Qt.AlignTop + Layout.fillWidth: true + anchors.top: title.bottom + anchors.topMargin: 16 + Label { + color: "#000000" + text: qsTr("Original price") + Layout.fillHeight: false + font.family: "Roboto" + font.pointSize: 14 + Layout.fillWidth: true + } + Label { + color: "#000000" + text: qsTr("$500") + horizontalAlignment: Text.AlignRight + Layout.fillHeight: false + font.weight: Font.Medium + font.pointSize: 14 + Layout.fillWidth: true + } + } + + RowLayout { + id: discount + Layout.rightMargin: 20 + Layout.leftMargin: 20 + Layout.alignment: Qt.AlignLeft | Qt.AlignTop + Layout.fillWidth: true + anchors.top: price.bottom + anchors.topMargin: 16 + Label { + color: "#000000" + text: qsTr("Coupon discount") + Layout.fillHeight: false + Layout.fillWidth: true + font.family: "Roboto" + font.pointSize: 14 + } + Label { + color: "#000000" + text: qsTr("-$500") + horizontalAlignment: Text.AlignRight + Layout.fillHeight: false + Layout.fillWidth: true + font.weight: Font.Medium + } + } + + RowLayout { + id: total + Layout.rightMargin: 20 + Layout.leftMargin: 20 + Layout.alignment: Qt.AlignLeft | Qt.AlignTop + Layout.fillWidth: true + anchors.top: discount.bottom + Label { + color: "#000000" + text: qsTr("Total") + Layout.fillHeight: false + font.family: "Roboto" + font.styleName: "Medium" + font.pointSize: 22 + Layout.fillWidth: true + } + Label { + color: "#000000" + text: qsTr("$480") + horizontalAlignment: Text.AlignRight + Layout.fillHeight: false + font.styleName: "Medium" + font.pointSize: 22 + font.family: "Roboto" + Layout.fillWidth: true + } + } + + Button { + id: proceedButton + text: qsTr("Proceed to checkout") + Layout.rightMargin: 20 + Layout.leftMargin: 20 + Layout.fillHeight: false + anchors.top: total.bottom + anchors.topMargin: 16 + Layout.topMargin: 0 + font.weight: Font.Medium + font.pointSize: 14 + font.family: "Roboto" + Layout.fillWidth: true + flat: false + display: AbstractButton.TextOnly + } + + Label { + id: consent + color: "#80000000" + text: "By completing your purchase, you agree to these Terms of Service" + wrapMode: Text.Wrap + anchors.topMargin: 16 + Layout.bottomMargin: 20 + Layout.rightMargin: 20 + Layout.leftMargin: 20 + Layout.fillHeight: false + Layout.fillWidth: true + anchors.top: proceedButton.bottom + font.pointSize: 12 + font.family: "Roboto" + } + } + } +} diff --git a/Shop/Cart/Table/CourseItem.ui.qml b/Shop/Cart/Table/CourseItem.ui.qml new file mode 100644 index 0000000..a2f5d70 --- /dev/null +++ b/Shop/Cart/Table/CourseItem.ui.qml @@ -0,0 +1,52 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import Qt5Compat.GraphicalEffects +import Bootstrap +import Eduport +import "../../../TextField" +import "../../../Button" + +GridLayout { + rows: width < 990 ? 2 : 1 + columns: width < 990 ? 1 : 2 + rowSpacing: 8 + columnSpacing: 8 + Rectangle { + id: courseItemImage + width: 100 + height: 75 + Layout.maximumWidth: width + Layout.maximumHeight: height + radius: 8 + Layout.rightMargin: 8 + Layout.bottomMargin: 16 + Layout.topMargin: 16 + Layout.leftMargin: 8 + Layout.alignment: Qt.AlignLeft | Qt.AlignTop + Image { + id: courseItemImageSource + anchors.fill: parent + visible: false + source: "https://eduport.webestica.com/assets/images/courses/4by3/08.jpg" + } + OpacityMask { + id: coursetemImageMask + anchors.fill: courseItemImage + source: courseItemImageSource + maskSource: courseItemImage + } + } + + Label { + id: courseItemTitle + text: "Course Item Title" + wrapMode: Label.Wrap + Bootstrap.heading: 6 + Layout.maximumHeight: courseItemImage.height + Layout.alignment: parent.width < 990 ? Qt.AlignTop | Qt.AlignHCenter : Qt.AlignLeft + | Qt.AlignVCenter + Layout.fillWidth: true + Layout.fillHeight: parent.width < 990 ? true : false + } +} diff --git a/Shop/cart/Alert.ui.qml b/Shop/cart/Alert.ui.qml deleted file mode 100644 index e662a00..0000000 --- a/Shop/cart/Alert.ui.qml +++ /dev/null @@ -1,67 +0,0 @@ -import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Eduport -import "../../TextField" as TxtFld -import "../../Label" as Lbl -import "../../Button" as Btn - -Rectangle { - id: alertContainer - color: "#f8d7da" - border.color: "#f1aeb5" - height: alertContent.height - width: alertContent.width - radius: 8 - RowLayout { - id: alertContent - anchors.fill: parent - spacing: 0 - Label { - id: alertEmoji - text: "🔥" - Layout.bottomMargin: 16 - Layout.rightMargin: 8 - Layout.topMargin: 16 - Layout.leftMargin: 16 - font.pointSize: 21 - } - Label { - id: alertText - color: "#b02a37" - text: "These courses are at a limited discount, please checkout within" - wrapMode: Text.Wrap - Layout.bottomMargin: 16 - Layout.topMargin: 16 - Layout.rightMargin: 4 - font.pointSize: 21 - } - Label { - id: alertTime - color: "#d6293e" - text: "2 days and 18 hours" - Layout.rightMargin: 8 - Layout.bottomMargin: 16 - Layout.topMargin: 16 - font.styleName: "Bold" - font.pointSize: 21 - font.family: "Roboto" - } - Button { - width: 40 - icon.source: "../../Bootstrap/icons/x.svg" - flat: true - checkable: true - display: AbstractButton.IconOnly - Layout.bottomMargin: 16 - Layout.topMargin: 16 - Layout.rightMargin: 8 - Layout.maximumHeight: 40 - Layout.maximumWidth: 40 - Layout.preferredHeight: 40 - Layout.preferredWidth: 40 - Layout.minimumHeight: 40 - Layout.minimumWidth: 40 - } - } -} diff --git a/Shop/cart/Table/CourseItem.ui.qml b/Shop/cart/Table/CourseItem.ui.qml deleted file mode 100644 index f4b0a3f..0000000 --- a/Shop/cart/Table/CourseItem.ui.qml +++ /dev/null @@ -1,52 +0,0 @@ -import QtQuick -import QtQuick.Controls -import QtQuick.Layouts -import Qt5Compat.GraphicalEffects -import Bootstrap -import Eduport -import "../../../TextField" -import "../../../Button" - -GridLayout { - rows: width < 990 ? 2 : 1 - columns: width < 990 ? 1 : 2 - rowSpacing: 8 - columnSpacing: 8 - Rectangle { - id: courseItemImage - width: 100 - height: 75 - Layout.maximumWidth: width - Layout.maximumHeight: height - radius: 8 - Layout.rightMargin: 8 - Layout.bottomMargin: 16 - Layout.topMargin: 16 - Layout.leftMargin: 8 - Layout.alignment: Qt.AlignLeft | Qt.AlignTop - Image { - id: courseItemImageSource - anchors.fill: parent - visible: false - source: "https://eduport.webestica.com/assets/images/courses/4by3/08.jpg" - } - OpacityMask { - id: coursetemImageMask - anchors.fill: courseItemImage - source: courseItemImageSource - maskSource: courseItemImage - } - } - - Label { - id: courseItemTitle - text: "Course Item Title" - wrapMode: Label.Wrap - Bootstrap.heading: 6 - Layout.maximumHeight: courseItemImage.height - Layout.alignment: parent.width < 990 ? Qt.AlignTop | Qt.AlignHCenter : Qt.AlignLeft - | Qt.AlignVCenter - Layout.fillWidth: true - Layout.fillHeight: parent.width < 990 ? true : false - } -} |