summaryrefslogtreecommitdiff
path: root/DefaultHomeFlickable.ui.qml
blob: e2f89fe24e25b9de52e342d6471a05234824656e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15

Flickable {
	property alias counter: counter
	property alias popular: popular
	contentHeight: body.height

	ColumnLayout {
		id: body
		anchors {
			top: parent.top
			left: parent.left
			right: parent.right
		}

		ToolBar {
			Layout.fillWidth: true
			RowLayout {
				anchors.fill: parent
				layoutDirection: Qt.RightToLeft
				ToolButton {
					onClicked: optionsMenu.open()
					Menu {
						id: optionsMenu
						y: parent.height
						Action {
							text: qsTr("Edit Profile")
						}
						Action {
							text: qsTr("Account Settings")
						}
						Action {
							text: qsTr("Help")
						}
						Action {
							text: qsTr("Sign Out")
						}
						Action {
							text: qsTr("Dark Mode")
						}
					}
				}
			}
		}

		Item {
			implicitHeight: counter.height + popular.height
			Layout.fillWidth: true

			GridView {
				id: counter
				interactive: false
				cellWidth: width < 576 ? width
				: width < 1200 ? width / 2
				: width / 4
				cellHeight: 125.6
				height: width < 576 ? cellHeight * count
				: width < 1200 ? cellHeight * count / 2
				: cellHeight
				anchors {
					top: parent.top
					left: parent.left
					right: parent.right
				}

				model: ListModel {
					ListElement {
						icon: "Font-Awesome/svgs/solid/tv.svg"
						count: "10K"
						title: qsTr("Online Courses")
						bgColor: "#26f7c32e"
					}
					ListElement {
						icon: "Font-Awesome/svgs/solid/user-tie.svg"
						count: "200+"
						title: qsTr("Expert Tutors")
						bgColor: "#1a1d3b53"
					}
					ListElement {
						icon: "Font-Awesome/svgs/solid/user-graduate.svg"
						count: "60K+"
						title: qsTr("Online Students")
						bgColor: "#1a6f42c1"
					}
					ListElement {
						icon: "Bootstrap/icons/patch-check-fill.svg"
						count: "6K+"
						title: qsTr("Certified Courses")
						bgColor: "#1a17a2b8"
					}
				}
			}

			GridView {
				id: popular
				interactive: false
				cellWidth: width < 576 ? width
				: width < 768 ? width / 2
				: width < 992 ? width / 3
				: width / 4
				cellHeight: cellWidth * 1.3
				height: width < 576 ? cellHeight * count
				: width < 768 ? cellHeight * count / 2
				: width < 992 ? cellHeight * count / 3
				: cellHeight * count / 4
				anchors {
					top: counter.bottom
					left: parent.left
					right: parent.right
				}
			}
		}
	}
}