2021-10-06 09:16:39 +00:00
|
|
|
import QtQuick 2.13
|
|
|
|
import QtQuick.Layouts 1.13
|
|
|
|
import StatusQ.Components 0.1
|
|
|
|
|
2021-10-27 21:27:49 +00:00
|
|
|
import shared 1.0
|
2021-10-06 09:16:39 +00:00
|
|
|
|
|
|
|
import utils 1.0
|
|
|
|
|
|
|
|
Column {
|
|
|
|
id: root
|
|
|
|
spacing: 4
|
|
|
|
|
2021-12-30 12:39:47 +00:00
|
|
|
property var privacyStore
|
2022-03-07 20:34:59 +00:00
|
|
|
property var messagingStore
|
2021-10-06 09:16:39 +00:00
|
|
|
property alias mainMenuItems: mainMenuItems.model
|
|
|
|
property alias settingsMenuItems: settingsMenuItems.model
|
|
|
|
property alias extraMenuItems: extraMenuItems.model
|
2022-02-11 09:44:49 +00:00
|
|
|
property alias appsMenuItems: appsMenuItems.model
|
|
|
|
|
2021-10-06 09:16:39 +00:00
|
|
|
property bool browserMenuItemEnabled: false
|
2022-03-07 20:34:59 +00:00
|
|
|
property bool walletMenuItemEnabled: false
|
2021-10-06 09:16:39 +00:00
|
|
|
|
|
|
|
signal menuItemClicked(var menu_item)
|
|
|
|
|
|
|
|
Repeater {
|
|
|
|
id: mainMenuItems
|
|
|
|
delegate: StatusNavigationListItem {
|
2022-02-25 13:32:46 +00:00
|
|
|
itemId: model.subsection
|
2021-10-06 09:16:39 +00:00
|
|
|
title: model.text
|
|
|
|
icon.name: model.icon
|
2022-02-25 13:32:46 +00:00
|
|
|
selected: Global.settingsSubsection === model.subsection
|
2021-10-06 09:16:39 +00:00
|
|
|
onClicked: root.menuItemClicked(model)
|
2022-04-21 10:50:01 +00:00
|
|
|
visible: {
|
|
|
|
(model.subsection !== Constants.settingsSubsection.ensUsernames || root.walletMenuItemEnabled)
|
|
|
|
}
|
2021-10-06 09:16:39 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-02-11 09:44:49 +00:00
|
|
|
StatusListSectionHeadline {
|
|
|
|
text: qsTr("Apps")
|
|
|
|
}
|
|
|
|
|
|
|
|
Repeater {
|
|
|
|
id: appsMenuItems
|
|
|
|
delegate: StatusNavigationListItem {
|
|
|
|
id: appsMenuDelegate
|
2022-02-25 13:32:46 +00:00
|
|
|
itemId: model.subsection
|
2022-02-11 09:44:49 +00:00
|
|
|
title: model.text
|
|
|
|
icon.name: model.icon
|
2022-02-25 13:32:46 +00:00
|
|
|
selected: Global.settingsSubsection === model.subsection
|
2022-02-11 09:44:49 +00:00
|
|
|
onClicked: root.menuItemClicked(model)
|
2022-03-04 11:09:45 +00:00
|
|
|
visible: {
|
2022-03-07 20:34:59 +00:00
|
|
|
(model.subsection !== Constants.settingsSubsection.browserSettings && model.subsection !== Constants.settingsSubsection.wallet) ||
|
2022-03-04 11:09:45 +00:00
|
|
|
(model.subsection === Constants.settingsSubsection.browserSettings && root.browserMenuItemEnabled) ||
|
2022-03-07 20:34:59 +00:00
|
|
|
(model.subsection === Constants.settingsSubsection.wallet && root.walletMenuItemEnabled)
|
2022-03-04 11:09:45 +00:00
|
|
|
}
|
2022-03-21 15:33:14 +00:00
|
|
|
badge.value: {
|
|
|
|
switch (model.subsection) {
|
|
|
|
case Constants.settingsSubsection.messaging:
|
|
|
|
return root.messagingStore.contactRequestsModel.count
|
|
|
|
default: return ""
|
|
|
|
}
|
|
|
|
}
|
2022-02-11 09:44:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-10-06 09:16:39 +00:00
|
|
|
StatusListSectionHeadline { text: qsTr("Settings") }
|
|
|
|
|
|
|
|
Repeater {
|
|
|
|
id: settingsMenuItems
|
|
|
|
delegate: StatusNavigationListItem {
|
|
|
|
id: settingsMenuDelegate
|
2022-02-25 13:32:46 +00:00
|
|
|
itemId: model.subsection
|
2021-10-06 09:16:39 +00:00
|
|
|
title: model.text
|
|
|
|
icon.name: model.icon
|
2022-02-25 13:32:46 +00:00
|
|
|
selected: Global.settingsSubsection === model.subsection
|
2021-10-06 09:16:39 +00:00
|
|
|
onClicked: root.menuItemClicked(model)
|
2022-02-25 13:32:46 +00:00
|
|
|
visible: model.subsection !== Constants.settingsSubsection.browserSettings || root.browserMenuItemEnabled
|
2022-03-07 20:34:59 +00:00
|
|
|
badge.value: {
|
|
|
|
switch (model.subsection) {
|
|
|
|
case Constants.settingsSubsection.privacyAndSecurity:
|
|
|
|
return !root.privacyStore.mnemonicBackedUp
|
|
|
|
default: return ""
|
|
|
|
}
|
|
|
|
}
|
2021-10-06 09:16:39 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-03-03 13:16:27 +00:00
|
|
|
StatusListSectionHeadline { text: qsTr("About & Help") }
|
2021-10-06 09:16:39 +00:00
|
|
|
|
|
|
|
Repeater {
|
|
|
|
id: extraMenuItems
|
|
|
|
delegate: StatusNavigationListItem {
|
2022-02-25 13:32:46 +00:00
|
|
|
itemId: model.subsection
|
2021-10-06 09:16:39 +00:00
|
|
|
title: model.text
|
|
|
|
icon.name: model.icon
|
2022-02-25 13:32:46 +00:00
|
|
|
selected: Global.settingsSubsection === model.subsection
|
|
|
|
visible: model.subsection !== Constants.settingsSubsection.browserSettings || root.browserMenuItemEnabled
|
2021-10-06 09:16:39 +00:00
|
|
|
onClicked: root.menuItemClicked(model)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|