modals.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. addSongToPlaylist: false,
  15. editStation: false,
  16. report: false
  17. },
  18. admin: {
  19. editNews: false,
  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])
  41. state.currentlyActive = { sector, modal };
  42. else state.currentlyActive = {};
  43. },
  44. closeCurrentModal(state) {
  45. const { sector, modal } = state.currentlyActive;
  46. state.modals[sector][modal] = false;
  47. state.currentlyActive = {};
  48. }
  49. };
  50. export default {
  51. namespaced: true,
  52. state,
  53. getters,
  54. actions,
  55. mutations
  56. };