Migrate bookmark folders state to pinia store

This commit is contained in:
Sean King 2025-02-21 23:37:29 -07:00
commit bc0b13ac0d
No known key found for this signature in database
GPG key ID: 510C52BACD6E7257
11 changed files with 77 additions and 84 deletions

View file

@ -1,66 +0,0 @@
import { remove, find } from 'lodash'
export const defaultState = {
allFolders: []
}
export const mutations = {
setBookmarkFolders (state, value) {
state.allFolders = value
},
setBookmarkFolder (state, { id, name, emoji, emoji_url: emojiUrl }) {
const entry = find(state.allFolders, { id })
if (!entry) {
state.allFolders.push({ id, name, emoji, emoji_url: emojiUrl })
} else {
entry.name = name
entry.emoji = emoji
entry.emoji_url = emojiUrl
}
},
deleteBookmarkFolder (state, { folderId }) {
remove(state.allFolders, folder => folder.id === folderId)
}
}
const actions = {
setBookmarkFolders ({ commit }, value) {
commit('setBookmarkFolders', value)
},
createBookmarkFolder ({ rootState, commit }, { name, emoji }) {
return rootState.api.backendInteractor.createBookmarkFolder({ name, emoji })
.then((folder) => {
commit('setBookmarkFolder', folder)
return folder
})
},
setBookmarkFolder ({ rootState, commit }, { folderId, name, emoji }) {
return rootState.api.backendInteractor.updateBookmarkFolder({ folderId, name, emoji })
.then((folder) => {
commit('setBookmarkFolder', folder)
return folder
})
},
deleteBookmarkFolder ({ rootState, commit }, { folderId }) {
rootState.api.backendInteractor.deleteBookmarkFolder({ folderId })
commit('deleteBookmarkFolder', { folderId })
}
}
export const getters = {
findBookmarkFolderName: state => id => {
const folder = state.allFolders.find(folder => folder.id === id)
if (!folder) return
return folder.name
}
}
const bookmarkFolders = {
state: defaultState,
mutations,
actions,
getters
}
export default bookmarkFolders