Cambios de nombres, y movida logica de chismosa a store de vuex

This commit is contained in:
Alejandro Tasistro 2025-05-23 00:36:53 -03:00
parent f81141d18b
commit 21aa36e3d1
5 changed files with 35 additions and 29 deletions

View file

@ -12,7 +12,7 @@
<chismosa-dropdown <chismosa-dropdown
v-if="pedidoDefinido" v-if="pedidoDefinido"
class="hide-above-1023" class="hide-above-1023"
id="mobile"> ariaControls="mobile">
</chismosa-dropdown> </chismosa-dropdown>
<a role="button" class="navbar-burger" :class="{'is-active':burgerActiva}" aria-label="menu" <a role="button" class="navbar-burger" :class="{'is-active':burgerActiva}" aria-label="menu"
aria-expanded="false" data-target="nav-bar" @click="toggleBurger"> aria-expanded="false" data-target="nav-bar" @click="toggleBurger">
@ -35,7 +35,7 @@
<chismosa-dropdown <chismosa-dropdown
v-if="pedidoDefinido" v-if="pedidoDefinido"
class="hide-below-1024" class="hide-below-1024"
id="wide"> ariaControls="wide">
</chismosa-dropdown> </chismosa-dropdown>
<div class="block navbar-item"> <div class="block navbar-item">
<a onclick="event.preventDefault(); document.getElementById('logout-form').submit();" <a onclick="event.preventDefault(); document.getElementById('logout-form').submit();"

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="dropdown is-right navbar-item" :class="{'is-active':activa}"> <div class="dropdown is-right navbar-item" :class="{'is-active': show_chismosa}">
<div class="dropdown-trigger"> <div class="dropdown-trigger">
<a class="text-a" aria-haspopup="true" :aria-controls="id" @click.capture="toggle"> <a class="text-a" aria-haspopup="true" :aria-controls="ariaControls" @click.capture="toggleChismosa">
<span class="icon is-small mr-1"> <span class="icon is-small mr-1">
<img src="/assets/chismosa.png"> <img src="/assets/chismosa.png">
</span> </span>
@ -13,33 +13,23 @@
<script> <script>
import Chismosa from './Chismosa.vue' import Chismosa from './Chismosa.vue'
import { mapState } from "vuex"; import { mapMutations, mapState } from "vuex";
export default { export default {
components: { components: {
Chismosa Chismosa
}, },
props: { props: {
id: { ariaControls: {
type: String, type: String,
required: true required: true
} }
}, },
data() {
return {
activa: false,
}
},
computed: { computed: {
...mapState('pedido',["total"]), ...mapState('pedido',["total"]),
}, ...mapState('ui',["show_chismosa"]),
mounted() {
Event.$on('pedido-actualizado', this.actualizar);
}, },
methods: { methods: {
toggle() { ...mapMutations('ui',["toggleChismosa"]),
this.activa = !this.activa;
Event.$emit("toggle-chismosa", this.activa);
},
}, },
} }
</script> </script>

View file

@ -4,32 +4,27 @@ import ProductosContainer from "./ProductosContainer.vue";
import Chismosa from "./Chismosa.vue"; import Chismosa from "./Chismosa.vue";
import { defineComponent } from "vue"; import { defineComponent } from "vue";
import SubpedidoSelect from "./SubpedidoSelect.vue"; import SubpedidoSelect from "./SubpedidoSelect.vue";
import { mapActions } from "vuex"; import { mapActions, mapState } from "vuex";
export default defineComponent({ export default defineComponent({
components: { SubpedidoSelect, CategoriasContainer, ProductosContainer, Chismosa }, components: { SubpedidoSelect, CategoriasContainer, ProductosContainer, Chismosa },
data() { computed: {
return { ...mapState('ui',["show_chismosa"])
chismosaActiva: false,
}
}, },
methods: { methods: {
...mapActions('productos',["init"]), ...mapActions('productos',["init"]),
}, },
async mounted() { async mounted() {
await this.init(); await this.init();
Event.$on('toggle-chismosa', (activa) => {
this.chismosaActiva = activa;
});
}, },
}) })
</script> </script>
<template> <template>
<div class="columns ml-3 mr-3" v-else> <div class="columns ml-3 mr-3" v-else>
<categorias-container :class="chismosaActiva ? 'hide-below-1024' : ''"></categorias-container> <categorias-container :class="show_chismosa ? 'hide-below-1024' : ''"></categorias-container>
<productos-container :class="chismosaActiva ? 'hide-below-1024' : ''"></productos-container> <productos-container :class="show_chismosa ? 'hide-below-1024' : ''"></productos-container>
<chismosa v-show="chismosaActiva"></chismosa> <chismosa v-show="show_chismosa"></chismosa>
</div> </div>
</template> </template>

View file

@ -5,6 +5,7 @@ import login from "./modules/login";
import pedido from "./modules/pedido"; import pedido from "./modules/pedido";
import barrio from "./modules/barrio"; import barrio from "./modules/barrio";
import productos from "./modules/productos"; import productos from "./modules/productos";
import ui from "./modules/ui";
Vue.use(Vuex); Vue.use(Vuex);
@ -15,5 +16,6 @@ export default new Vuex.Store({
pedido, pedido,
barrio, barrio,
productos, productos,
ui,
}, },
}); });

19
resources/js/store/modules/ui.js vendored Normal file
View file

@ -0,0 +1,19 @@
const state = {
show_chismosa: false,
show_devoluciones: false,
};
const mutations = {
toggleChismosa(state) {
state.show_chismosa = !state.show_chismosa;
},
toggleDevoluciones(state) {
state.show_devoluciones = !state.show_devoluciones;
},
};
export default {
namespaced: true,
state,
mutations,
};