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. addSongToPlaylist: false,
  15. editStation: false,
  16. report: false
  17. },
  18. admin: {
  19. editUser: false,
  20. editSong: false,
  21. viewPunishment: false
  22. }
  23. },
  24. currentlyActive: {}
  25. };
  26. const getters = {};
  27. const actions = {
  28. toggleModal: ({ commit }, data) => {
  29. commit("toggleModal", data);
  30. },
  31. closeCurrentModal: ({ commit }) => {
  32. commit("closeCurrentModal");
  33. }
  34. };
  35. const mutations = {
  36. toggleModal(state, data) {
  37. const { sector, modal } = data;
  38. state.modals[sector][modal] = !state.modals[sector][modal];
  39. if (state.modals[sector][modal])
  40. 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. };