From 13df4883c897a1fc0386d1601762054dbecfde3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?=
 =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?=
 =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= <erik@darapsa.co.id>
Date: Tue, 24 Sep 2019 19:09:04 +0800
Subject: Reuse path

---
 controller.cxx | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/controller.cxx b/controller.cxx
index d007855..8447242 100644
--- a/controller.cxx
+++ b/controller.cxx
@@ -10,13 +10,11 @@
 Controller::Controller(QObject* parent) : QObject{parent}
 {
 #ifdef ANDROID
+	QDir location{QStandardPaths::writableLocation
+		(QStandardPaths::AppDataLocation)};
+	QString path{location.absolutePath() % "/ca-certificates.crt"};
 	QFile file{"assets:/certs/ca-certificates.crt"};
-	file.copy(QDir{QStandardPaths::writableLocation
-		(QStandardPaths::AppDataLocation)}.absolutePath()
-		% "/ca-certificates.crt");
-	auto path = QDir{QStandardPaths::writableLocation
-		(QStandardPaths::AppDataLocation)}.absolutePath()
-		% "/ca-certificates.crt";
+	file.copy(path);
 	auto client = new RTClient::Client{"https://darapsa.co.id/rt"
 		, path.toLatin1().constData()};
 #else
-- 
cgit v1.2.3


From 7ed328595cb95c94d70c426953cb5d77ecb512fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?=
 =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?=
 =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= <erik@darapsa.co.id>
Date: Tue, 24 Sep 2019 19:14:03 +0800
Subject: Update qrtclient

---
 qrtclient | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qrtclient b/qrtclient
index 1897791..ddeb4c5 160000
--- a/qrtclient
+++ b/qrtclient
@@ -1 +1 @@
-Subproject commit 18977911a7645333c1887bfbbee96520226b3989
+Subproject commit ddeb4c5f70dba8644d75a084335b787b642f449e
-- 
cgit v1.2.3


From f1251b08ee37f44998d5a20e7bfcce5e9c9e1cb5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?=
 =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?=
 =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= <erik@darapsa.co.id>
Date: Tue, 24 Sep 2019 22:05:32 +0800
Subject: All forms and icons are moved to Larva

---
 ConfirmPassword.qml               |   9 +-
 CreateProfile.qml                 |  13 +--
 Email.qml                         |   9 +-
 ExistingLogin.qml                 |   8 ++
 Home.qml                          |  13 +--
 Login.qml                         |  36 ++-----
 LoginEmail.qml                    |   5 +-
 LoginPassword.qml                 |   5 +-
 Onboarding.qml                    |   1 +
 Password.qml                      |   9 +-
 Profile.qml                       |   2 +-
 Username.qml                      |   4 +
 assets/add-24px.svg               |   1 -
 assets/arrow-back-24px.svg        |   1 -
 assets/arrow-forward-24px.svg     |   1 -
 assets/check-box-outline-24px.svg |   1 -
 assets/chevron-right-24px.svg     |   1 -
 assets/close-24px.svg             |   1 -
 assets/email-24px.svg             |   1 -
 assets/lock-24px.svg              |   1 -
 assets/menu-24px.svg              |   1 -
 assets/photo_camera_24px.svg      |   1 -
 assets/profile-24px.svg           |   1 -
 assets/user-24px.svg              |  15 ---
 kelakon.pro                       |   5 +-
 kelakon.qrc                       |  61 ++++-------
 larva                             |   2 +-
 larva.qrc                         |  19 ++++
 main.qml                          |   4 +-
 pages/CreateProfileForm.ui.qml    | 212 --------------------------------------
 pages/EmailForm.ui.qml            | 125 ----------------------
 pages/ExistingLogin.qml           |   8 --
 pages/ExistingLoginForm.ui.qml    | 128 -----------------------
 pages/PasswordForm.ui.qml         | 161 -----------------------------
 pages/Username.qml                |   4 -
 pages/UsernameForm.ui.qml         |  35 -------
 36 files changed, 79 insertions(+), 825 deletions(-)
 create mode 100644 ExistingLogin.qml
 create mode 100644 Username.qml
 delete mode 100644 assets/add-24px.svg
 delete mode 100644 assets/arrow-back-24px.svg
 delete mode 100644 assets/arrow-forward-24px.svg
 delete mode 100644 assets/check-box-outline-24px.svg
 delete mode 100644 assets/chevron-right-24px.svg
 delete mode 100644 assets/close-24px.svg
 delete mode 100644 assets/email-24px.svg
 delete mode 100644 assets/lock-24px.svg
 delete mode 100644 assets/menu-24px.svg
 delete mode 100644 assets/photo_camera_24px.svg
 delete mode 100644 assets/profile-24px.svg
 delete mode 100644 assets/user-24px.svg
 create mode 100644 larva.qrc
 delete mode 100644 pages/CreateProfileForm.ui.qml
 delete mode 100644 pages/EmailForm.ui.qml
 delete mode 100644 pages/ExistingLogin.qml
 delete mode 100644 pages/ExistingLoginForm.ui.qml
 delete mode 100644 pages/PasswordForm.ui.qml
 delete mode 100644 pages/Username.qml
 delete mode 100644 pages/UsernameForm.ui.qml

diff --git a/ConfirmPassword.qml b/ConfirmPassword.qml
index 58e2173..e70922e 100644
--- a/ConfirmPassword.qml
+++ b/ConfirmPassword.qml
@@ -1,15 +1,10 @@
 import QtQuick 2.12
 import KelakonUser 0.1
-import "pages"
+import "larva/features"
 
 PasswordForm {
-	backButton {
-		icon.source: "../assets/arrow-back-24px.svg"
-		onClicked: pageView.pop()
-	}
-
+	backButton.onClicked: pageView.pop()
 	userEmail.y: 292
-	passImage.source: "../assets/lock-24px.svg"
 	instructionLabel.text: qsTr("Re-Enter password")
 	emailAddressLabel.text: User.name
 
diff --git a/CreateProfile.qml b/CreateProfile.qml
index 91ce39c..2a22a4b 100644
--- a/CreateProfile.qml
+++ b/CreateProfile.qml
@@ -1,20 +1,15 @@
 import QtQuick 2.12
 import KelakonUser 0.1
-import "pages"
+import "larva/features"
 
 CreateProfileForm {
-	backButton {
-		icon.source: "../assets/arrow-back-24px.svg"
-		onClicked: pageView.pop()
-	}
-
+	backButton.onClicked: pageView.pop()
 	skipButton.onClicked: pageView.push("Home.qml")
-	emailImage.source: "../assets/email-24px.svg"
 	emailAddressLabel.text: User.emailAddress
 	startUsingKelakon.onClicked: {
 		User.name = userNameLabel.text
 		User.realName = enterFullName.text
-		onboarding.ticketNew("Kelakon", User.realName + " <" + User.emailAddress
-		+ ">")
+		onboarding.ticketNew("Kelakon", User.realName + " <"
+			+ User.emailAddress + ">")
 	}
 }
diff --git a/Email.qml b/Email.qml
index a1951fe..d0d3d80 100644
--- a/Email.qml
+++ b/Email.qml
@@ -1,14 +1,9 @@
 import QtQuick 2.12
 import KelakonUser 0.1
-import "pages"
+import "larva/features"
 
 EmailForm {
-	backButton {
-        icon.source: "assets/arrow-back-24px.svg"
-		onClicked: pageView.pop()
-	}
-
-    emailImage.source: "assets/email-24px.svg"
+	backButton.onClicked: pageView.pop()
 
 	emailTextField.onTextChanged: {
 		if (!emailTextField.text || !loginButton.enabled)
diff --git a/ExistingLogin.qml b/ExistingLogin.qml
new file mode 100644
index 0000000..8e78a09
--- /dev/null
+++ b/ExistingLogin.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.12
+import KelakonUser 0.1
+
+ExistingLoginForm {
+	width: stackView.width
+	height: stackView.height
+	backButton.onClicked: stackView.pop()
+}
diff --git a/Home.qml b/Home.qml
index 369a908..3c670cc 100644
--- a/Home.qml
+++ b/Home.qml
@@ -3,17 +3,8 @@ import QtQuick.Controls 2.12
 import "larva/features"
 
 HomeForm {
-	menuButton {
-		icon.source: "assets/menu-24px.svg"
-		onClicked: drawer.open()
-	}
-
-	titleLabel.text: contentView.currentItem.title
-
-	profileButton {
-		icon.source: "assets/profile-24px.svg"
-		onClicked: pageView.push("Profile.qml")
-	}
+	menuButton.onClicked: drawer.open()
+	profileButton.onClicked: pageView.push("Profile.qml")
 
 	Drawer {
 		id: drawer
diff --git a/Login.qml b/Login.qml
index 2f0f1c8..bcbbf50 100644
--- a/Login.qml
+++ b/Login.qml
@@ -1,32 +1,12 @@
 import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Layouts 1.12
+import "larva/features"
 
-Page {
-	header: ToolBar {
-		background: Rectangle {
-			color: "#FAFFFFFF"
-		}
-		RowLayout {
-			ToolButton {
-				id: toolButton
-				icon.name: "back-button"
-                icon.source: "assets/arrow-back-24px.svg"
-				highlighted: true
-				onClicked:
-					if (pageView.depth > 1)
-						pageView.pop()
-					else
-						drawer.open()
-			}
-		}
-	}
+LoginForm {
+	toolButton.onClicked:
+				if (pageView.depth > 1)
+					pageView.pop()
+				else
+					drawer.open()
 
-	StackView {
-		id: contentView
-		anchors.topMargin: 432
-		anchors.fill: parent
-		initialItem: LoginEmail{}
-	}
+	contentView.initialItem: LoginEmail{}
 }
diff --git a/LoginEmail.qml b/LoginEmail.qml
index d699e19..67d45f4 100644
--- a/LoginEmail.qml
+++ b/LoginEmail.qml
@@ -8,11 +8,8 @@ LoginEmailForm {
 			continueButton.enabled = !continueButton.enabled
 	}
 
-	continueButton {
-		icon.source: "assets/arrow-forward-24px.svg"
-		onClicked: {
+	continueButton.onClicked: {
 			User.name = emailTextField.text
 			contentView.push("LoginPassword.qml")
 		}
-	}
 }
diff --git a/LoginPassword.qml b/LoginPassword.qml
index d2e8064..2d8bbba 100644
--- a/LoginPassword.qml
+++ b/LoginPassword.qml
@@ -8,11 +8,8 @@ LoginPasswordForm {
 		if (!passwordTextField.text || !continueButton.enabled)
 			continueButton.enabled = !continueButton.enabled
 
-	continueButton {
-		icon.source: "assets/arrow-forward-24px.svg"
-		onClicked: {
+	continueButton.onClicked: {
 			User.password = passwordTextField.text
 			onboarding.logIn(User.name, User.password)
 		}
-	}
 }
diff --git a/Onboarding.qml b/Onboarding.qml
index 9e54625..6b9bcf7 100644
--- a/Onboarding.qml
+++ b/Onboarding.qml
@@ -10,6 +10,7 @@ OnboardingForm {
 
 	objectName: "onboarding"
 	logoImage.source: "kelakon-logo.png"
+	onboardingImage.source: "onboarding-1.png"
 	registerButton.onClicked: pageView.push("Email.qml")
 	loginButton.onClicked: pageView.push("Login.qml")
 }
diff --git a/Password.qml b/Password.qml
index d2a5626..7368cac 100644
--- a/Password.qml
+++ b/Password.qml
@@ -1,14 +1,9 @@
 import QtQuick 2.12
 import KelakonUser 0.1
-import "pages"
+import "larva/features"
 
 PasswordForm {
-	backButton {
-        icon.source: "assets/arrow-back-24px.svg"
-		onClicked: pageView.pop()
-	}
-
-    passImage.source: "assets/lock-24px.svg"
+	backButton.onClicked: pageView.pop()
 	emailAddressLabel.text: User.name
 
 	passTextField.onTextChanged: {
diff --git a/Profile.qml b/Profile.qml
index 04f7cf0..02d8713 100644
--- a/Profile.qml
+++ b/Profile.qml
@@ -15,7 +15,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
                 onClicked: {
                         pageView.pop()
diff --git a/Username.qml b/Username.qml
new file mode 100644
index 0000000..c523226
--- /dev/null
+++ b/Username.qml
@@ -0,0 +1,4 @@
+import QtQuick 2.4
+
+UsernameForm {
+}
diff --git a/assets/add-24px.svg b/assets/add-24px.svg
deleted file mode 100644
index ff2ae4c..0000000
--- a/assets/add-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/arrow-back-24px.svg b/assets/arrow-back-24px.svg
deleted file mode 100644
index 9d5f05f..0000000
--- a/assets/arrow-back-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/arrow-forward-24px.svg b/assets/arrow-forward-24px.svg
deleted file mode 100644
index 842e7d0..0000000
--- a/assets/arrow-forward-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/check-box-outline-24px.svg b/assets/check-box-outline-24px.svg
deleted file mode 100644
index 68d3447..0000000
--- a/assets/check-box-outline-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/chevron-right-24px.svg b/assets/chevron-right-24px.svg
deleted file mode 100644
index acabc29..0000000
--- a/assets/chevron-right-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/close-24px.svg b/assets/close-24px.svg
deleted file mode 100644
index 0fd6b0d..0000000
--- a/assets/close-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/email-24px.svg b/assets/email-24px.svg
deleted file mode 100644
index 1ed4686..0000000
--- a/assets/email-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/lock-24px.svg b/assets/lock-24px.svg
deleted file mode 100644
index 1dbceea..0000000
--- a/assets/lock-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/menu-24px.svg b/assets/menu-24px.svg
deleted file mode 100644
index 770b192..0000000
--- a/assets/menu-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/photo_camera_24px.svg b/assets/photo_camera_24px.svg
deleted file mode 100644
index 5a9866b..0000000
--- a/assets/photo_camera_24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/profile-24px.svg b/assets/profile-24px.svg
deleted file mode 100644
index beed9cb..0000000
--- a/assets/profile-24px.svg
+++ /dev/null
@@ -1 +0,0 @@
-<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/assets/user-24px.svg b/assets/user-24px.svg
deleted file mode 100644
index 3eff6de..0000000
--- a/assets/user-24px.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-<?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/kelakon.pro b/kelakon.pro
index 97b543a..bfb2a51 100644
--- a/kelakon.pro
+++ b/kelakon.pro
@@ -6,7 +6,10 @@ SOURCES += \
 	controller.cxx \
 	main.cxx
 
-RESOURCES += kelakon.qrc
+RESOURCES += \
+	kelakon.qrc \
+	larva.qrc \
+	larva/material-design-icons.qrc
 
 INCLUDEPATH += \
 	$$PWD/qrtclient \
diff --git a/kelakon.qrc b/kelakon.qrc
index d36e0d8..2ff8636 100644
--- a/kelakon.qrc
+++ b/kelakon.qrc
@@ -1,45 +1,20 @@
 <RCC>
-    <qresource prefix="/">
-        <file>main.qml</file>
-        <file>Onboarding.qml</file>
-        <file>larva/features/OnboardingForm.ui.qml</file>
-        <file>kelakon-logo.png</file>
-        <file>Login.qml</file>
-        <file>LoginEmail.qml</file>
-        <file>larva/features/LoginEmailForm.ui.qml</file>
-        <file>assets/arrow-forward-24px.svg</file>
-        <file>LoginPassword.qml</file>
-        <file>larva/features/LoginPasswordForm.ui.qml</file>
-        <file>Profile.qml</file>
-        <file>Email.qml</file>
-        <file>pages/EmailForm.ui.qml</file>
-        <file>Password.qml</file>
-        <file>pages/PasswordForm.ui.qml</file>
-        <file>ConfirmPassword.qml</file>
-        <file>CreateProfile.qml</file>
-        <file>pages/CreateProfileForm.ui.qml</file>
-        <file>Home.qml</file>
-        <file>larva/features/HomeForm.ui.qml</file>
-        <file>larva/features/DayListForm.ui.qml</file>
-        <file>TaskList.qml</file>
-        <file>TaskDetails.qml</file>
-        <file>larva/features/TaskListForm.ui.qml</file>
-        <file>larva/features/TaskForm.ui.qml</file>
-        <file>assets/photo_camera_24px.svg</file>
-        <file>assets/menu-24px.svg</file>
-        <file>assets/check-box-outline-24px.svg</file>
-        <file>assets/chevron-right-24px.svg</file>
-        <file>assets/add-24px.svg</file>
-        <file>assets/profile-24px.svg</file>
-        <file>assets/user-24px.svg</file>
-        <file>qtquickcontrols2.conf</file>
-        <file>larva/features/EnterPasswordForm.ui.qml</file>
-        <file>assets/arrow-back-24px.svg</file>
-        <file>onboarding-1.png</file>
-        <file>larva/features/ProfileForm.ui.qml</file>
-        <file>assets/email-24px.svg</file>
-        <file>assets/lock-24px.svg</file>
-        <file>larva/features/ProfileEditForm.ui.qml</file>
-        <file>larva/features/TaskDetailForm.ui.qml</file>
-    </qresource>
+	<qresource prefix="/">
+		<file>main.qml</file>
+		<file>Onboarding.qml</file>
+		<file>Login.qml</file>
+		<file>LoginEmail.qml</file>
+		<file>LoginPassword.qml</file>
+		<file>Home.qml</file>
+		<file>TaskList.qml</file>
+		<file>TaskDetails.qml</file>
+		<file>Profile.qml</file>
+		<file>Email.qml</file>
+		<file>Password.qml</file>
+		<file>ConfirmPassword.qml</file>
+		<file>CreateProfile.qml</file>
+		<file>qtquickcontrols2.conf</file>
+		<file>kelakon-logo.png</file>
+		<file>onboarding-1.png</file>
+	</qresource>
 </RCC>
diff --git a/larva b/larva
index 372de3c..e5d1cb6 160000
--- a/larva
+++ b/larva
@@ -1 +1 @@
-Subproject commit 372de3c1c8fb8d7be23713d51c1d4c926b7fcb10
+Subproject commit e5d1cb6db260c71e2205c4f65d383628bb518f5e
diff --git a/larva.qrc b/larva.qrc
new file mode 100644
index 0000000..7fc08fc
--- /dev/null
+++ b/larva.qrc
@@ -0,0 +1,19 @@
+<RCC>
+	<qresource prefix="/">
+		<file>larva/features/OnboardingForm.ui.qml</file>
+		<file>larva/features/LoginForm.ui.qml</file>
+		<file>larva/features/LoginEmailForm.ui.qml</file>
+		<file>larva/features/LoginPasswordForm.ui.qml</file>
+		<file>larva/features/HomeForm.ui.qml</file>
+		<file>larva/features/DayListForm.ui.qml</file>
+		<file>larva/features/TaskListForm.ui.qml</file>
+		<file>larva/features/TaskForm.ui.qml</file>
+		<file>larva/features/EnterPasswordForm.ui.qml</file>
+		<file>larva/features/ProfileForm.ui.qml</file>
+		<file>larva/features/ProfileEditForm.ui.qml</file>
+		<file>larva/features/TaskDetailForm.ui.qml</file>
+		<file>larva/features/EmailForm.ui.qml</file>
+		<file>larva/features/PasswordForm.ui.qml</file>
+		<file>larva/features/CreateProfileForm.ui.qml</file>
+	</qresource>
+</RCC>
diff --git a/main.qml b/main.qml
index 05f372b..eb0f23f 100644
--- a/main.qml
+++ b/main.qml
@@ -18,9 +18,7 @@ ApplicationWindow {
 		anchors.fill: parent
 		initialItem: Onboarding {
 			id: onboarding
-            logoImage.source: ("../kelakon-logo.png")
-            onboardingImage.source: ("../onboarding-1.png")
-            onboardingText1.text: qsTr("Get things done today, chill tomorrow.")
+			onboardingText1.text: qsTr("Get things done today, chill tomorrow.")
 		}
 	}
 }
diff --git a/pages/CreateProfileForm.ui.qml b/pages/CreateProfileForm.ui.qml
deleted file mode 100644
index 2eec4d7..0000000
--- a/pages/CreateProfileForm.ui.qml
+++ /dev/null
@@ -1,212 +0,0 @@
-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 emailImage: emailImage
-    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: "/assets/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 {
-            id: emailImage
-            width: 24
-            height: 24
-            opacity: 0.54
-            sourceSize.height: 24
-            sourceSize.width: 24
-            Layout.leftMargin: 16
-            Layout.alignment: Qt.AlignVCenter
-            fillMode: Image.PreserveAspectFit
-            source: "../assets/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: "../assets/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: "../assets/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: "/assets/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/pages/EmailForm.ui.qml b/pages/EmailForm.ui.qml
deleted file mode 100644
index 0f22dbc..0000000
--- a/pages/EmailForm.ui.qml
+++ /dev/null
@@ -1,125 +0,0 @@
-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 emailImage: emailImage
-    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: "/assets/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 {
-	    id: emailImage
-            width: 24
-            height: 24
-            opacity: 0.54
-            sourceSize.height: 24
-            sourceSize.width: 24
-            Layout.leftMargin: 16
-            Layout.alignment: Qt.AlignVCenter
-            fillMode: Image.PreserveAspectFit
-            source: "../assets/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/pages/ExistingLogin.qml b/pages/ExistingLogin.qml
deleted file mode 100644
index 8e78a09..0000000
--- a/pages/ExistingLogin.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import QtQuick 2.12
-import KelakonUser 0.1
-
-ExistingLoginForm {
-	width: stackView.width
-	height: stackView.height
-	backButton.onClicked: stackView.pop()
-}
diff --git a/pages/ExistingLoginForm.ui.qml b/pages/ExistingLoginForm.ui.qml
deleted file mode 100644
index 0c39c5a..0000000
--- a/pages/ExistingLoginForm.ui.qml
+++ /dev/null
@@ -1,128 +0,0 @@
-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: "/assets/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/pages/PasswordForm.ui.qml b/pages/PasswordForm.ui.qml
deleted file mode 100644
index 011af8c..0000000
--- a/pages/PasswordForm.ui.qml
+++ /dev/null
@@ -1,161 +0,0 @@
-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 passImage: passImage
-    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: "/assets/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: "../assets/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 {
-            id: passImage
-            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: "../assets/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/pages/Username.qml b/pages/Username.qml
deleted file mode 100644
index c523226..0000000
--- a/pages/Username.qml
+++ /dev/null
@@ -1,4 +0,0 @@
-import QtQuick 2.4
-
-UsernameForm {
-}
diff --git a/pages/UsernameForm.ui.qml b/pages/UsernameForm.ui.qml
deleted file mode 100644
index 3771959..0000000
--- a/pages/UsernameForm.ui.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-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: "../assets/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")
-    }
-}
-- 
cgit v1.2.3