mirror of
https://github.com/KevinMidboe/planetposen.git
synced 2025-10-29 17:50:32 +00:00
Cart store module.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import VueRouter from 'vue-router'
|
import VueRouter from 'vue-router'
|
||||||
import router from './routes'
|
import router from './routes'
|
||||||
// import store from './store'
|
import store from './store'
|
||||||
|
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ Vue.use(VueRouter)
|
|||||||
new Vue({
|
new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
router,
|
router,
|
||||||
// store,
|
store,
|
||||||
components: { App },
|
components: { App },
|
||||||
render: h => h(App)
|
render: h => h(App)
|
||||||
})
|
})
|
||||||
|
|||||||
44
frontend/modules/cartModule.js
Normal file
44
frontend/modules/cartModule.js
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
const updateLocalStorage = (key, value) => {
|
||||||
|
localStorage.setItem(key, JSON.stringify(value));
|
||||||
|
}
|
||||||
|
const getParsedFromLocalStorage = key => {
|
||||||
|
const value = localStorage.getItem(key);
|
||||||
|
try {
|
||||||
|
return JSON.parse(value)
|
||||||
|
} catch {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
namespaced: true,
|
||||||
|
state: {
|
||||||
|
inventory: getParsedFromLocalStorage('inventory') || [],
|
||||||
|
},
|
||||||
|
getters: {
|
||||||
|
inventory: state => {
|
||||||
|
return state.inventory;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
ADD_ITEM_TO_CART: (state, item) => {
|
||||||
|
state.inventory.push(item);
|
||||||
|
|
||||||
|
updateLocalStorage('inventory', state.inventory)
|
||||||
|
},
|
||||||
|
REMOVE_ITEM_FROM_CART: (state, item) => {
|
||||||
|
state.inventory = state.inventory.filter(i => i !== item)
|
||||||
|
|
||||||
|
updateLocalStorage('inventory', state.inventory)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
addItemToCart({ commit }, item) {
|
||||||
|
commit("ADD_ITEM_TO_CART", item);
|
||||||
|
},
|
||||||
|
removeItemFromCart({ commit }, item) {
|
||||||
|
commit('REMOVE_ITEM_FROM_CART', item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
|
|
||||||
export default {
|
|
||||||
namespaced: true,
|
|
||||||
state: {
|
|
||||||
player: undefined,
|
|
||||||
playlist: [],
|
|
||||||
authenticatedAdmin: false,
|
|
||||||
channelSettings: null,
|
|
||||||
clientSettings: null,
|
|
||||||
nowPlaying: null,
|
|
||||||
userSuggested: [],
|
|
||||||
externalSuggested: [],
|
|
||||||
PLAYER_STATES: {
|
|
||||||
BUFFERING: 3,
|
|
||||||
CUED: 5,
|
|
||||||
ENDED: 0,
|
|
||||||
PAUSED: 2,
|
|
||||||
PLAYING: 1,
|
|
||||||
UNSTARTED: -1
|
|
||||||
},
|
|
||||||
socket: null,
|
|
||||||
channel: "summér"
|
|
||||||
},
|
|
||||||
getters: {
|
|
||||||
channel: state => {
|
|
||||||
return state.channel;
|
|
||||||
},
|
|
||||||
socket: state => {
|
|
||||||
return state.socket
|
|
||||||
},
|
|
||||||
PLAYER_STATES: state => {
|
|
||||||
return state.PLAYER_STATES;
|
|
||||||
},
|
|
||||||
authenticatedAdmin: state => {
|
|
||||||
return state.authenticatedAdmin;
|
|
||||||
},
|
|
||||||
playlist: state => {
|
|
||||||
return state.playlist;
|
|
||||||
},
|
|
||||||
channelSettings: state => {
|
|
||||||
return state.channelSettings;
|
|
||||||
},
|
|
||||||
clientSettings: state => {
|
|
||||||
return state.clientSettings;
|
|
||||||
},
|
|
||||||
nowPlaying: state => {
|
|
||||||
return state.nowPlaying;
|
|
||||||
},
|
|
||||||
userSuggested: state => {
|
|
||||||
return state.userSuggested;
|
|
||||||
},
|
|
||||||
externalSuggested: state => {
|
|
||||||
return state.externalSuggested;
|
|
||||||
},
|
|
||||||
player: state => {
|
|
||||||
return state.player;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mutations: {
|
|
||||||
SET_CHANNEL: (state, channel) => {
|
|
||||||
state.channel = channel;
|
|
||||||
},
|
|
||||||
SET_AUTHENTICATED_ADMIN: (state, authenticatedAdmin) => {
|
|
||||||
state.authenticatedAdmin = authenticatedAdmin;
|
|
||||||
},
|
|
||||||
SET_PLAYLIST: (state, playlist) => {
|
|
||||||
state.playlist = playlist;
|
|
||||||
},
|
|
||||||
SET_CHANNEL_SETTINGS: (state, channelSettings) => {
|
|
||||||
state.channelSettings = channelSettings;
|
|
||||||
},
|
|
||||||
SET_CLIENT_SETTINGS: (state, clientSettings) => {
|
|
||||||
state.clientSettings = clientSettings;
|
|
||||||
},
|
|
||||||
SET_NOW_PLAYING: (state, nowPlaying) => {
|
|
||||||
state.nowPlaying = nowPlaying;
|
|
||||||
},
|
|
||||||
SET_USER_SUGGESTED: (state, userSuggested) => {
|
|
||||||
state.userSuggested = userSuggested;
|
|
||||||
},
|
|
||||||
SET_EXTERNAL_SUGGESTED: (state, externalSuggested) => {
|
|
||||||
state.externalSuggested = externalSuggested;
|
|
||||||
},
|
|
||||||
SET_PLAYER: (state, player) => {
|
|
||||||
state.player = player;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
actions: {
|
|
||||||
setChannel({ commit }, channel) {
|
|
||||||
commit("SET_CHANNEL", channel.toLowerCase());
|
|
||||||
},
|
|
||||||
setAuthenticatedAdmin({ commit }, authenticatedAdmin) {
|
|
||||||
commit("SET_AUTHENTICATED_ADMIN", authenticatedAdmin);
|
|
||||||
},
|
|
||||||
setPlaylist({ commit }, playlist) {
|
|
||||||
commit("SET_PLAYLIST", playlist);
|
|
||||||
},
|
|
||||||
setChannelSettings({ commit }, channelSettings) {
|
|
||||||
commit("SET_CHANNEL_SETTINGS", channelSettings);
|
|
||||||
},
|
|
||||||
setClientSettings({ commit }, clientSettings) {
|
|
||||||
commit("SET_CLIENT_SETTINGS", clientSettings);
|
|
||||||
},
|
|
||||||
setNowPlaying({ commit }, nowPlaying) {
|
|
||||||
commit("SET_NOW_PLAYING", nowPlaying);
|
|
||||||
},
|
|
||||||
setUserSuggested({ commit }, userSuggested) {
|
|
||||||
commit("SET_USER_SUGGESTED", userSuggested);
|
|
||||||
},
|
|
||||||
setExternalSuggested({ commit }, externalSuggested) {
|
|
||||||
commit("SET_EXTERNAL_SUGGESTED", externalSuggested);
|
|
||||||
},
|
|
||||||
setPlayer({ commit }, player) {
|
|
||||||
commit("SET_PLAYER", player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import Vuex from 'vuex';
|
import Vuex from 'vuex';
|
||||||
|
|
||||||
import playerModule from '@/modules/playerModule';
|
|
||||||
|
|
||||||
Vue.use(Vuex);
|
Vue.use(Vuex);
|
||||||
|
|
||||||
|
import cartModule from '@/modules/cartModule';
|
||||||
|
|
||||||
const store = new Vuex.Store({
|
const store = new Vuex.Store({
|
||||||
modules: {
|
modules: {
|
||||||
playerModule
|
cartModule
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
export default store;
|
export default store;
|
||||||
|
|||||||
Reference in New Issue
Block a user