modals.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const state = {
  2. modals: {
  3. header: {
  4. login: false,
  5. register: false
  6. },
  7. home: {
  8. createCommunityStation: false
  9. },
  10. station: {
  11. addSongToQueue: false,
  12. editPlaylist: false,
  13. createPlaylist: false,
  14. editPlaylist: false,
  15. addSongToPlaylist: false,
  16. editStation: false,
  17. report: false
  18. },
  19. admin: {
  20. editUser: false,
  21. editSong: false,
  22. viewPunishment: false
  23. }
  24. },
  25. currentlyActive: {}
  26. };
  27. const getters = {};
  28. const actions = {
  29. toggleModal: ({ commit }, data) => {
  30. commit("toggleModal", data);
  31. },
  32. closeCurrentModal: ({ commit }) => {
  33. commit("closeCurrentModal");
  34. }
  35. };
  36. const mutations = {
  37. toggleModal(state, data) {
  38. const { sector, modal } = data;
  39. state.modals[sector][modal] = !state.modals[sector][modal];
  40. if (state.modals[sector][modal]) state.currentlyActive = { sector, modal };
  41. else state.currentlyActive = {};
  42. },
  43. closeCurrentModal(state) {
  44. const { sector, modal } = state.currentlyActive;
  45. state.modals[sector][modal] = false;
  46. state.currentlyActive = {};
  47. }
  48. };
  49. export default {
  50. namespaced: true,
  51. state,
  52. getters,
  53. actions,
  54. mutations
  55. };