This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<script setup>
|
||||
import { onMounted, ref, watch } from 'vue';
|
||||
import { AddContextMenu, HideContextMenu } from '@/services/ContextMenu';
|
||||
const props = defineProps(['options', 'onselect', 'selected']);
|
||||
const props = defineProps(['options', 'onselect', 'selected', 'keyFunc']);
|
||||
const options = props.options;
|
||||
const selectCallback = props.onselect;
|
||||
const initialSelect = props.selected;
|
||||
@@ -10,19 +10,23 @@ const dropdown = ref(null);
|
||||
const selected = ref(initialSelect);
|
||||
|
||||
onMounted(() => {
|
||||
if(props.keyFunc == undefined) props.keyFunc = (option) => option;
|
||||
else selected.value = props.keyFunc(initialSelect);
|
||||
|
||||
let context = [];
|
||||
if(props.selected == undefined) selected.value = "undefined";
|
||||
watch(() => props.selected, () => {
|
||||
selected.value = props.selected;
|
||||
selected.value = props.keyFunc(props.selected);
|
||||
});
|
||||
options.forEach(name => {
|
||||
options.forEach(obj => {
|
||||
const name = props.keyFunc(obj);
|
||||
context.push({
|
||||
icon: selected.value == name ? 'icons/iconoir/regular/check.svg' : false,
|
||||
name,
|
||||
action: () => {
|
||||
HideContextMenu();
|
||||
selected.value = name;
|
||||
if(selectCallback) selectCallback(name);
|
||||
if(selectCallback) selectCallback(obj);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -55,12 +55,8 @@ function EditProfile(){
|
||||
}
|
||||
|
||||
function EditSettings(){
|
||||
ClearWindow({type: 'main_menu'});
|
||||
CreateWindow('settings', {
|
||||
id: 'settings',
|
||||
type: 'settings',
|
||||
title: 'settings.title',
|
||||
back: () => { ClearWindow({type: 'settings'}); CreateWindow({type: 'main_menu'}); }
|
||||
CreateChildWindow(GetFirstWindowId('main_menu'), 'settings', {
|
||||
user: GetUser()
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ let id = data.id;
|
||||
onMounted(() => {
|
||||
Top(wrapper);
|
||||
SetupHandle(id, handle);
|
||||
SetSize(id, {width: 500, height: 460});
|
||||
SetSize(id, {width: 580, height: 760});
|
||||
ResetPosition(id, "center");
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -13,6 +13,14 @@ const wrapper = ref(null);
|
||||
const props = defineProps(['data']);
|
||||
const data = props.data;
|
||||
|
||||
const { locales, setLocale, locale } = useI18n();
|
||||
|
||||
const changeLocale = (lang) => {
|
||||
console.log(lang);
|
||||
setLocale(lang.code);
|
||||
SetUserSetting('lang', lang.code);
|
||||
}
|
||||
|
||||
const id = data.id;
|
||||
|
||||
const rows = ref([{id: "account-settings", value: "settings.tabs.account-settings"}]);
|
||||
@@ -23,17 +31,10 @@ const langSelector = ref(null);
|
||||
const currentLanguage = ref("");
|
||||
*/
|
||||
onBeforeMount(() => {
|
||||
/*
|
||||
let codes = {
|
||||
"en-US": "English",
|
||||
"es-ES": "Spanish",
|
||||
"ca": "Catalan"
|
||||
}
|
||||
GetUserSetting('lang').then(value => {
|
||||
currentLanguage.value = codes[value ?? 'en']
|
||||
console.log(currentLanguage.value)
|
||||
});
|
||||
*/
|
||||
if(GetUser().admin) rows.value.push({
|
||||
id: "site-administration",
|
||||
value: "settings.tabs.site-administration"
|
||||
@@ -68,22 +69,8 @@ function OpenManageAccounts(){
|
||||
})
|
||||
}
|
||||
|
||||
function OpenManagePlugins(){
|
||||
ClearWindow('settings');
|
||||
CreateWindow('plugin_management', {
|
||||
type: 'plugin_management',
|
||||
title: 'settings.site-administration.manage-plugins.title',
|
||||
id: 'plugin-management',
|
||||
back: () => {
|
||||
ClearWindow('plugin-management')
|
||||
CreateWindow('settings', {
|
||||
id: 'settings',
|
||||
type: 'settings',
|
||||
title: 'settings.title',
|
||||
back: () => { ClearWindow('settings'); CreateWindow('main_menu'); }
|
||||
});
|
||||
}
|
||||
})
|
||||
const getLocaleName = (locale) => {
|
||||
return locale.name;
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -98,17 +85,14 @@ function OpenManagePlugins(){
|
||||
<template #account-settings>
|
||||
<div class="form-container">
|
||||
<div class="form-element">
|
||||
<label>{{ $t('settings.account.language') }}</label>
|
||||
|
||||
<label>{{ $t('settings.account-settings.language') }}</label>
|
||||
<Dropdown :options="locales" :keyFunc="getLocaleName" :onselect="changeLocale" :selected="locale"></Dropdown>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template #site-administration>
|
||||
<div class="form-element centered">
|
||||
<button v-on:click.prevent="OpenManageAccounts">{{ $t('settings.site-administration.manage-accounts-button') }}</button>
|
||||
</div>
|
||||
<div class="form-element centered">
|
||||
<button v-on:click.prevent="OpenManagePlugins">{{ $t('settings.site-administration.manage-plugins-button') }}</button>
|
||||
<button v-on:click.prevent="OpenManageAccounts">{{ $t('settings.site-administration.manage-accounts') }}</button>
|
||||
</div>
|
||||
</template>
|
||||
</Tabs>
|
||||
|
||||
@@ -1 +1,74 @@
|
||||
{}
|
||||
{
|
||||
"windows": {
|
||||
"login": "Inicia sessió",
|
||||
"register": "Registra't",
|
||||
"main-menu": "Dragonroll",
|
||||
"example": "Finestra d'exemple",
|
||||
"edit-profile": "Edita el perfil",
|
||||
"settings": "Configuració"
|
||||
},
|
||||
"login": {
|
||||
"username": "Usuari o correu electrònic",
|
||||
"username-placeholder": "Introdueix el teu usuari o correu electrònic...",
|
||||
"password": "Contrasenya",
|
||||
"password-placeholder": "Introdueix la teva contrasenya...",
|
||||
"log-in": "Inicia sessió",
|
||||
"no-account": "No tens un compte?",
|
||||
"register": "Registra't",
|
||||
"errors": {
|
||||
"invalid-credentials": "Usuari/correu o contrasenya incorrectes.",
|
||||
"params": "Si us plau, introdueix usuari/correu i contrasenya."
|
||||
},
|
||||
"success": "Inici de sessió correcte!"
|
||||
},
|
||||
"register": {
|
||||
"name": "Nom",
|
||||
"name-placeholder": "Introdueix el teu nom...",
|
||||
"email": "Correu electrònic",
|
||||
"email-placeholder": "Introdueix el teu correu electrònic...",
|
||||
"username": "Usuari",
|
||||
"username-placeholder": "Introdueix el teu nom d'usuari...",
|
||||
"password": "Contrasenya",
|
||||
"password-placeholder": "Introdueix la teva contrasenya...",
|
||||
"confirm-password": "Confirma la contrasenya",
|
||||
"confirm-password-placeholder": "Torna a introduir la contrasenya...",
|
||||
"register": "Registra't",
|
||||
"have-account": "Ja tens un compte?",
|
||||
"login": "Inicia sessió",
|
||||
"password-confirm-placeholder": "Confirma la teva contrasenya...",
|
||||
"welcome": "Benvingut a DragonRoll!",
|
||||
"message": "Si us plau, introdueix el nom d'usuari i la contrasenya que desitges per crear un compte.",
|
||||
"first-register-message": "Estàs a punt de crear el primer compte en aquesta instància de DragonRoll. Aquest compte tindrà privilegis d'administrador.",
|
||||
"errors": {
|
||||
"name-empty": "Si us plau, introdueix el teu nom.",
|
||||
"email-empty": "Si us plau, introdueix un correu electrònic vàlid.",
|
||||
"username-empty": "Si us plau, introdueix un nom d'usuari.",
|
||||
"passwords-no-match": "Les contrasenyes no coincideixen.",
|
||||
"email-username-exists": "Ja existeix un compte amb aquest correu electrònic o nom d'usuari."
|
||||
},
|
||||
"success": "Registre correcte! Ara pots iniciar sessió."
|
||||
},
|
||||
"errors": {
|
||||
"internal": "S'ha produït un error intern."
|
||||
},
|
||||
"main-menu": {
|
||||
"main-menu": "Menú principal",
|
||||
"edit-profile": "Edita el perfil",
|
||||
"campaigns": "Campanyes",
|
||||
"log-out": "Tanca la sessió",
|
||||
"settings": "Configuració"
|
||||
},
|
||||
"settings": {
|
||||
"tabs": {
|
||||
"account-settings": "Configuració del compte",
|
||||
"site-administration": "Administració del lloc"
|
||||
},
|
||||
"account-settings": {
|
||||
"appearance": "Aparença",
|
||||
"language": "Idioma"
|
||||
},
|
||||
"site-administration": {
|
||||
"manage-accounts": "Gestiona els comptes"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -57,5 +57,18 @@
|
||||
"campaigns": "Campaigns",
|
||||
"log-out": "Log out",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"settings": {
|
||||
"tabs": {
|
||||
"account-settings": "Account settings",
|
||||
"site-administration": "Site administration"
|
||||
},
|
||||
"account-settings": {
|
||||
"appearance": "Appearance",
|
||||
"language": "Language"
|
||||
},
|
||||
"site-administration": {
|
||||
"manage-accounts": "Manage accounts"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +1,74 @@
|
||||
{}
|
||||
{
|
||||
"windows": {
|
||||
"login": "Iniciar sesión",
|
||||
"register": "Registrarse",
|
||||
"main-menu": "Dragonroll",
|
||||
"example": "Ventana de ejemplo",
|
||||
"edit-profile": "Editar perfil",
|
||||
"settings": "Configuración"
|
||||
},
|
||||
"login": {
|
||||
"username": "Usuario o correo electrónico",
|
||||
"username-placeholder": "Introduce tu usuario o correo electrónico...",
|
||||
"password": "Contraseña",
|
||||
"password-placeholder": "Introduce tu contraseña...",
|
||||
"log-in": "Iniciar sesión",
|
||||
"no-account": "¿No tienes una cuenta?",
|
||||
"register": "Registrarse",
|
||||
"errors": {
|
||||
"invalid-credentials": "Usuario/correo o contraseña incorrectos.",
|
||||
"params": "Por favor, introduce usuario/correo y contraseña."
|
||||
},
|
||||
"success": "¡Inicio de sesión exitoso!"
|
||||
},
|
||||
"register": {
|
||||
"name": "Nombre",
|
||||
"name-placeholder": "Introduce tu nombre...",
|
||||
"email": "Correo electrónico",
|
||||
"email-placeholder": "Introduce tu correo electrónico...",
|
||||
"username": "Usuario",
|
||||
"username-placeholder": "Introduce tu nombre de usuario...",
|
||||
"password": "Contraseña",
|
||||
"password-placeholder": "Introduce tu contraseña...",
|
||||
"confirm-password": "Confirmar contraseña",
|
||||
"confirm-password-placeholder": "Vuelve a introducir tu contraseña...",
|
||||
"register": "Registrarse",
|
||||
"have-account": "¿Ya tienes una cuenta?",
|
||||
"login": "Iniciar sesión",
|
||||
"password-confirm-placeholder": "Confirma tu contraseña...",
|
||||
"welcome": "¡Bienvenido a DragonRoll!",
|
||||
"message": "Por favor, introduce el usuario y la contraseña que deseas para crear una cuenta.",
|
||||
"first-register-message": "Estás a punto de crear la primera cuenta en esta instancia de DragonRoll. Esta cuenta tendrá privilegios de administrador.",
|
||||
"errors": {
|
||||
"name-empty": "Por favor, introduce tu nombre.",
|
||||
"email-empty": "Por favor, introduce un correo electrónico válido.",
|
||||
"username-empty": "Por favor, introduce un nombre de usuario.",
|
||||
"passwords-no-match": "Las contraseñas no coinciden.",
|
||||
"email-username-exists": "Ya existe una cuenta con este correo electrónico o nombre de usuario."
|
||||
},
|
||||
"success": "¡Registro exitoso! Ahora puedes iniciar sesión."
|
||||
},
|
||||
"errors": {
|
||||
"internal": "Ha ocurrido un error interno."
|
||||
},
|
||||
"main-menu": {
|
||||
"main-menu": "Menú principal",
|
||||
"edit-profile": "Editar perfil",
|
||||
"campaigns": "Campañas",
|
||||
"log-out": "Cerrar sesión",
|
||||
"settings": "Configuración"
|
||||
},
|
||||
"settings": {
|
||||
"tabs": {
|
||||
"account-settings": "Configuración de la cuenta",
|
||||
"site-administration": "Administración del sitio"
|
||||
},
|
||||
"account-settings": {
|
||||
"appearance": "Apariencia",
|
||||
"language": "Idioma"
|
||||
},
|
||||
"site-administration": {
|
||||
"manage-accounts": "Gestionar cuentas"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user