summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id>2019-09-24 22:05:01 +0800
committerꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id>2019-09-24 22:05:01 +0800
commite5d1cb6db260c71e2205c4f65d383628bb518f5e (patch)
tree00212ed61a0bdb79985d8bf7196461ba026cd9e2
parent372de3c1c8fb8d7be23713d51c1d4c926b7fcb10 (diff)
All forms and icons are moved here
-rw-r--r--.gitignore2
-rw-r--r--components/icons/add-24px.svg1
-rw-r--r--components/icons/arrow-back-24px.svg1
-rw-r--r--components/icons/arrow-forward-24px.svg1
-rw-r--r--components/icons/attachment-24px.svg1
-rw-r--r--components/icons/check-box-outline-24px.svg1
-rw-r--r--components/icons/chevron-right-24px.svg1
-rw-r--r--components/icons/close-24px.svg1
-rw-r--r--components/icons/email-24px.svg1
-rw-r--r--components/icons/lock-24px.svg1
-rw-r--r--components/icons/menu-24px.svg1
-rw-r--r--components/icons/photo_camera_24px.svg1
-rw-r--r--components/icons/profile-24px.svg1
-rw-r--r--components/icons/user-24px.svg15
-rw-r--r--features/CreateProfileForm.ui.qml210
-rw-r--r--features/EmailForm.ui.qml123
-rw-r--r--features/ExistingLoginForm.ui.qml128
-rw-r--r--features/HomeForm.ui.qml5
-rw-r--r--features/LoginEmailForm.ui.qml4
-rw-r--r--features/LoginForm.ui.qml29
-rw-r--r--features/LoginPasswordForm.ui.qml6
-rw-r--r--features/PasswordForm.ui.qml159
-rw-r--r--features/ProfileEditForm.ui.qml8
-rw-r--r--features/ProfileForm.ui.qml6
-rw-r--r--features/TaskDetailForm.ui.qml2
-rw-r--r--features/TaskForm.ui.qml2
-rw-r--r--features/TaskListForm.ui.qml2
-rw-r--r--features/UsernameForm.ui.qml35
-rw-r--r--material-design-icons.qrc16
29 files changed, 745 insertions, 19 deletions
diff --git a/.gitignore b/.gitignore
index b09842f..b365c6f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,7 +31,6 @@ Makefile*
*build-*
*.pro
*.conf
-*.qrc
# Qt unit tests
target_wrapper.*
@@ -53,5 +52,4 @@ compile_commands.json
*creator.user*
# Assets
-*.svg
*.png
diff --git a/components/icons/add-24px.svg b/components/icons/add-24px.svg
new file mode 100644
index 0000000..ff2ae4c
--- /dev/null
+++ b/components/icons/add-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg> \ No newline at end of file
diff --git a/components/icons/arrow-back-24px.svg b/components/icons/arrow-back-24px.svg
new file mode 100644
index 0000000..9d5f05f
--- /dev/null
+++ b/components/icons/arrow-back-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg> \ No newline at end of file
diff --git a/components/icons/arrow-forward-24px.svg b/components/icons/arrow-forward-24px.svg
new file mode 100644
index 0000000..842e7d0
--- /dev/null
+++ b/components/icons/arrow-forward-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8z"/></svg> \ No newline at end of file
diff --git a/components/icons/attachment-24px.svg b/components/icons/attachment-24px.svg
new file mode 100644
index 0000000..b868484
--- /dev/null
+++ b/components/icons/attachment-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M18.5 16H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h12.5c1.38 0 2.5 1.12 2.5 2.5S20.88 13 19.5 13H9c-.55 0-1-.45-1-1s.45-1 1-1h9.5V9.5H9c-1.38 0-2.5 1.12-2.5 2.5s1.12 2.5 2.5 2.5h10.5c2.21 0 4-1.79 4-4s-1.79-4-4-4H7c-3.04 0-5.5 2.46-5.5 5.5s2.46 5.5 5.5 5.5h11.5V16z"/></svg> \ No newline at end of file
diff --git a/components/icons/check-box-outline-24px.svg b/components/icons/check-box-outline-24px.svg
new file mode 100644
index 0000000..68d3447
--- /dev/null
+++ b/components/icons/check-box-outline-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg> \ No newline at end of file
diff --git a/components/icons/chevron-right-24px.svg b/components/icons/chevron-right-24px.svg
new file mode 100644
index 0000000..acabc29
--- /dev/null
+++ b/components/icons/chevron-right-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z"/></svg> \ No newline at end of file
diff --git a/components/icons/close-24px.svg b/components/icons/close-24px.svg
new file mode 100644
index 0000000..0fd6b0d
--- /dev/null
+++ b/components/icons/close-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg> \ No newline at end of file
diff --git a/components/icons/email-24px.svg b/components/icons/email-24px.svg
new file mode 100644
index 0000000..1ed4686
--- /dev/null
+++ b/components/icons/email-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6zm-2 0l-8 5-8-5h16zm0 12H4V8l8 5 8-5v10z"/></svg> \ No newline at end of file
diff --git a/components/icons/lock-24px.svg b/components/icons/lock-24px.svg
new file mode 100644
index 0000000..1dbceea
--- /dev/null
+++ b/components/icons/lock-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none"><path d="M0 0h24v24H0V0z"/><path opacity=".87" d="M0 0h24v24H0V0z"/></g><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg> \ No newline at end of file
diff --git a/components/icons/menu-24px.svg b/components/icons/menu-24px.svg
new file mode 100644
index 0000000..770b192
--- /dev/null
+++ b/components/icons/menu-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg> \ No newline at end of file
diff --git a/components/icons/photo_camera_24px.svg b/components/icons/photo_camera_24px.svg
new file mode 100644
index 0000000..5a9866b
--- /dev/null
+++ b/components/icons/photo_camera_24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M14.12 4l1.83 2H20v12H4V6h4.05l1.83-2h4.24M15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm-3 7c1.65 0 3 1.35 3 3s-1.35 3-3 3-3-1.35-3-3 1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5z"/></svg> \ No newline at end of file
diff --git a/components/icons/profile-24px.svg b/components/icons/profile-24px.svg
new file mode 100644
index 0000000..beed9cb
--- /dev/null
+++ b/components/icons/profile-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7.07 18.28c.43-.9 3.05-1.78 4.93-1.78s4.51.88 4.93 1.78C15.57 19.36 13.86 20 12 20s-3.57-.64-4.93-1.72zm11.29-1.45c-1.43-1.74-4.9-2.33-6.36-2.33s-4.93.59-6.36 2.33C4.62 15.49 4 13.82 4 12c0-4.41 3.59-8 8-8s8 3.59 8 8c0 1.82-.62 3.49-1.64 4.83zM12 6c-1.94 0-3.5 1.56-3.5 3.5S10.06 13 12 13s3.5-1.56 3.5-3.5S13.94 6 12 6zm0 5c-.83 0-1.5-.67-1.5-1.5S11.17 8 12 8s1.5.67 1.5 1.5S12.83 11 12 11z"/></svg> \ No newline at end of file
diff --git a/components/icons/user-24px.svg b/components/icons/user-24px.svg
new file mode 100644
index 0000000..3eff6de
--- /dev/null
+++ b/components/icons/user-24px.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- Generator: Sketch 57.1 (83088) - https://sketch.com -->
+ <title>username-24</title>
+ <desc>Created with Sketch.</desc>
+ <defs>
+ <path d="M12,2 C6.48,2 2,6.48 2,12 C2,17.52 6.48,22 12,22 L17,22 L17,20 L12,20 C7.66,20 4,16.34 4,12 C4,7.66 7.66,4 12,4 C16.34,4 20,7.66 20,12 L20,13.43 C20,14.22 19.29,15 18.5,15 C17.71,15 17,14.22 17,13.43 L17,12 C17,9.24 14.76,7 12,7 C9.24,7 7,9.24 7,12 C7,14.76 9.24,17 12,17 C13.38,17 14.64,16.44 15.54,15.53 C16.19,16.42 17.31,17 18.5,17 C20.47,17 22,15.4 22,13.43 L22,12 C22,6.48 17.52,2 12,2 Z M12,15 C10.34,15 9,13.66 9,12 C9,10.34 10.34,9 12,9 C13.66,9 15,10.34 15,12 C15,13.66 13.66,15 12,15 Z" id="path-1"></path>
+ </defs>
+ <g id="username-24" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <mask id="mask-2" fill="white">
+ <use xlink:href="#path-1"></use>
+ </mask>
+ <use id="icon/communication/alternate_email_24px" fill-opacity="0.9" fill="#000000" fill-rule="nonzero" xlink:href="#path-1"></use>
+ </g>
+</svg> \ No newline at end of file
diff --git a/features/CreateProfileForm.ui.qml b/features/CreateProfileForm.ui.qml
new file mode 100644
index 0000000..6192a99
--- /dev/null
+++ b/features/CreateProfileForm.ui.qml
@@ -0,0 +1,210 @@
+import QtQuick 2.12
+import QtQuick.Layouts 1.12
+import QtQuick.Controls 2.12
+import QtQuick.Controls.Material 2.12
+
+Rectangle {
+ id: rectangle
+ color: "#fff"
+
+ property alias backButton: backButton
+ property alias titleLabel: titleLabel
+ property alias skipButton: skipButton
+ property alias enterFullName: enterFullName
+ property alias userNameLabel: userNameLabel
+ property alias emailAddressLabel: emailAddressLabel
+ property alias startUsingKelakon: startUsingKelakon
+
+ ToolBar {
+ id: toolbar
+ height: 56
+ font.family: "Google Sans"
+ anchors.top: parent.top
+ anchors.topMargin: 0
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ background: Rectangle {
+ color: "#fff"
+ }
+
+ RowLayout {
+ anchors.fill: parent
+ spacing: 8
+
+ ToolButton {
+ id: backButton
+ icon.name: "back-icon"
+ icon.source: "/components/icons/arrow-back-24px.svg"
+ highlighted: true
+ }
+ Label {
+ id: titleLabel
+ text: qsTr("Create Profile")
+ font.weight: Font.Medium
+ wrapMode: Text.WordWrap
+ color: "#000"
+ font.family: "Google Sans"
+ font.pointSize: 20
+ elide: Label.ElideRight
+ horizontalAlignment: Qt.AlignHCenter
+ verticalAlignment: Qt.AlignVCenter
+ Layout.fillWidth: true
+ }
+ ToolButton {
+ id: skipButton
+ text: qsTr("Skip")
+ font.weight: Font.Medium
+ display: AbstractButton.TextOnly
+ font.family: "Google Sans"
+ font.pointSize: 14
+ font.capitalization: Font.MixedCase
+ highlighted: true
+ }
+ }
+ }
+ RowLayout {
+ id: userEmail
+ height: 56
+ anchors.topMargin: 16
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: usernameRowLayout.bottom
+ width: parent.width
+ spacing: 8
+
+ Image {
+ width: 24
+ height: 24
+ opacity: 0.54
+ sourceSize.height: 24
+ sourceSize.width: 24
+ Layout.leftMargin: 16
+ Layout.alignment: Qt.AlignVCenter
+ fillMode: Image.PreserveAspectFit
+ source: "/components/icons/email-24px.svg"
+ antialiasing: true
+ }
+
+ Label {
+ id: emailAddressLabel
+ Layout.fillWidth: true
+ text: qsTr("Your@email.com")
+ Layout.rightMargin: 16
+ Layout.leftMargin: 24
+ verticalAlignment: Text.AlignVCenter
+ font.family: "Google Sans"
+ font.pointSize: 16
+ color: "#99000000"
+ }
+ }
+ RowLayout {
+ id: fullnameRowLayout
+ height: 56
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: profilePicture.bottom
+ anchors.topMargin: 32
+ width: parent.width
+ Image {
+ width: 24
+ height: 24
+ opacity: 0.54
+ sourceSize.height: 24
+ sourceSize.width: 24
+ Layout.leftMargin: 16
+ Layout.alignment: Qt.AlignVCenter
+ fillMode: Image.PreserveAspectFit
+ source: "/components/icons/profile-24px.svg"
+ antialiasing: true
+ }
+
+ TextField {
+ id: enterFullName
+ Layout.rightMargin: 16
+ Layout.leftMargin: 24
+ font.pointSize: 16
+ font.family: "Google Sans"
+ Layout.fillWidth: true
+ placeholderText: qsTr("Full name")
+ Layout.alignment: Qt.AlignVCenter
+ }
+ }
+ RowLayout {
+ id: usernameRowLayout
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: parent.width
+ height: 56
+ Layout.alignment: Qt.AlignVCenter
+ anchors.top: fullnameRowLayout.bottom
+ anchors.topMargin: 16
+
+ Image {
+ width: 24
+ height: 24
+ opacity: 0.54
+ sourceSize.height: 24
+ sourceSize.width: 24
+ Layout.leftMargin: 16
+ Layout.alignment: Qt.AlignVCenter
+ fillMode: Image.PreserveAspectFit
+ source: "/components/icons/user-24px.svg"
+ antialiasing: true
+ }
+
+ TextField {
+ id: userNameLabel
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+ Layout.rightMargin: 16
+ Layout.leftMargin: 24
+ font.pointSize: 16
+ font.family: "Google Sans"
+ Layout.fillWidth: true
+ placeholderText: qsTr("Username")
+ }
+ }
+
+ RoundButton {
+ id: startUsingKelakon
+ x: 34
+ y: 278
+ text: qsTr("Start using kelakon")
+ font.family: "Google Sans"
+ font.capitalization: Font.MixedCase
+ anchors.right: parent.right
+ anchors.rightMargin: 8
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 8
+ anchors.left: parent.left
+ anchors.leftMargin: 8
+ highlighted: true
+ Material.background: Material.primary
+ }
+
+ Rectangle {
+ id: profilePicture
+ width: 80
+ height: 80
+ color: "#f0e6fc"
+ radius: 100
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: toolbar.bottom
+ anchors.topMargin: 32
+
+ RoundButton {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ flat: true
+ display: AbstractButton.IconOnly
+ icon.name: "camera-icon"
+ icon.source: "/components/icons/photo_camera_24px.svg"
+ icon.color: "#6D22E9"
+ }
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;autoSize:true;height:480;width:640}D{i:1;anchors_width:640}
+}
+##^##*/
+
diff --git a/features/EmailForm.ui.qml b/features/EmailForm.ui.qml
new file mode 100644
index 0000000..610d461
--- /dev/null
+++ b/features/EmailForm.ui.qml
@@ -0,0 +1,123 @@
+import QtQuick 2.12
+import QtQuick.Layouts 1.12
+import QtQuick.Controls 2.12
+import QtQuick.Controls.Material 2.12
+
+Rectangle {
+ id: rectangle
+ color: "#fff"
+ border.width: 0
+
+ property alias backButton: backButton
+ property alias instructionLabel: instructionLabel
+ property alias emailTextField: emailTextField
+ property alias loginButton: loginButton
+
+ ToolBar {
+ id: toolbar
+ height: 56
+ font.family: "Google Sans"
+ anchors.top: parent.top
+ anchors.topMargin: 0
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ background: Rectangle {
+ color: "#FFF"
+ }
+
+ RowLayout {
+ anchors.fill: parent
+ spacing: 8
+
+ ToolButton {
+ id: backButton
+ icon.name: "back-icon"
+ icon.source: "/components/icons/arrow-back-24px.svg"
+ highlighted: true
+ }
+ }
+ }
+
+ Label {
+ id: instructionLabel
+ x: 16
+ y: 398
+ color: "#2b2626"
+ text: qsTr("Sign up")
+ font.letterSpacing: 0.25
+ lineHeight: 1
+ font.weight: Font.Bold
+ wrapMode: Text.WordWrap
+ anchors.bottom: emailLayout.top
+ anchors.bottomMargin: 16
+ anchors.left: parent.left
+ anchors.leftMargin: 16
+ anchors.right: parent.right
+ anchors.rightMargin: 88
+
+ font.family: "Google Sans"
+ font.pointSize: 34
+ }
+
+ RowLayout {
+ id: emailLayout
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ anchors.bottom: loginButton.top
+ anchors.bottomMargin: 16
+ width: parent.width
+ height: 56
+ spacing: 8
+
+ Image {
+ width: 24
+ height: 24
+ opacity: 0.54
+ sourceSize.height: 24
+ sourceSize.width: 24
+ Layout.leftMargin: 16
+ Layout.alignment: Qt.AlignVCenter
+ fillMode: Image.PreserveAspectFit
+ source: "/components/icons/email-24px.svg"
+ antialiasing: true
+ }
+
+ TextField {
+ id: emailTextField
+ Layout.rightMargin: 16
+ Layout.leftMargin: 24
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+ font.pointSize: 16
+ font.family: "Google Sans"
+ Layout.fillWidth: true
+ placeholderText: qsTr("Email")
+ }
+ }
+
+ RoundButton {
+ id: loginButton
+ text: qsTr("Next")
+ enabled: false
+ font.family: "Google Sans"
+ font.capitalization: Font.MixedCase
+ anchors.right: parent.right
+ anchors.rightMargin: 8
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 8
+ anchors.left: parent.left
+ anchors.leftMargin: 8
+ highlighted: true
+ Material.background: Material.primary
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+##^##*/
+
diff --git a/features/ExistingLoginForm.ui.qml b/features/ExistingLoginForm.ui.qml
new file mode 100644
index 0000000..3785fea
--- /dev/null
+++ b/features/ExistingLoginForm.ui.qml
@@ -0,0 +1,128 @@
+import QtQuick 2.12
+import QtQuick.Layouts 1.12
+import QtQuick.Controls 2.12
+import QtQuick.Controls.Material 2.12
+
+Rectangle {
+ id: rectangle
+ color: "#fff"
+ border.width: 0
+
+ property alias backButton: backButton
+ property alias passTextField: passTextField
+ property alias createPassButton: loginButton
+
+ ToolBar {
+ id: toolbar
+ height: 56
+ font.family: "Google Sans"
+ anchors.top: parent.top
+ anchors.topMargin: 0
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ background: Rectangle {
+ color: "#FFF"
+ }
+
+ RowLayout {
+ anchors.fill: parent
+ spacing: 8
+
+ ToolButton {
+ id: backButton
+ icon.name: "back-icon"
+ icon.source: "/components/icons/arrow-back-24px.svg"
+ highlighted: true
+ }
+ }
+ }
+
+ Label {
+ x: 16
+ y: 232
+ color: "#2b2626"
+ text: qsTr("Welcome Back!")
+ anchors.bottom: userEmail.top
+ anchors.bottomMargin: 16
+ font.letterSpacing: 0.25
+ lineHeight: 1
+ font.weight: Font.Bold
+ wrapMode: Text.WordWrap
+ anchors.left: parent.left
+ anchors.leftMargin: 16
+ anchors.right: parent.right
+ anchors.rightMargin: 88
+
+ font.family: "Google Sans"
+ font.pointSize: 34
+ }
+
+ Rectangle {
+ id: userEmail
+ y: 299
+ height: 48
+ anchors.right: parent.right
+ anchors.rightMargin: 16
+ anchors.left: parent.left
+ anchors.leftMargin: 16
+ anchors.bottom: passTextField.top
+ anchors.bottomMargin: 16
+
+ Label {
+ anchors.right: parent.right
+ anchors.rightMargin: 16
+ anchors.left: parent.left
+ anchors.leftMargin: 16
+ anchors.verticalCenter: parent.verticalCenter
+
+ text: qsTr("your@email.com")
+ font.family: "Google Sans"
+ font.pointSize: 16
+ color: "#99000000"
+ }
+ }
+
+ TextField {
+ id: passTextField
+ y: 362
+ font.pointSize: 16
+ anchors.bottom: loginButton.top
+ anchors.bottomMargin: 16
+ font.family: "Google Sans"
+ Layout.fillWidth: true
+ placeholderText: qsTr("Password")
+ anchors.right: parent.right
+ anchors.rightMargin: 16
+ anchors.left: parent.left
+ anchors.leftMargin: 16
+ Layout.maximumHeight: 56
+ echoMode: TextInput.Password
+ }
+
+ RoundButton {
+ id: loginButton
+ x: 34
+ y: 278
+ text: qsTr("Login")
+ font.family: "Google Sans"
+ font.capitalization: Font.MixedCase
+ anchors.right: parent.right
+ anchors.rightMargin: 8
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 8
+ anchors.left: parent.left
+ anchors.leftMargin: 8
+ highlighted: true
+ Material.background: Material.primary
+ }
+}
+
+
+
+
+/*##^## Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+ ##^##*/
diff --git a/features/HomeForm.ui.qml b/features/HomeForm.ui.qml
index c44aac5..299cf77 100644
--- a/features/HomeForm.ui.qml
+++ b/features/HomeForm.ui.qml
@@ -5,7 +5,6 @@ import QtQuick.Layouts 1.12
Page {
property alias menuButton: menuButton
- property alias titleLabel: titleLabel
property alias profileButton: profileButton
property alias contentView: contentView
@@ -19,10 +18,11 @@ Page {
ToolButton {
id: menuButton
icon.name: "menu-button"
+ icon.source: "/components/icons/menu-24px.svg"
highlighted: true
}
Label {
- id: titleLabel
+ text: contentView.currentItem.title
Layout.leftMargin: 16
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
@@ -36,6 +36,7 @@ Page {
ToolButton {
id: profileButton
icon.name: "profile-button"
+ icon.source: "/components/icons/profile-24px.svg"
highlighted: true
}
}
diff --git a/features/LoginEmailForm.ui.qml b/features/LoginEmailForm.ui.qml
index 7f57599..991da16 100644
--- a/features/LoginEmailForm.ui.qml
+++ b/features/LoginEmailForm.ui.qml
@@ -62,7 +62,7 @@ Page {
sourceSize.width: 24
Layout.leftMargin: 16
fillMode: Image.PreserveAspectFit
- source: "../../assets/email-24px.svg"
+ source: "/components/icons/email-24px.svg"
antialiasing: true
}
@@ -123,7 +123,7 @@ Page {
Material.background: Material.primary
display: AbstractButton.IconOnly
icon.name: "arrow-forward-icon"
- icon.source: "../assets/arrow-forward-24px.svg"
+ icon.source: "/components/icons/arrow-forward-24px.svg"
highlighted: true
enabled: false
}
diff --git a/features/LoginForm.ui.qml b/features/LoginForm.ui.qml
new file mode 100644
index 0000000..2b241f1
--- /dev/null
+++ b/features/LoginForm.ui.qml
@@ -0,0 +1,29 @@
+import QtQuick 2.12
+import QtQuick.Controls 2.12
+import QtQuick.Controls.Material 2.12
+import QtQuick.Layouts 1.12
+
+Page {
+ property alias toolButton: toolButton
+ property alias contentView: contentView
+
+ header: ToolBar {
+ background: Rectangle {
+ color: "#FAFFFFFF"
+ }
+ RowLayout {
+ ToolButton {
+ id: toolButton
+ icon.name: "back-button"
+ icon.source: "/components/icons/arrow-back-24px.svg"
+ highlighted: true
+ }
+ }
+ }
+
+ StackView {
+ id: contentView
+ anchors.topMargin: 432
+ anchors.fill: parent
+ }
+}
diff --git a/features/LoginPasswordForm.ui.qml b/features/LoginPasswordForm.ui.qml
index dee7709..dba6752 100644
--- a/features/LoginPasswordForm.ui.qml
+++ b/features/LoginPasswordForm.ui.qml
@@ -63,7 +63,7 @@ Page {
sourceSize.width: 24
Layout.leftMargin: 16
fillMode: Image.PreserveAspectFit
- source: "../../assets/email-24px.svg"
+ source: "/components/icons/email-24px.svg"
antialiasing: true
}
@@ -100,7 +100,7 @@ Page {
sourceSize.width: 24
Layout.leftMargin: 16
fillMode: Image.PreserveAspectFit
- source: "../../assets/lock-24px.svg"
+ source: "/components/icons/lock-24px.svg"
antialiasing: true
}
@@ -161,7 +161,7 @@ Page {
Material.background: Material.primary
display: AbstractButton.IconOnly
icon.name: "arrow-forward-icon"
- icon.source: "../../assets/arrow-forward-24px.svg"
+ icon.source: "/components/icons/arrow-forward-24px.svg"
highlighted: true
enabled: false
}
diff --git a/features/PasswordForm.ui.qml b/features/PasswordForm.ui.qml
new file mode 100644
index 0000000..b5d34a2
--- /dev/null
+++ b/features/PasswordForm.ui.qml
@@ -0,0 +1,159 @@
+import QtQuick 2.12
+import QtQuick.Layouts 1.12
+import QtQuick.Controls 2.12
+import QtQuick.Controls.Material 2.12
+
+Rectangle {
+ id: rectangle
+ color: "#fff"
+ border.width: 0
+
+ property alias backButton: backButton
+ property alias instructionLabel: instructionLabel
+ property alias userEmail: userEmail
+ property alias passTextField: passTextField
+ property alias createPassButton: createPassButton
+ property alias emailAddressLabel: emailAddressLabel
+
+ ToolBar {
+ id: toolbar
+ height: 56
+ font.family: "Google Sans"
+ anchors.top: parent.top
+ anchors.topMargin: 0
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ background: Rectangle {
+ color: "#FFF"
+ }
+
+ RowLayout {
+ anchors.fill: parent
+ spacing: 8
+
+ ToolButton {
+ id: backButton
+ icon.name: "back-icon"
+ icon.source: "/components/icons/arrow-back-24px.svg"
+ highlighted: true
+ }
+ }
+ }
+
+ Label {
+ id: instructionLabel
+ x: 16
+ y: 232
+ color: "#2b2626"
+ text: qsTr("Create password")
+ anchors.bottom: userEmail.top
+ anchors.bottomMargin: 16
+ font.letterSpacing: 0.25
+ lineHeight: 1
+ font.weight: Font.Bold
+ wrapMode: Text.WordWrap
+ anchors.left: parent.left
+ anchors.leftMargin: 16
+ anchors.right: parent.right
+ anchors.rightMargin: 88
+
+ font.family: "Google Sans"
+ font.pointSize: 34
+ }
+
+ RowLayout {
+ id: userEmail
+ height: 56
+ anchors.bottom: passTextFieldLayout.top
+ anchors.bottomMargin: 16
+ anchors.horizontalCenterOffset: 0
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: parent.width
+ spacing: 8
+
+ Image {
+ width: 24
+ height: 24
+ opacity: 0.54
+ sourceSize.height: 24
+ sourceSize.width: 24
+ Layout.leftMargin: 16
+ Layout.alignment: Qt.AlignVCenter
+ fillMode: Image.PreserveAspectFit
+ source: "/components/icons/email-24px.svg"
+ antialiasing: true
+ }
+
+ Label {
+ id: emailAddressLabel
+ Layout.fillWidth: true
+ text: qsTr("your@email.com")
+ Layout.leftMargin: 24
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+ font.family: "Google Sans"
+ font.pointSize: 16
+ color: "#99000000"
+ }
+ }
+ RowLayout {
+ id: passTextFieldLayout
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.bottom: createPassButton.top
+ anchors.bottomMargin: 16
+ width: parent.width
+ spacing: 8
+ height: 56
+
+ Image {
+ width: 24
+ height: 24
+ opacity: 0.54
+ sourceSize.height: 24
+ sourceSize.width: 24
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+ Layout.leftMargin: 16
+ fillMode: Image.PreserveAspectFit
+ source: "/components/icons/lock-24px.svg"
+ antialiasing: true
+ }
+
+ TextField {
+ id: passTextField
+ Layout.rightMargin: 16
+ Layout.leftMargin: 24
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+ font.pointSize: 16
+ anchors.bottomMargin: 16
+ font.family: "Google Sans"
+ Layout.fillWidth: true
+ placeholderText: qsTr("Password")
+ echoMode: TextInput.Password
+ }
+ }
+ RoundButton {
+ id: createPassButton
+ x: 34
+ y: 278
+ text: qsTr("Next")
+ enabled: false
+ font.family: "Google Sans"
+ font.capitalization: Font.MixedCase
+ anchors.right: parent.right
+ anchors.rightMargin: 8
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 8
+ anchors.left: parent.left
+ anchors.leftMargin: 8
+ highlighted: true
+ Material.background: Material.primary
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+##^##*/
+
diff --git a/features/ProfileEditForm.ui.qml b/features/ProfileEditForm.ui.qml
index e6777d0..aa907a7 100644
--- a/features/ProfileEditForm.ui.qml
+++ b/features/ProfileEditForm.ui.qml
@@ -26,7 +26,7 @@ Page {
ToolButton {
id: backButton
icon.name: "back-button"
- icon.source: "../../assets/arrow-back-24px.svg"
+ icon.source: "/components/icons/arrow-back-24px.svg"
highlighted: true
}
Label {
@@ -85,7 +85,7 @@ Page {
Layout.leftMargin: 16
Layout.alignment: Qt.AlignVCenter
fillMode: Image.PreserveAspectFit
- source: "../../assets/profile-24px.svg"
+ source: "/components/icons/profile-24px.svg"
antialiasing: true
}
@@ -118,7 +118,7 @@ Page {
Layout.leftMargin: 16
Layout.alignment: Qt.AlignVCenter
fillMode: Image.PreserveAspectFit
- source: "../../assets/user-24px.svg"
+ source: "/components/icons/user-24px.svg"
antialiasing: true
}
@@ -152,7 +152,7 @@ Page {
Layout.leftMargin: 16
Layout.alignment: Qt.AlignVCenter
fillMode: Image.PreserveAspectFit
- source: "../../assets/email-24px.svg"
+ source: "/components/icons/email-24px.svg"
antialiasing: true
}
diff --git a/features/ProfileForm.ui.qml b/features/ProfileForm.ui.qml
index f365740..74cb183 100644
--- a/features/ProfileForm.ui.qml
+++ b/features/ProfileForm.ui.qml
@@ -42,7 +42,7 @@ Page {
Layout.leftMargin: 16
Layout.alignment: Qt.AlignVCenter
fillMode: Image.PreserveAspectFit
- source: "../../assets/profile-24px.svg"
+ source: "/components/icons/profile-24px.svg"
antialiasing: true
}
@@ -75,7 +75,7 @@ Page {
Layout.leftMargin: 16
Layout.alignment: Qt.AlignVCenter
fillMode: Image.PreserveAspectFit
- source: "../../assets/user-24px.svg"
+ source: "/components/icons/user-24px.svg"
antialiasing: true
}
@@ -109,7 +109,7 @@ Page {
Layout.leftMargin: 16
Layout.alignment: Qt.AlignVCenter
fillMode: Image.PreserveAspectFit
- source: "../../assets/email-24px.svg"
+ source: "/components/icons/email-24px.svg"
antialiasing: true
}
diff --git a/features/TaskDetailForm.ui.qml b/features/TaskDetailForm.ui.qml
index c227a1c..48e3a49 100644
--- a/features/TaskDetailForm.ui.qml
+++ b/features/TaskDetailForm.ui.qml
@@ -54,7 +54,7 @@ Page {
sourceSize.height: 24
sourceSize.width: 24
Layout.leftMargin: 16
- source: "../../assets/attachment-24px.svg"
+ source: "/components/icons/attachment-24px.svg"
}
ItemDelegate {
id: itemDelegate
diff --git a/features/TaskForm.ui.qml b/features/TaskForm.ui.qml
index 57cfbce..50ae148 100644
--- a/features/TaskForm.ui.qml
+++ b/features/TaskForm.ui.qml
@@ -76,7 +76,7 @@ GridLayout {
sourceSize.height: 24
sourceSize.width: 24
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
- source: "/assets/chevron-right-24px.svg"
+ source: "/components/icons/chevron-right-24px.svg"
}
}
}
diff --git a/features/TaskListForm.ui.qml b/features/TaskListForm.ui.qml
index 0016bb8..61579c9 100644
--- a/features/TaskListForm.ui.qml
+++ b/features/TaskListForm.ui.qml
@@ -32,7 +32,7 @@ Page {
anchors.right: parent.right
anchors.rightMargin: 8
highlighted: true
- icon.source: "../assets/add-24px.svg"
+ icon.source: "/components/icons/add-24px.svg"
height: 64
width: 64
}
diff --git a/features/UsernameForm.ui.qml b/features/UsernameForm.ui.qml
new file mode 100644
index 0000000..5412533
--- /dev/null
+++ b/features/UsernameForm.ui.qml
@@ -0,0 +1,35 @@
+import QtQuick 2.12
+import QtQuick.Controls 2.12
+import QtQuick.Layouts 1.12
+
+RowLayout {
+
+ id: userName
+ width: fillWidth
+ height: 54
+ anchors.topMargin: 8
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ spacing: 16
+
+ Image {
+ id: icon
+ width: 24
+ height: 24
+ Layout.leftMargin: 16
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+ fillMode: Image.PreserveAspectFit
+ source: "/components/icons/user-24px.svg"
+ }
+
+ TextField {
+ id: textField
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+ font.pointSize: 16
+ font.family: "Google Sans"
+ Layout.fillWidth: true
+ placeholderText: qsTr("Username")
+ }
+}
diff --git a/material-design-icons.qrc b/material-design-icons.qrc
new file mode 100644
index 0000000..e08b3b8
--- /dev/null
+++ b/material-design-icons.qrc
@@ -0,0 +1,16 @@
+<RCC>
+ <qresource prefix="/">
+ <file>components/icons/add-24px.svg</file>
+ <file>components/icons/arrow-back-24px.svg</file>
+ <file>components/icons/arrow-forward-24px.svg</file>
+ <file>components/icons/attachment-24px.svg</file>
+ <file>components/icons/check-box-outline-24px.svg</file>
+ <file>components/icons/chevron-right-24px.svg</file>
+ <file>components/icons/email-24px.svg</file>
+ <file>components/icons/lock-24px.svg</file>
+ <file>components/icons/menu-24px.svg</file>
+ <file>components/icons/photo_camera_24px.svg</file>
+ <file>components/icons/profile-24px.svg</file>
+ <file>components/icons/user-24px.svg</file>
+ </qresource>
+</RCC>