From 85fd88e9fd52d616d18ec5d35e0b974fa60737cb Mon Sep 17 00:00:00 2001 From: Nero Ignis Date: Sun, 13 Mar 2022 23:54:46 +0100 Subject: [PATCH] basic player fetch & create; --- package-lock.json | 67 +++++++++++----- package.json | 1 + src/components/HelloWorld.vue | 86 +++++++++++---------- src/data/itemNames.js | 21 +++++ src/data/itemTypes.js | 4 + src/data/items.js | 141 ++++++++++++++++++++++++++++++++++ src/models/item.js | 5 -- src/store/index.js | 20 ++++- 8 files changed, 280 insertions(+), 65 deletions(-) create mode 100644 src/data/itemNames.js create mode 100644 src/data/itemTypes.js create mode 100644 src/data/items.js delete mode 100644 src/models/item.js diff --git a/package-lock.json b/package-lock.json index ecbbcef..29f2993 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,8 +5,10 @@ "requires": true, "packages": { "": { + "name": "farm-fresh", "version": "0.1.0", "dependencies": { + "axios": "^0.26.1", "core-js": "^3.8.3", "vue": "^3.2.13", "vuex": "^4.0.0" @@ -2718,7 +2720,6 @@ "merge-source-map": "^1.1.0", "postcss": "^7.0.36", "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2 || ^2.0.0", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" }, @@ -3343,6 +3344,14 @@ "postcss": "^8.1.0" } }, + "node_modules/axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, "node_modules/babel-loader": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", @@ -3744,7 +3753,6 @@ "dependencies": { "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", @@ -5966,7 +5974,6 @@ "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true, "funding": [ { "type": "individual", @@ -7000,7 +7007,6 @@ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.6", "universalify": "^2.0.0" }, "optionalDependencies": { @@ -13267,7 +13273,8 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.1.tgz", "integrity": "sha512-5J/n+Ht4r2eVuncwCXcZPHzYCz/2haktle4WcggWiKeg3jSQVUJbjviPBs6sOo3y/LG3CEfZMP9bPJjVDbexpQ==", - "dev": true + "dev": true, + "requires": {} }, "@vue/cli-service": { "version": "5.0.1", @@ -13798,13 +13805,15 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true + "dev": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "8.2.0", @@ -13873,7 +13882,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "ansi-colors": { "version": "4.1.1", @@ -13986,6 +13996,14 @@ "postcss-value-parser": "^4.2.0" } }, + "axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "requires": { + "follow-redirects": "^1.14.8" + } + }, "babel-loader": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", @@ -14886,7 +14904,8 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "dev": true + "dev": true, + "requires": {} }, "csso": { "version": "4.2.0", @@ -15946,8 +15965,7 @@ "follow-redirects": { "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" }, "forwarded": { "version": "0.2.0", @@ -16324,7 +16342,8 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true + "dev": true, + "requires": {} }, "ieee754": { "version": "1.2.1", @@ -17793,25 +17812,29 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.0.tgz", "integrity": "sha512-L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg==", - "dev": true + "dev": true, + "requires": {} }, "postcss-discard-duplicates": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-discard-empty": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.0.tgz", "integrity": "sha512-782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA==", - "dev": true + "dev": true, + "requires": {} }, "postcss-discard-overridden": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-loader": { "version": "6.2.1", @@ -17901,7 +17924,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -17936,7 +17960,8 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "dev": true + "dev": true, + "requires": {} }, "postcss-normalize-display-values": { "version": "5.1.0", @@ -19776,7 +19801,8 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true + "dev": true, + "requires": {} } } }, @@ -19903,7 +19929,8 @@ "version": "7.5.7", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "dev": true + "dev": true, + "requires": {} }, "y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index a94f862..7c16d8a 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "axios": "^0.26.1", "core-js": "^3.8.3", "vue": "^3.2.13", "vuex": "^4.0.0" diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue index 879051a..a06efde 100644 --- a/src/components/HelloWorld.vue +++ b/src/components/HelloWorld.vue @@ -1,58 +1,66 @@ diff --git a/src/data/itemNames.js b/src/data/itemNames.js new file mode 100644 index 0000000..a74a326 --- /dev/null +++ b/src/data/itemNames.js @@ -0,0 +1,21 @@ +export default { + Wheat: 'wheat', + Rice: 'rice', + Turnip: 'turnip', + Potato: 'potato', + Corn: 'corn', + Eggplant: 'eggplant', + Grapes: 'grapes', + Tomato: 'tomato', + Cucumber: 'cucumber', + Strawberries: 'strawberries', + Orange: 'orange', + Lemon: 'lemon', + Pineapple: 'pineapple', + Melon: 'melon', + Coffee: 'coffee', + Cassava: 'cassava', + Sunflower: 'sunflower', + Roses: 'roses', + Tulips: 'tulips', +}; diff --git a/src/data/itemTypes.js b/src/data/itemTypes.js new file mode 100644 index 0000000..17524de --- /dev/null +++ b/src/data/itemTypes.js @@ -0,0 +1,4 @@ +module.exports = { + Seeds: 'seeds', + Fruits: 'fruits' +} diff --git a/src/data/items.js b/src/data/items.js new file mode 100644 index 0000000..0a9d6f8 --- /dev/null +++ b/src/data/items.js @@ -0,0 +1,141 @@ +import ItemNames from "@/data/itemNames"; + +export const Items = [ + { + name: 'Wheat Seeds', + assetsFolder: 'assets/wheat/', + financial: { + buy: 5, + sell: 10, + }, + meta: { + timeToGrow: 1, + }, + }, + { + name: ItemNames.Rice, + timeToGrow: 2, + assetsFolder: 'assets/rice/', + buy: 5, + sell: 10, + }, + { + name: ItemNames.Turnip, + timeToGrow: 3, + assetsFolder: 'assets/turnip/', + buy: 10, + sell: 20, + }, + { + name: ItemNames.Potato, + timeToGrow: 3, + assetsFolder: 'assets/potato/', + buy: 10, + sell: 20, + }, + { + name: ItemNames.Corn, + timeToGrow: 7, + assetsFolder: 'assets/corn/', + buy: 15, + sell: 25, + }, + { + name: ItemNames.Eggplant, + timeToGrow: 9, + assetsFolder: 'assets/eggplant/', + buy: 15, + sell: 25, + }, + { + name: ItemNames.Grapes, + timeToGrow: 9, + assetsFolder: 'assets/grapes/', + buy: 15, + sell: 25, + }, + { + name: ItemNames.Tomato, + timeToGrow: 10, + assetsFolder: 'assets/tomato/', + buy: 20, + sell: 35, + }, + { + name: ItemNames.Cucumber, + timeToGrow: 15, + assetsFolder: 'assets/cucumber/', + buy: 30, + sell: 55, + }, + { + name: ItemNames.Strawberries, + timeToGrow: 60, + assetsFolder: 'assets/strawberry/', + buy: 60, + sell: 140, + }, + { + name: ItemNames.Orange, + timeToGrow: 60, + assetsFolder: 'assets/orange/', + buy: 60, + sell: 140, + }, + { + name: ItemNames.Lemon, + timeToGrow: 60, + assetsFolder: 'assets/lemon/', + buy: 60, + sell: 140, + }, + { + name: ItemNames.Pineapple, + timeToGrow: 60, + assetsFolder: 'assets/pineapple/', + buy: 60, + sell: 140, + }, + { + name: ItemNames.Melon, + timeToGrow: 60, + assetsFolder: 'assets/melon/', + buy: 60, + sell: 140, + }, + { + name: ItemNames.Coffee, + timeToGrow: 60, + assetsFolder: 'assets/coffee/', + buy: 60, + sell: 140, + }, + { + name: ItemNames.Cassava, + timeToGrow: 60, + assetsFolder: 'assets/cassava/', + buy: 60, + sell: 140, + }, + { + name: ItemNames.Sunflower, + timeToGrow: 5, + assetsFolder: 'assets/sunflower/', + buy: 10, + sell: 20, + }, + { + name: ItemNames.Roses, + timeToGrow: 5, + assetsFolder: 'assets/rose/', + buy: 10, + sell: 20, + }, + { + name: ItemNames.Tulips, + timeToGrow: 5, + assetsFolder: 'assets/tulip/', + buy: 10, + sell: 20, + }, +] diff --git a/src/models/item.js b/src/models/item.js deleted file mode 100644 index 87967be..0000000 --- a/src/models/item.js +++ /dev/null @@ -1,5 +0,0 @@ -export class Item { - constructor() { - - } -} diff --git a/src/store/index.js b/src/store/index.js index 48c6b1e..0651c48 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,11 +1,29 @@ import {createStore} from 'vuex' +import axios from "axios"; export default createStore({ state: { + player: null, inventory: [] }, getters: {}, - mutations: {}, + mutations: { + fetchUser(state) { + let existingUserUuid = localStorage.getItem('farmfresh_uuid'); + + if (existingUserUuid != null) { + axios.get( + 'http://api.luna-development.net/api/player/fetch/'+existingUserUuid + ).then((response) => { + if (response.data && response.data.uuid) { + state.player = response.data; + } else { + alert('User not found'); + } + }); + } + } + }, actions: {}, modules: {} })