status-desktop/storybook/pages/LanguageViewPage.qml

130 lines
4.1 KiB
QML
Raw Normal View History

import QtQuick 2.14
import QtQuick.Controls 2.14
import QtQuick.Layouts 1.14
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Profile.views 1.0
import AppLayouts.Profile.stores 1.0
import Storybook 1.0
import utils 1.0
import mainui 1.0
import shared.stores 1.0
SplitView {
id: root
Logs { id: logs }
Popups {
popupParent: root
rootStore: AppLayoutStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}
SplitView {
orientation: Qt.Vertical
SplitView.fillWidth: true
LanguageView {
SplitView.fillWidth: true
SplitView.fillHeight: true
contentWidth: parent.width - 150
languageSelectionEnabled: ctrlLanguageSelectionEnabled.checked
languageStore: LanguageStore {
2022-11-10 14:28:53 +00:00
property string currentLanguage: "en"
readonly property ListModel languageModel: ListModel {
ListElement {
locale: "ar"
name: "Arabic"
shortName: "العربية"
flag: "🇸🇦"
state: 0
2022-11-10 14:28:53 +00:00
selected: false
}
ListElement {
locale: "en"
name: "English"
shortName: "English"
flag: "🏴󠁧󠁢󠁥󠁮󠁧󠁿"
state: 2
2022-11-10 14:28:53 +00:00
selected: true
}
ListElement {
locale: "cs_CZ"
name: "Czech"
shortName: "čeština"
flag: "🇨🇿"
state: 1
selected: false
}
}
2022-11-10 14:28:53 +00:00
function changeLanguage(language) {
logs.logEvent("languageStore::changeLanguage", ["language"], arguments)
currentLanguage = language
}
}
currencyStore: CurrenciesStore {
property string currentCurrency: "USD"
2022-11-10 14:28:53 +00:00
property string currentCurrencySymbol: "$"
readonly property ListModel currenciesModel: ListModel {
ListElement {
key: "usd"
shortName: "USD"
name: "US Dollars"
symbol: "$"
category: ""
2022-11-10 14:28:53 +00:00
imageSource: "../../assets/twemoji/svg/1f1fa-1f1f8.svg"
selected: true
}
ListElement {
key: "gbp"
shortName: "GBP"
name: "British Pound"
symbol: "£"
category: ""
2022-11-10 14:28:53 +00:00
imageSource: "../../assets/twemoji/svg/1f1ec-1f1e7.svg"
selected: false
}
}
function updateCurrenciesModel() {
logs.logEvent("currencyStore::updateCurrenciesModel")
}
function updateCurrency(currencyKey) {
logs.logEvent("currencyStore::updateCurrency", ["currencyKey"], arguments)
}
}
}
LogsAndControlsPanel {
id: logsAndControlsPanel
SplitView.minimumHeight: 100
SplitView.preferredHeight: 200
logsView.logText: logs.logText
Switch {
id: ctrlLanguageSelectionEnabled
text: "Language selection enabled"
}
}
}
}
// category: Components
// https://www.figma.com/file/idUoxN7OIW2Jpp3PMJ1Rl8/%E2%9A%99%EF%B8%8F-Settings-%7C-Desktop?node-id=701%3A74776
// https://www.figma.com/file/idUoxN7OIW2Jpp3PMJ1Rl8/%E2%9A%99%EF%B8%8F-Settings-%7C-Desktop?node-id=1592%3A112840
// https://www.figma.com/file/idUoxN7OIW2Jpp3PMJ1Rl8/%E2%9A%99%EF%B8%8F-Settings-%7C-Desktop?node-id=701%3A75345