mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-03-27 15:55:55 +00:00
Remember selected language
This commit is contained in:
parent
11f5193da2
commit
109a0605b4
@ -1,6 +1,4 @@
|
|||||||
import { LitElement, html, css } from 'lit'
|
import { LitElement, html, css } from 'lit'
|
||||||
import { connect } from 'pwa-helpers'
|
|
||||||
import { store } from '../store.js'
|
|
||||||
import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate'
|
import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate'
|
||||||
|
|
||||||
registerTranslateConfig({
|
registerTranslateConfig({
|
||||||
@ -16,10 +14,9 @@ if (checkLanguage === null || checkLanguage.length === 0) {
|
|||||||
use(checkLanguage)
|
use(checkLanguage)
|
||||||
}
|
}
|
||||||
|
|
||||||
class LanguageSelector extends connect(store)(LitElement) {
|
class LanguageSelector extends LitElement {
|
||||||
static get properties() {
|
static get properties() {
|
||||||
return {
|
return {
|
||||||
config: { type: Object },
|
|
||||||
theme: { type: String, reflect: true }
|
theme: { type: String, reflect: true }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -57,8 +54,7 @@ class LanguageSelector extends connect(store)(LitElement) {
|
|||||||
render() {
|
render() {
|
||||||
return html`
|
return html`
|
||||||
<div style="display: inline;">
|
<div style="display: inline;">
|
||||||
<select @change="${this.changeLanguage}">
|
<select id="languageSelect" @change="${this.changeLanguage}">
|
||||||
<option value="us">${translate("selectmenu.selectlanguage")}</option>
|
|
||||||
<option value="us">US - ${translate("selectmenu.english")}</option>
|
<option value="us">US - ${translate("selectmenu.english")}</option>
|
||||||
<option value="de">DE - ${translate("selectmenu.german")}</option>
|
<option value="de">DE - ${translate("selectmenu.german")}</option>
|
||||||
<option value="es">ES - ${translate("selectmenu.spanish")}</option>
|
<option value="es">ES - ${translate("selectmenu.spanish")}</option>
|
||||||
@ -83,17 +79,25 @@ class LanguageSelector extends connect(store)(LitElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
firstUpdated() {
|
firstUpdated() {
|
||||||
// ...
|
const myElement = this.shadowRoot.getElementById('languageSelect')
|
||||||
|
|
||||||
|
myElement.addEventListener("change", () => {
|
||||||
|
this.selectElement()
|
||||||
|
})
|
||||||
|
|
||||||
|
this.selectElement()
|
||||||
|
}
|
||||||
|
|
||||||
|
selectElement() {
|
||||||
|
const selectedLanguage = localStorage.getItem('qortalLanguage')
|
||||||
|
let element = this.shadowRoot.getElementById('languageSelect')
|
||||||
|
element.value = selectedLanguage
|
||||||
}
|
}
|
||||||
|
|
||||||
changeLanguage(event) {
|
changeLanguage(event) {
|
||||||
use(event.target.value)
|
use(event.target.value)
|
||||||
localStorage.setItem('qortalLanguage', event.target.value)
|
localStorage.setItem('qortalLanguage', event.target.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
stateChanged(state) {
|
|
||||||
this.config = state.config
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window.customElements.define('language-selector', LanguageSelector)
|
window.customElements.define('language-selector', LanguageSelector)
|
||||||
|
@ -2,7 +2,7 @@ import { LitElement, html, css } from 'lit'
|
|||||||
import { connect } from 'pwa-helpers'
|
import { connect } from 'pwa-helpers'
|
||||||
import { store } from '../store.js'
|
import { store } from '../store.js'
|
||||||
import { doAddNode, doSetNode, doLoadNodeConfig } from '../redux/app/app-actions.js'
|
import { doAddNode, doSetNode, doLoadNodeConfig } from '../redux/app/app-actions.js'
|
||||||
import { get, translate, translateUnsafeHTML } from 'lit-translate'
|
import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate'
|
||||||
import snackbar from './snackbar.js'
|
import snackbar from './snackbar.js'
|
||||||
import '../components/language-selector.js'
|
import '../components/language-selector.js'
|
||||||
import '../custom-elements/frag-file-input.js'
|
import '../custom-elements/frag-file-input.js'
|
||||||
@ -15,6 +15,19 @@ import '@material/mwc-textfield'
|
|||||||
import '@material/mwc-icon'
|
import '@material/mwc-icon'
|
||||||
import '@material/mwc-list/mwc-list-item.js'
|
import '@material/mwc-list/mwc-list-item.js'
|
||||||
|
|
||||||
|
registerTranslateConfig({
|
||||||
|
loader: lang => fetch(`/language/${lang}.json`).then(res => res.json())
|
||||||
|
})
|
||||||
|
|
||||||
|
const checkLanguage = localStorage.getItem('qortalLanguage')
|
||||||
|
|
||||||
|
if (checkLanguage === null || checkLanguage.length === 0) {
|
||||||
|
localStorage.setItem('qortalLanguage', 'us')
|
||||||
|
use('us')
|
||||||
|
} else {
|
||||||
|
use(checkLanguage)
|
||||||
|
}
|
||||||
|
|
||||||
let settingsDialog
|
let settingsDialog
|
||||||
|
|
||||||
class SettingsPage extends connect(store)(LitElement) {
|
class SettingsPage extends connect(store)(LitElement) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user