From fd554c1abccd2d039c3e0526870e6e1e7f58241b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?=
 =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?=
 <erik@darapsa.co.id>
Date: Sun, 19 Mar 2023 12:24:29 +0800
Subject: Separate main content from detail classic

to its own file
---
 Course/Detail/Classic.ui.qml              | 116 +---------------------------
 Course/Detail/Classic/Content/Main.ui.qml | 123 ++++++++++++++++++++++++++++++
 2 files changed, 127 insertions(+), 112 deletions(-)
 create mode 100644 Course/Detail/Classic/Content/Main.ui.qml

(limited to 'Course')

diff --git a/Course/Detail/Classic.ui.qml b/Course/Detail/Classic.ui.qml
index be79391..2545e69 100644
--- a/Course/Detail/Classic.ui.qml
+++ b/Course/Detail/Classic.ui.qml
@@ -2,15 +2,13 @@ import QtQuick 2.15
 import QtQuick.Controls 2.15
 import QtQuick.Layouts 1.15
 import QtGraphicalEffects 1.15
-import "Classic/Content/Main/TabContents" as ContentMainTabContents
-import "../.."
+import "Classic/Content" as Content
 
 Flickable {
 	property alias introBadge: introBadge
 	property alias introTitleHeader: introTitleHeader
 	property alias introTitleParagraph: introTitleParagraph
-	property alias tabs: tabs
-	property alias courseDescription: courseDescription
+	property alias mainContent: mainContent
 	property alias image: image
 	property string priceText: "$150"
 	property alias originalPrice: originalPrice
@@ -123,117 +121,11 @@ Flickable {
 			columns: width < 992 ? 1 : 2
 			rows: width < 992 ? 2 : 1
 
-			ColumnLayout {
+			Content.Main {
+				id: mainContent
 				Layout.alignment: Qt.AlignTop
 				Layout.maximumWidth: body.width < 992
 					? body.width : body.width / 2
-
-				Item {
-					Layout.fillWidth: true
-					Layout.leftMargin: 15
-					Layout.rightMargin: 15
-					implicitHeight: mainContent.height
-
-					DropShadow {
-						source: mainContent
-						color: "#4d000000"
-						verticalOffset: 4
-						radius: 12
-						samples: 12
-						anchors.fill: mainContent
-					}
-
-					Rectangle {
-						id: mainContent
-						radius: 5.2
-						anchors {
-							left: parent.left
-							right: parent.right
-						}
-						implicitHeight: tabs.height + tabsContent.height + 83.2
-
-						ColumnLayout {
-							anchors {
-								left: parent.left
-								leftMargin: 25.6
-								right: parent.right
-								rightMargin: 25.6
-							}
-
-							GridView {
-								id: tabs
-								interactive: false
-								Layout.fillWidth: true
-								Layout.topMargin: 16
-								Layout.bottomMargin: 16
-								cellWidth: 105.016
-								cellHeight: 46
-								implicitHeight: Math.ceil(count / Math.floor(count / (cellWidth * count / width))) * cellHeight
-								model: ["Overview", "Curriculum", "Instructor", "Reviews", "FAQs", "Comment"]
-								delegate: TabItem {
-									contentItem: Text {
-										text: modelData
-										color: "#066ac9"
-										font {
-											family: doesntEmbed ? "Roboto" : regular.name
-											pointSize: 15
-										}
-									}
-									background: Rectangle {
-										color: index == currentIndex ? "#1a0fffff" : "transparent"
-										radius: 5.2
-									}
-								}
-							}
-
-							StackLayout {
-								id: tabsContent
-								currentIndex: tabs.currentIndex
-								Layout.topMargin: 33.6
-								Layout.leftMargin: 25.6
-								Layout.rightMargin: 25.6
-								Layout.bottomMargin: 25.6
-
-								ColumnLayout {
-
-									Label {
-										text: qsTr("Course Description")
-										color: "#24292d"
-										wrapMode: Text.Wrap
-										Layout.fillWidth: true
-										Layout.bottomMargin: 16
-										font {
-											family: heebo.name
-											pointSize: 20.1
-										}
-									}
-
-									Label {
-										id: courseDescription
-										text: qsTr("Welcome to the Digital Marketing Ultimate Course Bundle - 12 Courses in 1 (Over 36 hours of content)")
-										color: "#747579"
-										wrapMode: Text.Wrap
-										Layout.fillWidth: true
-										font {
-											family: doesntEmbed ? "Roboto" : regular.name
-											pointSize: 15
-										}
-									}
-								}
-
-								Item {}
-
-								ContentMainTabContents.Instructor {}
-
-								Item {}
-
-								Item {}
-
-								Item {}
-							}
-						}
-					}
-				}
 			}
 
 			ColumnLayout {
diff --git a/Course/Detail/Classic/Content/Main.ui.qml b/Course/Detail/Classic/Content/Main.ui.qml
new file mode 100644
index 0000000..1442224
--- /dev/null
+++ b/Course/Detail/Classic/Content/Main.ui.qml
@@ -0,0 +1,123 @@
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtGraphicalEffects 1.15
+import "../../../.."
+import "Main/TabContents" as MainTabContents
+
+ColumnLayout {
+	property alias tabs: tabs
+	property alias courseDescription: courseDescription
+
+	Item {
+		Layout.fillWidth: true
+		Layout.leftMargin: 15
+		Layout.rightMargin: 15
+		implicitHeight: rectangle.height
+
+		DropShadow {
+			source: rectangle
+			color: "#4d000000"
+			verticalOffset: 4
+			radius: 12
+			samples: 12
+			anchors.fill: rectangle
+		}
+
+		Rectangle {
+			id: rectangle
+			radius: 5.2
+			anchors {
+				left: parent.left
+				right: parent.right
+			}
+			implicitHeight: tabs.height + tabsContent.height + 83.2
+
+			ColumnLayout {
+				anchors {
+					left: parent.left
+					leftMargin: 25.6
+					right: parent.right
+					rightMargin: 25.6
+				}
+
+				GridView {
+					id: tabs
+					interactive: false
+					Layout.fillWidth: true
+					Layout.topMargin: 16
+					Layout.bottomMargin: 16
+					cellWidth: 105.016
+					cellHeight: 46
+					implicitHeight: Math.ceil(count
+							/ Math.floor(count
+							/ (cellWidth * count
+							/ width))) * cellHeight
+					model: ["Overview", "Curriculum",
+						"Instructor", "Reviews", "FAQs",
+						"Comment"]
+					delegate: TabItem {
+						contentItem: Text {
+							text: modelData
+							color: "#066ac9"
+							font {
+								family: doesntEmbed ? "Roboto" : regular.name
+								pointSize: 15
+							}
+						}
+						background: Rectangle {
+							color: index == currentIndex ? "#1a0fffff" : "transparent"
+							radius: 5.2
+						}
+					}
+				}
+
+				StackLayout {
+					id: tabsContent
+					currentIndex: tabs.currentIndex
+					Layout.topMargin: 33.6
+					Layout.leftMargin: 25.6
+					Layout.rightMargin: 25.6
+					Layout.bottomMargin: 25.6
+
+					ColumnLayout {
+
+						Label {
+							text: qsTr("Course Description")
+							color: "#24292d"
+							wrapMode: Text.Wrap
+							Layout.fillWidth: true
+							Layout.bottomMargin: 16
+							font {
+								family: heebo.name
+								pointSize: 20.1
+							}
+						}
+
+						Label {
+							id: courseDescription
+							text: qsTr("Welcome to the Digital Marketing Ultimate Course Bundle - 12 Courses in 1 (Over 36 hours of content)")
+							color: "#747579"
+							wrapMode: Text.Wrap
+							Layout.fillWidth: true
+							font {
+								family: doesntEmbed ? "Roboto" : regular.name
+								pointSize: 15
+							}
+						}
+					}
+
+					Item {}
+
+					MainTabContents.Instructor {}
+
+					Item {}
+
+					Item {}
+
+					Item {}
+				}
+			}
+		}
+	}
+}
-- 
cgit v1.2.3