81 lines
2.3 KiB
JavaScript
Vendored
81 lines
2.3 KiB
JavaScript
Vendored
import axios from "axios";
|
|
|
|
const state = {
|
|
regiones: null,
|
|
grupos_de_compra: null,
|
|
region_elegida: null,
|
|
grupo_de_compra_elegido: null,
|
|
rol: null,
|
|
};
|
|
|
|
const mutations = {
|
|
setRegiones(state, { regiones }) {
|
|
state.regiones = regiones;
|
|
},
|
|
setRegionYBarrios(state, { region, grupos_de_compra }) {
|
|
state.region_elegida = region;
|
|
state.grupos_de_compra = grupos_de_compra;
|
|
},
|
|
selectGrupoDeCompra(state, { grupo_de_compra }) {
|
|
state.grupo_de_compra_elegido = grupo_de_compra;
|
|
},
|
|
setRol(state, { rol }) {
|
|
state.rol = rol;
|
|
},
|
|
};
|
|
|
|
const actions = {
|
|
async getRegiones({ commit }) {
|
|
const response = await axios.get("/api/regiones");
|
|
commit('setRegiones', { regiones: response.data });
|
|
},
|
|
async selectRegion({ commit }, { region }) {
|
|
const response = await axios.get(`/api/regiones/${region}`);
|
|
commit('setRegionYBarrios', { region: region, grupos_de_compra: response.data });
|
|
},
|
|
async getRol({ commit }) {
|
|
const response = await axios.get("/user/rol");
|
|
commit('setRol', { rol: response.data.rol });
|
|
}
|
|
};
|
|
|
|
const getters = {
|
|
adminUrl() {
|
|
return window.location.pathname.startsWith('/admin');
|
|
},
|
|
mensajes() {
|
|
return {
|
|
mensaje: `Contraseña de ${getters.adminUrl() ? 'administración ' : ''}del barrio`,
|
|
ayuda: `Si no la sabés, consultá a ${getters.adminUrl() ? 'la comisión informática ' : 'tus compañerxs'}.`
|
|
};
|
|
},
|
|
urlRol() {
|
|
let split = window.location.pathname
|
|
.replace('login', '')
|
|
.split('/')
|
|
.filter(x => x.length);
|
|
return split.length ? split[0] : 'pedido';
|
|
},
|
|
titulos() {
|
|
let rol = getters.urlRol();
|
|
switch (rol) {
|
|
case 'admin':
|
|
return { titulo: "Administración de Pedidos MPS", subtitlo: "administración de pedidos" };
|
|
case 'compras':
|
|
return { titulo: "Comisiones MPS", subtitlo: "página de comisiones" };
|
|
case 'pedido':
|
|
return { titulo: "Pedidos MPS", subtitlo: "aplicación de pedidos" };
|
|
default:
|
|
throw new Error("Url inválida");
|
|
}
|
|
},
|
|
|
|
};
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
mutations,
|
|
actions,
|
|
getters,
|
|
};
|