diff --git a/client/images/about.png b/client/images/about.png new file mode 100644 index 00000000..53d649fe Binary files /dev/null and b/client/images/about.png differ diff --git a/client/images/controls/warning-info.svg b/client/images/controls/warning-info.svg new file mode 100644 index 00000000..ce830a93 --- /dev/null +++ b/client/images/controls/warning-info.svg @@ -0,0 +1,3 @@ + + + diff --git a/client/resources.qrc b/client/resources.qrc index 4998c9ef..b86b07b1 100644 --- a/client/resources.qrc +++ b/client/resources.qrc @@ -1,6 +1,7 @@ fonts/pt-root-ui_vf.ttf + images/about.png images/amneziaBigLogo.png images/AmneziaVPN.png images/controls/alert-circle.svg @@ -55,6 +56,7 @@ images/controls/telegram.svg images/controls/text-cursor.svg images/controls/trash.svg + images/controls/warning-info.svg images/controls/x-circle.svg images/tray/active.png images/tray/default.png @@ -234,6 +236,7 @@ ui/qml/DefaultVpn/Controls/DropDownType.qml ui/qml/DefaultVpn/main.qml ui/qml/DefaultVpn/Pages/PageHome.qml + ui/qml/DefaultVpn/Pages/PageAbout.qml ui/qml/DefaultVpn/Controls/TextTypes/MediumTextType.qml ui/qml/DefaultVpn/Config/DeviceInfo.qml ui/qml/DefaultVpn/Config/qmldir diff --git a/client/ui/controllers/pageController.h b/client/ui/controllers/pageController.h index 60621414..7fc2ad44 100644 --- a/client/ui/controllers/pageController.h +++ b/client/ui/controllers/pageController.h @@ -15,6 +15,7 @@ namespace PageLoader PageHome, PageShare, PageDeinstalling, + PageAbout, PageSettingsServersList, PageSettings, diff --git a/client/ui/qml/DefaultVpn/Pages/PageAbout.qml b/client/ui/qml/DefaultVpn/Pages/PageAbout.qml new file mode 100644 index 00000000..35d4db2e --- /dev/null +++ b/client/ui/qml/DefaultVpn/Pages/PageAbout.qml @@ -0,0 +1,132 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +import PageEnum 1.0 +import Config 1.0 + +import "../Components" +import "../Controls" +import "../Controls/TextTypes" + +Page { + id: root + + ColumnLayout { + anchors.fill: parent + anchors.topMargin: 8 + anchors.bottomMargin: 36 + anchors.leftMargin: 8 + anchors.rightMargin: 8 + + spacing: 0 + + RowLayout { + + WhiteButtonNoBorder { + id: backButton + imageSource: "qrc:/images/controls/arrow-left.svg" + + onClicked: PageController.closePage() + } + + Item { + Layout.fillWidth: true + } + } + + Image { + id: image + source: "qrc:/images/about.png" + + Layout.alignment: Qt.AlignCenter + Layout.topMargin: 8 + Layout.preferredWidth: 230 + Layout.preferredHeight: 230 + } + + XSmallTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.topMargin: 24 + text: qsTr("Support group in Telegram") + } + + MediumTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.topMargin: 8 + text: "@DefaultVPNSupport" + color: Style.color.accent1 + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: Qt.openUrlExternally("https://t.me/DefaultVPNSupport") + } + } + + XSmallTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.topMargin: 24 + text: qsTr("E-mail for technical support") + } + + MediumTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.topMargin: 8 + text: "support@dfvpn.com" + color: Style.color.accent1 + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: Qt.openUrlExternally("mailto:support@dfvpn.com") + } + } + + XSmallTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.topMargin: 24 + text: qsTr("Site") + } + + MediumTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.topMargin: 8 + text: "dfvpn.com" + color: Style.color.accent1 + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: Qt.openUrlExternally("https://dfvpn.com/") + } + } + + Item { + Layout.fillHeight: true + } + + MediumTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + text: qsTr("Privacy policy") + color: Style.color.accent1 + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: Qt.openUrlExternally("https://dfvpn.com/policy") + } + } + + XSmallTextType { + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.topMargin: 16 + text: qsTr("v. %1").arg(SettingsController.getAppVersion()) + color: Style.color.gray7 + } + } +} \ No newline at end of file diff --git a/client/ui/qml/DefaultVpn/Pages/PageHome.qml b/client/ui/qml/DefaultVpn/Pages/PageHome.qml index bfe49afd..5a3547b8 100644 --- a/client/ui/qml/DefaultVpn/Pages/PageHome.qml +++ b/client/ui/qml/DefaultVpn/Pages/PageHome.qml @@ -21,18 +21,28 @@ Page { spacing: 0 - Text { - lineHeight: 68 - lineHeightMode: Text.FixedHeight + RowLayout { + Layout.fillWidth: true + + Text { + Layout.fillWidth: true + lineHeight: 68 + lineHeightMode: Text.FixedHeight - color: Style.color.gray2 - font.pixelSize: 56 - font.weight: 700 - font.family: Style.font + color: Style.color.gray2 + font.pixelSize: 56 + font.weight: 700 + font.family: Style.font - horizontalAlignment: Qt.AlignLeft + horizontalAlignment: Qt.AlignLeft - text: ConnectionController.isConnected ? qsTr("Online") : qsTr("Offline") + text: ConnectionController.isConnected ? qsTr("Online") : qsTr("Offline") + } + + WhiteButtonNoBorder { + imageSource: "qrc:/images/controls/warning-info.svg" + onClicked: PageController.goToPage(PageEnum.PageAbout) + } } Item {