diff --git a/package-lock.json b/package-lock.json index 744f75a..221a6b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,8 @@ "leading-trim": "^1.0.2", "mariadb": "^3.2.3", "uuid": "^9.0.1", - "vite": "^5.1.0" + "vite": "^5.1.0", + "vuex": "^4.1.0" }, "devDependencies": { "@nuxt/devtools": "latest", @@ -440,7 +441,6 @@ "version": "7.23.9", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", - "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -1169,8 +1169,7 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "devOptional": true + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.22", @@ -3410,7 +3409,6 @@ "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.16.tgz", "integrity": "sha512-HXgyy7gen4FNJS8Hz2q/NNBEdzD3QInhDTWaP2/mS0TlmV9CnjmXip7TZ0ROYiQM4FgXZCCJvh74yDikFkPpkQ==", - "dev": true, "dependencies": { "@babel/parser": "^7.23.9", "@vue/shared": "3.4.16", @@ -3422,14 +3420,12 @@ "node_modules/@vue/compiler-core/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-dom": { "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.16.tgz", "integrity": "sha512-lvs9ankPzLEuIC5aB72ntLUcwVGmgY7ASkXDRvo9+lUMWOOCqnAmM/64AZPeVAZ4EnjocCE40OUN+ZboNe4ygA==", - "dev": true, "dependencies": { "@vue/compiler-core": "3.4.16", "@vue/shared": "3.4.16" @@ -3439,7 +3435,6 @@ "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.16.tgz", "integrity": "sha512-zVYC42Q/NmbB4nigGcQeIvsLpBlq6K9wJP5jTFCqfpXWnkodxfLFQHDu2GntZ7yKOgwAjxuvLwrPx+I6LPL2vg==", - "dev": true, "dependencies": { "@babel/parser": "^7.23.9", "@vue/compiler-core": "3.4.16", @@ -3455,14 +3450,12 @@ "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-ssr": { "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.16.tgz", "integrity": "sha512-1kNF+fHdEB+5aTcPZ0hh/gzi9Ezq5IBO4bl/hV4Dg4fub6t12W6VGlsERtvdUaEowL35M3pojv0hOvLaq0FbdQ==", - "dev": true, "dependencies": { "@vue/compiler-dom": "3.4.16", "@vue/shared": "3.4.16" @@ -3471,14 +3464,12 @@ "node_modules/@vue/devtools-api": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", - "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", - "dev": true + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" }, "node_modules/@vue/reactivity": { "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.16.tgz", "integrity": "sha512-XTWRMBG10PGs4MxDoUdBEhMacS5QBUAlGeb5AmQysTQ16tXxQ0lymgbSTmR2h79v5dJDFuULuLWUbwc0uj6zqQ==", - "dev": true, "dependencies": { "@vue/shared": "3.4.16" } @@ -3487,7 +3478,6 @@ "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.16.tgz", "integrity": "sha512-vgS25M79AOY2EsBWxBcy9yAou10x2WHJhGN0FM/Ii8yum0a+KBfg8ehzq/cuDqfOPrtVrDPW+QkH3WNJNakfRw==", - "dev": true, "dependencies": { "@vue/reactivity": "3.4.16", "@vue/shared": "3.4.16" @@ -3497,7 +3487,6 @@ "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.16.tgz", "integrity": "sha512-X+knHfhefB8tX0rJG3d14U8p1CpeZ/qZxol9rN8ZAD9UalTInIsKXlBTd/xLC8GwO2aXVXxjaSIiTU5th5wj9Q==", - "dev": true, "dependencies": { "@vue/runtime-core": "3.4.16", "@vue/shared": "3.4.16", @@ -3508,7 +3497,6 @@ "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.16.tgz", "integrity": "sha512-e0PZDpk/eZgICYb0DTQ+OeBlgt0FYGo+2DEcUkZxw+pDgF1qL0aYaOqmPcSbL5KK0nizvuSd7k5HZOkSwSaC2g==", - "dev": true, "dependencies": { "@vue/compiler-ssr": "3.4.16", "@vue/shared": "3.4.16" @@ -3520,8 +3508,7 @@ "node_modules/@vue/shared": { "version": "3.4.16", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.16.tgz", - "integrity": "sha512-HKCjeaxR+R95dCw1BDaytcHdlzZj9lxj7RlFnxWtcKq670t8oSeMsbPlkzkNc2V6IUzHaMtUxdBcdREAhb+7NA==", - "dev": true + "integrity": "sha512-HKCjeaxR+R95dCw1BDaytcHdlzZj9lxj7RlFnxWtcKq670t8oSeMsbPlkzkNc2V6IUzHaMtUxdBcdREAhb+7NA==" }, "node_modules/@vueform/toggle": { "version": "2.1.4", @@ -4777,8 +4764,7 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/debug": { "version": "2.6.9", @@ -5090,7 +5076,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, "engines": { "node": ">=0.12" }, @@ -6761,7 +6746,6 @@ "version": "0.30.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", - "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -11651,7 +11635,6 @@ "version": "3.4.16", "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.16.tgz", "integrity": "sha512-l5/KcZRp3GbsFXQGeCL9ll1JfRU285K/7l8mZM+dEO+CnE1j26MvfBKJi17iCRRwstl+Jz7KSLlzj9L79fB6WA==", - "dev": true, "dependencies": { "@vue/compiler-dom": "3.4.16", "@vue/compiler-sfc": "3.4.16", @@ -11698,6 +11681,17 @@ "vue": "^3.2.0" } }, + "node_modules/vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.11" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/package.json b/package.json index 95f63e8..acdafdd 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "leading-trim": "^1.0.2", "mariadb": "^3.2.3", "uuid": "^9.0.1", - "vite": "^5.1.0" + "vite": "^5.1.0", + "vuex": "^4.1.0" } } diff --git a/plugins/vuex.js b/plugins/vuex.js new file mode 100644 index 0000000..f9735db --- /dev/null +++ b/plugins/vuex.js @@ -0,0 +1,19 @@ +import { createStore } from "vuex"; + +const store = createStore({ + state() { + return { + assetEditable: false, + }; + }, + mutations: { + toggleEditableAsset(state) { + state.assetEditable = !state.assetEditable + }, + }, +}); + +export default defineNuxtPlugin((nuxtApp) => { + nuxtApp.vueApp.use(store); + // Install the store instance as a plugin +}); \ No newline at end of file