Skip to content
Merged

Dev #27

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -158,4 +158,14 @@ target_include_directories(${PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
)

if(EXISTS ${CMAKE_SOURCE_DIR}/.env)
add_custom_command(
TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/.env
$<TARGET_FILE_DIR:${PROJECT_NAME}>/.env
COMMENT "Copying .env to build directory"
)
endif()

add_subdirectory(tests)
57 changes: 43 additions & 14 deletions forms/login_window.ui
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@
<height>400</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>🦀 Login</string>
</property>
Expand All @@ -31,7 +37,7 @@
<string>Storage Crab</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
Expand All @@ -46,14 +52,17 @@
<string>🦀</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
Expand All @@ -72,7 +81,7 @@
<string/>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
Expand All @@ -85,7 +94,10 @@
<string/>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>Email</string>
</property>
</widget>
</item>
Expand All @@ -98,22 +110,25 @@
<string/>
</property>
<property name="echoMode">
<enum>QLineEdit::EchoMode::Password</enum>
<enum>QLineEdit::Password</enum>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>Password</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
Expand All @@ -129,6 +144,7 @@
min-width: 150px;
min-height: 40px;
padding: 0 10px;
text-align: center;
}
QPushButton:hover {
background-color: #2276E4;
Expand All @@ -143,13 +159,26 @@ QPushButton:pressed {
</widget>
</item>
<item>
<widget class="QLabel" name="registrationLink">
<widget class="QPushButton" name="registerButton">
<property name="styleSheet">
<string notr="true">QPushButton {
background: transparent;
border: none;
padding: 0;
margin: 0;
text-align: center;
color: palette(windowText);
}
QPushButton:hover {
color: palette(windowText);
}
QPushButton:pressed {
color: palette(windowText);
}</string>
</property>
<property name="text">
<string>Don't have an account yet?</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
</layout>
Expand Down
191 changes: 191 additions & 0 deletions forms/register_window.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RegisterWindow</class>
<widget class="QMainWindow" name="RegisterWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>400</height>
</rect>
</property>
<property name="windowTitle">
<string>🦀 Login</string>
</property>
<widget class="QWidget" name="centralwidget">
<property name="font">
<font>
<pointsize>14</pointsize>
</font>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="titleLabel">
<property name="font">
<font>
<pointsize>56</pointsize>
</font>
</property>
<property name="text">
<string>Storage Crab</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="subtitleLabel">
<property name="font">
<font>
<pointsize>80</pointsize>
</font>
</property>
<property name="text">
<string>🦀</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="errorLabel">
<property name="styleSheet">
<string notr="true">color: red;</string>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="emailLineEdit">
<property name="styleSheet">
<string notr="true">min-height: 1.25em;</string>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>Email</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="usernameLineEdit">
<property name="styleSheet">
<string notr="true">min-height: 1.25em;</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>Username</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="passwordLineEdit">
<property name="styleSheet">
<string notr="true">min-height: 1.25em;</string>
</property>
<property name="text">
<string/>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>Password</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="passwordRepeatLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">min-height: 1.25em;</string>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>Repeat password</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="registerButton">
<property name="styleSheet">
<string notr="true">QPushButton {
color: white;
font-size: 24pt;
background-color: #2684FF;
border: 0;
min-width: 150px;
min-height: 40px;
padding: 0 10px;
}
QPushButton:hover {
background-color: #2276E4;
}
QPushButton:pressed {
background-color: #2065BF;
}</string>
</property>
<property name="text">
<string>Register</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>
2 changes: 2 additions & 0 deletions include/api/api_dispatcher.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ Q_OBJECT

RequestResultFuture login(const std::string& email, const std::string& password_hash) const;

RequestResultFuture register_user(const std::string& email, const std::string& username, const std::string& password_hash) const;

RequestResultFuture me();

RequestResultFuture shareFile(const size_t fileID);
Expand Down
Loading
Loading