From d4674dd463040026d9069a2faae4357424d9042e Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Fri, 12 Jun 2020 18:49:26 +0200 Subject: [PATCH] - Api client before I blow my brains out --- client/api/ingredientsRepository.js | 14 ++ client/api/metaschoolsRepository.js | 14 ++ client/api/repositories.js | 10 +- client/api/schoolsRepository.js | 14 ++ client/api/spellsRepository.js | 6 + client/api/variablesRepository.js | 14 ++ client/public/libs/style.css | 4 +- client/src/assets/scss/_global.scss | 6 +- .../src/components/spells/edit-spell-card.vue | 149 ++++++++++++++++-- client/src/components/spells/spells-list.vue | 11 +- client/src/main.js | 3 + 11 files changed, 213 insertions(+), 32 deletions(-) create mode 100644 client/api/ingredientsRepository.js create mode 100644 client/api/metaschoolsRepository.js create mode 100644 client/api/schoolsRepository.js create mode 100644 client/api/variablesRepository.js diff --git a/client/api/ingredientsRepository.js b/client/api/ingredientsRepository.js new file mode 100644 index 0000000..ab63ca7 --- /dev/null +++ b/client/api/ingredientsRepository.js @@ -0,0 +1,14 @@ +import api from './api' + +// URL for spells +const resource = "/ingredients" + +// CRUD methods for spells +export default { + getIngredients() { + return api.get(`${resource}`) + }, + getIngredient(id) { + return api.get(`${resource}/${id}`) + }, +} \ No newline at end of file diff --git a/client/api/metaschoolsRepository.js b/client/api/metaschoolsRepository.js new file mode 100644 index 0000000..7d8d018 --- /dev/null +++ b/client/api/metaschoolsRepository.js @@ -0,0 +1,14 @@ +import api from './api' + +// URL for spells +const resource = "/meta_schools" + +// CRUD methods for spells +export default { + getMetaSchools() { + return api.get(`${resource}`) + }, + getMetaSchool(id) { + return api.get(`${resource}/${id}`) + }, +} \ No newline at end of file diff --git a/client/api/repositories.js b/client/api/repositories.js index cd4abd1..a663bfa 100644 --- a/client/api/repositories.js +++ b/client/api/repositories.js @@ -1,8 +1,16 @@ import spellsRepository from './spellsRepository' +import schoolsRepository from './schoolsRepository' +import metaschoolsRepository from './metaschoolsRepository' +import variablesRepository from './variablesRepository' +import ingredientsRepository from './ingredientsRepository' // List of possible repositories const repositories = { - spells: spellsRepository + spells: spellsRepository, + schools: schoolsRepository, + metaschools: metaschoolsRepository, + variables: variablesRepository, + ingredients: ingredientsRepository, } // Usage : RepositoryFactoryInstance.get('reponame'); diff --git a/client/api/schoolsRepository.js b/client/api/schoolsRepository.js new file mode 100644 index 0000000..c24117c --- /dev/null +++ b/client/api/schoolsRepository.js @@ -0,0 +1,14 @@ +import api from './api' + +// URL for spells +const resource = "/schools" + +// CRUD methods for spells +export default { + getSchools() { + return api.get(`${resource}`) + }, + getSchool(id) { + return api.get(`${resource}/${id}`) + }, +} \ No newline at end of file diff --git a/client/api/spellsRepository.js b/client/api/spellsRepository.js index 5f26d7b..c9ed6cd 100644 --- a/client/api/spellsRepository.js +++ b/client/api/spellsRepository.js @@ -11,4 +11,10 @@ export default { getSpell(id) { return api.get(`${resource}/${id}`) }, + addSpell(data) { + return api.post(`${resource}`, data) + }, + updateSpell(id, data) { + return api.put(`${resource}/${id}`, data) + } } \ No newline at end of file diff --git a/client/api/variablesRepository.js b/client/api/variablesRepository.js new file mode 100644 index 0000000..ec91f56 --- /dev/null +++ b/client/api/variablesRepository.js @@ -0,0 +1,14 @@ +import api from './api' + +// URL for spells +const resource = "/variables" + +// CRUD methods for spells +export default { + getVariables() { + return api.get(`${resource}`) + }, + getVariable(id) { + return api.get(`${resource}/${id}`) + }, +} \ No newline at end of file diff --git a/client/public/libs/style.css b/client/public/libs/style.css index 4d449f7..724f610 100644 --- a/client/public/libs/style.css +++ b/client/public/libs/style.css @@ -1,4 +1,6 @@ -@import url('https://fonts.googleapis.com/css?family=Playfair+Display:400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&subset=cyrillic,latin-ext');/*&display=swap*/ +@import url('https://fonts.googleapis.com/css?family=Playfair+Display:400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&subset=cyrillic,latin-ext'); +@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap'); + @font-face { font-family: "stgeorge"; src: url("/public/resources/stgeorge.woff2") format("woff2"); diff --git a/client/src/assets/scss/_global.scss b/client/src/assets/scss/_global.scss index 64fc700..3b2e685 100644 --- a/client/src/assets/scss/_global.scss +++ b/client/src/assets/scss/_global.scss @@ -3,14 +3,10 @@ @import '_mixins'; @import '_fonts'; -// Theme fonts -@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Montserrat:wght@600;700&display=swap'); - // RESETS html { - box-sizing: border-box; font-size: $font-size-root; - font-family: $font-family; + font-family: $font-family !important; height: 100%; -webkit-overflow-scrolling: touch; line-height: 1.15; diff --git a/client/src/components/spells/edit-spell-card.vue b/client/src/components/spells/edit-spell-card.vue index 87a10ee..629d27a 100644 --- a/client/src/components/spells/edit-spell-card.vue +++ b/client/src/components/spells/edit-spell-card.vue @@ -1,5 +1,7 @@ - \ No newline at end of file diff --git a/client/src/components/spells/spells-list.vue b/client/src/components/spells/spells-list.vue index 0b159e8..06fdfbc 100644 --- a/client/src/components/spells/spells-list.vue +++ b/client/src/components/spells/spells-list.vue @@ -3,7 +3,7 @@
- + @@ -14,7 +14,7 @@ import EditSpellCard from "./edit-spell-card" // API import { RepositoryFactory } from "../../../api/repositories" -const spellsRepository = RepositoryFactory.get('spells') +const Spells = RepositoryFactory.get('spells') export default { name: 'spellslist', @@ -36,11 +36,7 @@ export default { }, methods: { async fetchSpells() { - const { data } = await spellsRepository.getSpells() - return data - }, - async fetchSpell(id) { - const { data } = await spellsRepository.getSpell(id) + const { data } = await Spells.getSpells() return data }, async computeSpells() { @@ -51,7 +47,6 @@ export default { }, async editSpell(e) { this.active_spell = e; - console.log(this.active_spell) } } } diff --git a/client/src/main.js b/client/src/main.js index e3a0572..b586a9a 100644 --- a/client/src/main.js +++ b/client/src/main.js @@ -17,6 +17,9 @@ window.jquery = jquery import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap/dist/js/bootstrap.js' +// Styles +import './assets/scss/_global.scss' + Vue.config.productionTip = false Vue.use(VueRouter) Vue.use(VueMasonryPlugin)