Merge pull request #3 from amnezia-vpn/feature/add-about-page

Added about page
This commit is contained in:
Yaroslav 2025-03-24 14:13:39 +01:00 committed by GitHub
commit ab9248032c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 158 additions and 9 deletions

BIN
client/images/about.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

View file

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 9.08333V13.6667M10 18.25C5.44365 18.25 1.75 14.5563 1.75 10C1.75 5.44365 5.44365 1.75 10 1.75C14.5563 1.75 18.25 5.44365 18.25 10C18.25 14.5563 14.5563 18.25 10 18.25ZM10.0457 6.33333V6.425L9.95435 6.42518V6.33333H10.0457Z" stroke="#007AFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 423 B

View file

@ -1,6 +1,7 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>fonts/pt-root-ui_vf.ttf</file> <file>fonts/pt-root-ui_vf.ttf</file>
<file>images/about.png</file>
<file>images/amneziaBigLogo.png</file> <file>images/amneziaBigLogo.png</file>
<file>images/AmneziaVPN.png</file> <file>images/AmneziaVPN.png</file>
<file>images/controls/alert-circle.svg</file> <file>images/controls/alert-circle.svg</file>
@ -55,6 +56,7 @@
<file>images/controls/telegram.svg</file> <file>images/controls/telegram.svg</file>
<file>images/controls/text-cursor.svg</file> <file>images/controls/text-cursor.svg</file>
<file>images/controls/trash.svg</file> <file>images/controls/trash.svg</file>
<file>images/controls/warning-info.svg</file>
<file>images/controls/x-circle.svg</file> <file>images/controls/x-circle.svg</file>
<file>images/tray/active.png</file> <file>images/tray/active.png</file>
<file>images/tray/default.png</file> <file>images/tray/default.png</file>
@ -234,6 +236,7 @@
<file>ui/qml/DefaultVpn/Controls/DropDownType.qml</file> <file>ui/qml/DefaultVpn/Controls/DropDownType.qml</file>
<file>ui/qml/DefaultVpn/main.qml</file> <file>ui/qml/DefaultVpn/main.qml</file>
<file>ui/qml/DefaultVpn/Pages/PageHome.qml</file> <file>ui/qml/DefaultVpn/Pages/PageHome.qml</file>
<file>ui/qml/DefaultVpn/Pages/PageAbout.qml</file>
<file>ui/qml/DefaultVpn/Controls/TextTypes/MediumTextType.qml</file> <file>ui/qml/DefaultVpn/Controls/TextTypes/MediumTextType.qml</file>
<file>ui/qml/DefaultVpn/Config/DeviceInfo.qml</file> <file>ui/qml/DefaultVpn/Config/DeviceInfo.qml</file>
<file>ui/qml/DefaultVpn/Config/qmldir</file> <file>ui/qml/DefaultVpn/Config/qmldir</file>

View file

@ -15,6 +15,7 @@ namespace PageLoader
PageHome, PageHome,
PageShare, PageShare,
PageDeinstalling, PageDeinstalling,
PageAbout,
PageSettingsServersList, PageSettingsServersList,
PageSettings, PageSettings,

View file

@ -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
}
}
}

View file

@ -21,18 +21,28 @@ Page {
spacing: 0 spacing: 0
Text { RowLayout {
lineHeight: 68 Layout.fillWidth: true
lineHeightMode: Text.FixedHeight
Text {
Layout.fillWidth: true
lineHeight: 68
lineHeightMode: Text.FixedHeight
color: Style.color.gray2 color: Style.color.gray2
font.pixelSize: 56 font.pixelSize: 56
font.weight: 700 font.weight: 700
font.family: Style.font 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 { Item {