diff --git a/.gitignore b/.gitignore index a547bf3..6f31a59 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ dist-ssr *.njsproj *.sln *.sw? +.history \ No newline at end of file diff --git a/index.html b/index.html index 795e4fb..8abd4d1 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,19 @@ - - - - - Vite + Vue - - -
- - - + + + + + + + + + Tayrona Foods + + + +
+ + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ccabcdb..114a0f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,14 @@ "name": "tayronafoods-web", "version": "0.0.0", "dependencies": { - "vue": "^3.2.47" + "vue": "^3.2.47", + "vue-i18n": "^9.2.2", + "vue-mobile-detection": "^2.0.1", + "vue-router": "^4.2.2" }, "devDependencies": { "@vitejs/plugin-vue": "^4.1.0", + "sass": "^1.63.3", "vite": "^4.3.9" } }, @@ -378,6 +382,63 @@ "node": ">=12" } }, + "node_modules/@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "dependencies": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", + "dependencies": { + "@intlify/shared": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "dependencies": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", + "dependencies": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -442,6 +503,11 @@ "@vue/shared": "3.3.4" } }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, "node_modules/@vue/reactivity": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", @@ -498,6 +564,67 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", @@ -545,6 +672,18 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -559,6 +698,66 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/magic-string": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", @@ -587,11 +786,32 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/postcss": { "version": "8.4.24", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", @@ -619,6 +839,18 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/rollup": { "version": "3.24.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.24.1.tgz", @@ -635,6 +867,31 @@ "fsevents": "~2.3.2" } }, + "node_modules/sass": { + "version": "1.63.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.3.tgz", + "integrity": "sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -643,6 +900,18 @@ "node": ">=0.10.0" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/vite": { "version": "4.3.9", "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", @@ -702,6 +971,45 @@ "@vue/server-renderer": "3.3.4", "@vue/shared": "3.3.4" } + }, + "node_modules/vue-i18n": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", + "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "dependencies": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2", + "@vue/devtools-api": "^6.2.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-mobile-detection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vue-mobile-detection/-/vue-mobile-detection-2.0.1.tgz", + "integrity": "sha512-ziB0Rp8Snp08+p7E+WCRzeYYYp0ddPaqHlFxWN0kpLAddB5D/PRwgIv18P08hkhwNFRgBQ71T19jNIbttR7P0g==", + "dependencies": { + "vue": "^3.2.20" + } + }, + "node_modules/vue-router": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", + "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } } }, "dependencies": { @@ -864,6 +1172,48 @@ "dev": true, "optional": true }, + "@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "requires": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + } + }, + "@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", + "requires": { + "@intlify/shared": "9.2.2" + } + }, + "@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "requires": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + } + }, + "@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==" + }, + "@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" + } + }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -922,6 +1272,11 @@ "@vue/shared": "3.3.4" } }, + "@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, "@vue/reactivity": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", @@ -975,6 +1330,47 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, "csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", @@ -1015,6 +1411,15 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -1022,6 +1427,51 @@ "dev": true, "optional": true }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, "magic-string": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", @@ -1035,11 +1485,23 @@ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, "postcss": { "version": "8.4.24", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", @@ -1050,6 +1512,15 @@ "source-map-js": "^1.0.2" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "rollup": { "version": "3.24.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.24.1.tgz", @@ -1059,11 +1530,36 @@ "fsevents": "~2.3.2" } }, + "sass": { + "version": "1.63.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.3.tgz", + "integrity": "sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "vite": { "version": "4.3.9", "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", @@ -1087,6 +1583,33 @@ "@vue/server-renderer": "3.3.4", "@vue/shared": "3.3.4" } + }, + "vue-i18n": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", + "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2", + "@vue/devtools-api": "^6.2.1" + } + }, + "vue-mobile-detection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vue-mobile-detection/-/vue-mobile-detection-2.0.1.tgz", + "integrity": "sha512-ziB0Rp8Snp08+p7E+WCRzeYYYp0ddPaqHlFxWN0kpLAddB5D/PRwgIv18P08hkhwNFRgBQ71T19jNIbttR7P0g==", + "requires": { + "vue": "^3.2.20" + } + }, + "vue-router": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", + "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } } } } diff --git a/package.json b/package.json index 834d1d4..27f9480 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,14 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.2.47" + "vue": "^3.2.47", + "vue-i18n": "^9.2.2", + "vue-mobile-detection": "^2.0.1", + "vue-router": "^4.2.2" }, "devDependencies": { "@vitejs/plugin-vue": "^4.1.0", + "sass": "^1.63.3", "vite": "^4.3.9" } } diff --git a/src/App.vue b/src/App.vue index 341dbf0..c4e6179 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,30 +1,10 @@ - - diff --git a/src/assets/images/badge1.png b/src/assets/images/badge1.png new file mode 100644 index 0000000..658ccf3 Binary files /dev/null and b/src/assets/images/badge1.png differ diff --git a/src/assets/images/best-price1.png b/src/assets/images/best-price1.png new file mode 100644 index 0000000..ee256c9 Binary files /dev/null and b/src/assets/images/best-price1.png differ diff --git a/src/assets/images/bg_1.png b/src/assets/images/bg_1.png new file mode 100644 index 0000000..c702939 Binary files /dev/null and b/src/assets/images/bg_1.png differ diff --git a/src/assets/images/coffee-beans1.png b/src/assets/images/coffee-beans1.png new file mode 100644 index 0000000..58a6901 Binary files /dev/null and b/src/assets/images/coffee-beans1.png differ diff --git a/src/assets/images/coffee-cup1.png b/src/assets/images/coffee-cup1.png new file mode 100644 index 0000000..f5f7640 Binary files /dev/null and b/src/assets/images/coffee-cup1.png differ diff --git a/src/assets/images/coffee1.jpg b/src/assets/images/coffee1.jpg new file mode 100644 index 0000000..2d14a74 Binary files /dev/null and b/src/assets/images/coffee1.jpg differ diff --git a/src/assets/images/coffee_brasil.png b/src/assets/images/coffee_brasil.png new file mode 100644 index 0000000..5f21d5d Binary files /dev/null and b/src/assets/images/coffee_brasil.png differ diff --git a/src/assets/images/coffee_colombia.png b/src/assets/images/coffee_colombia.png new file mode 100644 index 0000000..7e03f90 Binary files /dev/null and b/src/assets/images/coffee_colombia.png differ diff --git a/src/assets/images/coffee_peru.png b/src/assets/images/coffee_peru.png new file mode 100644 index 0000000..1c57bdb Binary files /dev/null and b/src/assets/images/coffee_peru.png differ diff --git a/src/assets/images/coffee_uganda.png b/src/assets/images/coffee_uganda.png new file mode 100644 index 0000000..57709ac Binary files /dev/null and b/src/assets/images/coffee_uganda.png differ diff --git a/src/assets/images/email.svg b/src/assets/images/email.svg new file mode 100644 index 0000000..f2859b9 --- /dev/null +++ b/src/assets/images/email.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/facebook.svg b/src/assets/images/facebook.svg new file mode 100644 index 0000000..02ec359 --- /dev/null +++ b/src/assets/images/facebook.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/footer_coffee.png b/src/assets/images/footer_coffee.png new file mode 100644 index 0000000..fed963a Binary files /dev/null and b/src/assets/images/footer_coffee.png differ diff --git a/src/assets/images/grains.png b/src/assets/images/grains.png new file mode 100644 index 0000000..aaddaf1 Binary files /dev/null and b/src/assets/images/grains.png differ diff --git a/src/assets/images/instagram.svg b/src/assets/images/instagram.svg new file mode 100644 index 0000000..29a58ae --- /dev/null +++ b/src/assets/images/instagram.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/logo-kreis_2.png b/src/assets/images/logo-kreis_2.png new file mode 100644 index 0000000..faf62d7 Binary files /dev/null and b/src/assets/images/logo-kreis_2.png differ diff --git a/src/assets/images/logo-kreis_3.png b/src/assets/images/logo-kreis_3.png new file mode 100644 index 0000000..6ec79a7 Binary files /dev/null and b/src/assets/images/logo-kreis_3.png differ diff --git a/src/assets/images/logo-kreis_ico.png b/src/assets/images/logo-kreis_ico.png new file mode 100644 index 0000000..7795e6a Binary files /dev/null and b/src/assets/images/logo-kreis_ico.png differ diff --git a/src/assets/images/mountains.png b/src/assets/images/mountains.png new file mode 100644 index 0000000..18318e2 Binary files /dev/null and b/src/assets/images/mountains.png differ diff --git a/src/assets/images/phone.svg b/src/assets/images/phone.svg new file mode 100644 index 0000000..409de6d --- /dev/null +++ b/src/assets/images/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/products.png b/src/assets/images/products.png new file mode 100644 index 0000000..c25fbcd Binary files /dev/null and b/src/assets/images/products.png differ diff --git a/src/assets/images/twitter.svg b/src/assets/images/twitter.svg new file mode 100644 index 0000000..21de23c --- /dev/null +++ b/src/assets/images/twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/youtube.svg b/src/assets/images/youtube.svg new file mode 100644 index 0000000..58178a4 --- /dev/null +++ b/src/assets/images/youtube.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/vue.svg b/src/assets/vue.svg deleted file mode 100644 index 770e9d3..0000000 --- a/src/assets/vue.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/Certifications.vue b/src/components/Certifications.vue new file mode 100644 index 0000000..4e1ea3f --- /dev/null +++ b/src/components/Certifications.vue @@ -0,0 +1,37 @@ + + + + + \ No newline at end of file diff --git a/src/components/CoffeeFarmer.vue b/src/components/CoffeeFarmer.vue new file mode 100644 index 0000000..26a6055 --- /dev/null +++ b/src/components/CoffeeFarmer.vue @@ -0,0 +1,36 @@ + + + + + \ No newline at end of file diff --git a/src/components/Different.vue b/src/components/Different.vue new file mode 100644 index 0000000..d99cedf --- /dev/null +++ b/src/components/Different.vue @@ -0,0 +1,44 @@ + + + + + \ No newline at end of file diff --git a/src/components/DifferentBox.vue b/src/components/DifferentBox.vue new file mode 100644 index 0000000..099ce3f --- /dev/null +++ b/src/components/DifferentBox.vue @@ -0,0 +1,50 @@ + + + + \ No newline at end of file diff --git a/src/components/Footer.vue b/src/components/Footer.vue new file mode 100644 index 0000000..1167de8 --- /dev/null +++ b/src/components/Footer.vue @@ -0,0 +1,136 @@ + + + + + \ No newline at end of file diff --git a/src/components/Menu.vue b/src/components/Menu.vue new file mode 100644 index 0000000..1a3eb37 --- /dev/null +++ b/src/components/Menu.vue @@ -0,0 +1,94 @@ + + + + + \ No newline at end of file diff --git a/src/components/OriginBox.vue b/src/components/OriginBox.vue new file mode 100644 index 0000000..4b49610 --- /dev/null +++ b/src/components/OriginBox.vue @@ -0,0 +1,50 @@ + + + + \ No newline at end of file diff --git a/src/components/Origins.vue b/src/components/Origins.vue new file mode 100644 index 0000000..c8c35c8 --- /dev/null +++ b/src/components/Origins.vue @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/src/i18n/de.js b/src/i18n/de.js new file mode 100644 index 0000000..ccb6bca --- /dev/null +++ b/src/i18n/de.js @@ -0,0 +1,9 @@ +export default { + footer: { + contact: 'Kontakt', + message: 'Bei Interesse oder Fragen kontaktieren Sie uns bitte!', + impressum: 'Impressum', + dataprotection: 'Datenschutz', + agb: 'AGB' + } +} \ No newline at end of file diff --git a/src/i18n/en.js b/src/i18n/en.js new file mode 100644 index 0000000..14572b5 --- /dev/null +++ b/src/i18n/en.js @@ -0,0 +1,9 @@ +export default { + footer: { + contact: 'Contact', + message: 'If you are interested or have any questions, please contact us!', + impressum: 'Impressum', + dataprotection: 'Data protection', + agb: 'AGB' + } +} \ No newline at end of file diff --git a/src/i18n/es.js b/src/i18n/es.js new file mode 100644 index 0000000..88ddc70 --- /dev/null +++ b/src/i18n/es.js @@ -0,0 +1,56 @@ +export default { + footer: { + contact: 'Contacto', + message: 'Si está interesado o tiene alguna pregunta, ¡contáctenos!', + impressum: 'Impressum', + dataprotection: 'Protección de Datos', + agb: 'AGB' + }, + menu: { + home: 'Inicio', + about: 'Quiénes Somos', + products: 'Producto', + social: 'Proyecto Social', + contact: 'Contacto' + }, + about: { + title: 'Quiénes Somos', + }, + origins: { + header: 'Una mezcla única de los mejores granos de café de las montañas de Latinoamerica y Uganda.', + brazil: 'Brasil', + brazil_description: 'Coffeee 100%', + peru: 'Perú', + peru_description: 'Coffeee 100%', + colombia: 'Colombia', + colombia_description: 'Coffeee 100%', + uganda: 'Uganda', + uganda_description: 'Coffeee 100%', + }, + different: { + header: '¿Por qué somos diferentes?', + subheader: '¡No solo hacemos tu café, hacemos tu día!', + beans: { + title: 'Granos Supremos', + description: 'Granos proporcionan gran sabor', + }, + quality: { + title: 'Alta Calidad', + description: 'Estandares de máxima calidad', + }, + extraordinary: { + title: 'Extraordinario', + description: 'Sabor inigualable', + }, + affordable: { + title: 'Precio asequible', + description: 'Los mejores precios del mercado', + }, + }, + coffeefarmers: { + title: 'Por los caficultores apasionados, los amantes del buen tueste y los que nunca se rinden.', + }, + certifications: { + title: 'Nuestras certificaciones' + }, +} \ No newline at end of file diff --git a/src/i18n/i18n.js b/src/i18n/i18n.js new file mode 100644 index 0000000..34ab899 --- /dev/null +++ b/src/i18n/i18n.js @@ -0,0 +1,16 @@ +import { createI18n } from "vue-i18n"; +import es from "./es"; +import en from "./en"; +import de from "./de"; + +const i18n = createI18n({ + locale: 'es', + fallbackLocale: 'en', + messages: { + es, + en, + de, + } +}); + +export default i18n; \ No newline at end of file diff --git a/src/main.js b/src/main.js index 2425c0f..71f72b8 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,15 @@ import { createApp } from 'vue' +import router from './router/router'; +import i18n from './i18n/i18n'; +import VueMobileDetection from 'vue-mobile-detection'; + import './style.css' import App from './App.vue' -createApp(App).mount('#app') +const app = createApp(App); + +app.use(router); +app.use(VueMobileDetection); +app.use(i18n); + +app.mount('#app'); \ No newline at end of file diff --git a/src/router/router.js b/src/router/router.js new file mode 100644 index 0000000..6216621 --- /dev/null +++ b/src/router/router.js @@ -0,0 +1,24 @@ +import { createRouter, createWebHashHistory } from "vue-router"; + +import HomeView from '../views/home/Home.vue'; +import AboutView from '../views/about/About.vue'; +import ProductsView from '../views/products/Products.vue'; + +const router = createRouter({ + history: createWebHashHistory(), + routes: [{ + path: '/', + name: 'home', + component: HomeView, + }, { + path: '/about', + name: 'about', + component: AboutView, + }, { + path: '/products', + name: 'products', + component: ProductsView, + }] +}); + +export default router; \ No newline at end of file diff --git a/src/style.css b/src/style.css index 84a0050..635075c 100644 --- a/src/style.css +++ b/src/style.css @@ -1,89 +1,46 @@ -:root { - font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; +html { + box-sizing: border-box; + font-size: 16px; } -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; +*, +*:before, +*:after { + box-sizing: inherit; } -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; +body, +h1, +h2, +h3, +h4, +h5, +h6, +p, +ol, +ul { + margin: 0; + padding: 0; + font-weight: normal; } -a:hover { - color: #535bf2; + +ol, +ul { + list-style: none; +} + +img { + max-width: 100%; + height: auto; } body { margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; + padding: 0; + font-family: 'Roboto', sans-serif; } -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -.card { - padding: 2em; -} - -#app { - max-width: 1280px; +.main-container { + width: 1366px; margin: 0 auto; - padding: 2rem; - text-align: center; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} +} \ No newline at end of file diff --git a/src/views/about/About.vue b/src/views/about/About.vue new file mode 100644 index 0000000..e482341 --- /dev/null +++ b/src/views/about/About.vue @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/src/views/home/Home.vue b/src/views/home/Home.vue new file mode 100644 index 0000000..09f8ce4 --- /dev/null +++ b/src/views/home/Home.vue @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/src/views/products/Products.vue b/src/views/products/Products.vue new file mode 100644 index 0000000..fa535e1 --- /dev/null +++ b/src/views/products/Products.vue @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 05c1740..f785f65 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,17 @@ +import { fileURLToPath, URL } from 'node:url'; + import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue()], -}) + resolve: { + alias: { + '@images': fileURLToPath(new URL('./src/assets/images', + import.meta.url)), + '@': fileURLToPath(new URL('./src', + import.meta.url)), + } + } +}) \ No newline at end of file