mirror of
				https://github.com/em-squared/5e-drs.git
				synced 2025-10-31 05:24:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import {sortByString} from '@theme/util/filterHelpers'
 | |
| 
 | |
| export default {
 | |
|   namespaced: true,
 | |
| 
 | |
|   state: {
 | |
|     monsters: [],
 | |
|   },
 | |
| 
 | |
|   getters: {
 | |
|     monsters: state => state.monsters,
 | |
|   },
 | |
| 
 | |
|   actions: {
 | |
|     reset: ({ commit }) => {
 | |
|       commit('resetMonsters')
 | |
|     },
 | |
|     updateMonsters: ({ commit }, payload) => {
 | |
|       commit('setMonsters', payload)
 | |
|     },
 | |
|     addMonster: ({ commit }, payload) => {
 | |
|       commit('addMonster', payload)
 | |
|     },
 | |
|     removeMonster: ({ commit }, payload) => {
 | |
|       commit('removeMonster', payload)
 | |
|     },
 | |
|   },
 | |
| 
 | |
|   mutations: {
 | |
|     initialiseStore (state) {
 | |
| 			// Récupération des données utilisateurs depuis le navigateur
 | |
| 			if(localStorage.getItem('myMonsters') && localStorage.getItem('myMonsters') !== undefined) {
 | |
|         let localStorageData = JSON.parse(localStorage.getItem('myMonsters'))
 | |
|         state.monsters = localStorageData.monsters
 | |
| 			}
 | |
| 		},
 | |
|     setMonsters: (state, payload) => {
 | |
|       state.monsters = payload
 | |
|     },
 | |
|     resetMonsters: (state) => {
 | |
|       state.monsters = []
 | |
|     },
 | |
|     addMonster: (state, payload) => {
 | |
|       state.monsters.push(payload)
 | |
|       state.monsters.sort((a, b) => { return sortByString(a.title, b.title) })
 | |
|     },
 | |
|     updateMonster: (state, payload) => {
 | |
|       state.monsters.forEach((monster, idx) => {
 | |
|         if (monster.key == payload.key) {
 | |
|           state.monsters[idx] = payload
 | |
|         }
 | |
|       })
 | |
|     },
 | |
|     removeMonster: (state, payload) => {
 | |
|       state.monsters.forEach((monster, idx) => {
 | |
|         if (monster.key == payload.key) {
 | |
|           state.monsters.splice(idx, 1)
 | |
|         }
 | |
|       })
 | |
|     },
 | |
|   }
 | |
| 
 | |
| }
 | 
