mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-23 21:11:55 +00:00
440d0a9017
chore(@storybook): add about view to storybook, refactor about view to use calls from store instead of global fix storybook menu
114 lines
2.5 KiB
QML
114 lines
2.5 KiB
QML
import QtQuick 2.14
|
|
import QtQuick.Controls 2.14
|
|
import QtQuick.Layouts 1.14
|
|
|
|
import Qt.labs.settings 1.0
|
|
|
|
import StatusQ.Core.Theme 0.1
|
|
import Storybook 1.0
|
|
|
|
ApplicationWindow {
|
|
id: root
|
|
|
|
width: 1450
|
|
height: 840
|
|
visible: true
|
|
|
|
property string currentPage
|
|
|
|
font.pixelSize: 13
|
|
|
|
ListModel {
|
|
id: pagesModel
|
|
|
|
ListElement {
|
|
title: "CommunitiesPortalLayout"
|
|
}
|
|
ListElement {
|
|
title: "LoginView"
|
|
}
|
|
ListElement {
|
|
title: "AboutView"
|
|
}
|
|
}
|
|
|
|
SplitView {
|
|
anchors.fill: parent
|
|
|
|
ColumnLayout {
|
|
SplitView.preferredWidth: 240
|
|
|
|
CheckBox {
|
|
id: loadAsyncCheckBox
|
|
|
|
Layout.fillWidth: true
|
|
|
|
text: "Load asynchronously"
|
|
}
|
|
|
|
CheckBox {
|
|
id: darkModeCheckBox
|
|
|
|
Layout.fillWidth: true
|
|
|
|
text: "Dark mode"
|
|
|
|
StatusLightTheme { id: lightTheme }
|
|
StatusDarkTheme { id: darkTheme }
|
|
|
|
Binding {
|
|
target: Theme
|
|
property: "palette"
|
|
value: darkModeCheckBox.checked ? darkTheme : lightTheme
|
|
}
|
|
}
|
|
|
|
Pane {
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
|
|
PagesList {
|
|
anchors.fill: parent
|
|
|
|
currentPage: root.currentPage
|
|
model: pagesModel
|
|
|
|
onPageSelected: root.currentPage = page
|
|
}
|
|
}
|
|
}
|
|
|
|
Item {
|
|
SplitView.fillWidth: true
|
|
|
|
Loader {
|
|
id: viewLoader
|
|
|
|
anchors.fill: parent
|
|
clip: true
|
|
|
|
source: Qt.resolvedUrl(`./pages/${root.currentPage}Page.qml`)
|
|
asynchronous: loadAsyncCheckBox.checked
|
|
visible: status === Loader.Ready
|
|
|
|
// force reload when `asynchronous` changes
|
|
onAsynchronousChanged: {
|
|
active = false
|
|
active = true
|
|
}
|
|
}
|
|
|
|
BusyIndicator {
|
|
anchors.centerIn: parent
|
|
visible: viewLoader.status === Loader.Loading
|
|
}
|
|
}
|
|
}
|
|
|
|
Settings {
|
|
property alias currentPage: root.currentPage
|
|
property alias loadAsynchronously: loadAsyncCheckBox.checked
|
|
property alias darkMode: darkModeCheckBox.checked
|
|
}
|
|
}
|