From 6099d538c0e9f4f0526d3cf83398c39e6fdacb65 Mon Sep 17 00:00:00 2001 From: lesion Date: Thu, 30 May 2019 12:04:14 +0200 Subject: [PATCH] . --- .vscode/vscode-kanban.json | 90 +++++++++++-- README.md | 30 +++-- assets/style.less | 55 ++++++++ components/Calendar.vue | 57 +++----- components/Event.vue | 170 +++++++++++++++++------- components/Home.vue | 116 ++++------------ components/List.vue | 89 ++++++++++--- components/Nav.vue | 92 +++++++------ components/Search.vue | 65 +++++++-- layouts/default.vue | 73 +--------- locales/email/en.json | 5 + locales/email/es.json | 5 + locales/email/it.json | 5 + locales/email/zh.json | 5 + locales/it.json | 74 ----------- nuxt.config.js | 45 +++---- package.json | 10 +- pages/about.vue | 29 ++-- pages/add/_edit.vue | 162 ++++++++++++++++------- pages/admin.vue | 63 +++++---- pages/embed/list.vue | 18 ++- pages/event/_id.vue | 212 +++++++++++++++++++----------- pages/export.vue | 112 +++++++--------- pages/index.vue | 13 ++ pages/login.vue | 30 +++-- pages/register.vue | 20 +-- pages/settings.vue | 70 ++++------ plugins/api.js | 80 ----------- plugins/bootstrap-vue.js | 6 - plugins/element-ui.js | 21 ++- plugins/filters.js | 21 ++- plugins/i18n.js | 3 +- plugins/magic-grid.js | 6 - plugins/v-calendar.js | 1 - plugins/vue-awesome.js | 8 ++ server/api/auth.js | 2 +- server/api/controller/bot.js | 6 +- server/api/controller/event.js | 32 ++++- server/api/controller/settings.js | 38 ++++++ server/api/controller/user.js | 95 ++++--------- server/api/db.js | 7 +- server/api/index.js | 25 +++- server/api/mail.js | 22 ++-- server/api/models/event.js | 14 +- server/api/storage.js | 4 +- server/cron.js | 11 +- store/index.js | 101 +++++++------- 47 files changed, 1220 insertions(+), 998 deletions(-) create mode 100644 assets/style.less create mode 100644 locales/email/en.json create mode 100644 locales/email/es.json create mode 100644 locales/email/it.json create mode 100644 locales/email/zh.json delete mode 100644 locales/it.json delete mode 100644 plugins/api.js delete mode 100644 plugins/bootstrap-vue.js delete mode 100644 plugins/magic-grid.js diff --git a/.vscode/vscode-kanban.json b/.vscode/vscode-kanban.json index c40aba7d..cfcc8869 100644 --- a/.vscode/vscode-kanban.json +++ b/.vscode/vscode-kanban.json @@ -52,6 +52,24 @@ "prio": 0, "references": [], "title": "export lista" + }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-04-30T12:46:42.208Z", + "id": "16", + "references": [], + "title": "riesco a rimuovere bootstrap-vue e usare solo element ?" + }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-04-28T09:25:50.701Z", + "id": "13", + "references": [], + "title": "test altra visualizzazione" } ], "in-progress": [ @@ -123,6 +141,42 @@ "title": "risolvere le modali quando il js e' disabilitato", "type": "bug" }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-05-27T15:42:35.467Z", + "id": "21", + "references": [], + "title": "all'admin deve mostrare un badge se ci sono pending operation" + }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-05-27T15:16:22.839Z", + "id": "20", + "references": [], + "title": "check password reset" + }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-05-27T15:45:39.093Z", + "id": "23", + "references": [], + "title": "colori te prego!" + }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-05-27T15:45:18.012Z", + "id": "22", + "references": [], + "title": "filtri per luogo!" + }, { "assignedTo": { "name": "lesion" @@ -132,6 +186,24 @@ "references": [], "title": "gestione errori quando non c'e' un evento" }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-05-02T16:15:07.106Z", + "id": "19", + "references": [], + "title": "modifica eventi multigiorno" + }, + { + "assignedTo": { + "name": "lesion" + }, + "creation_time": "2019-05-02T11:50:28.476Z", + "id": "18", + "references": [], + "title": "notifiche email / iscrizione / evento da confermare" + }, { "assignedTo": { "name": "lesion" @@ -146,19 +218,19 @@ "assignedTo": { "name": "lesion" }, - "creation_time": "2019-04-27T19:44:33.769Z", - "id": "12", + "creation_time": "2019-04-30T22:00:29.237Z", + "id": "17", "references": [], - "title": "rifare il calendario o solo il popup" + "title": "porcoddio la config arriva anche al client ovviamente, devo separare!" }, { "assignedTo": { "name": "lesion" }, - "creation_time": "2019-04-28T09:25:50.701Z", - "id": "13", + "creation_time": "2019-04-27T19:44:33.769Z", + "id": "12", "references": [], - "title": "test altra visualizzazione" + "title": "rifare il calendario o solo il popup" }, { "assignedTo": { @@ -187,10 +259,10 @@ "assignedTo": { "name": "lesion" }, - "creation_time": "2019-04-30T12:46:42.208Z", - "id": "16", + "creation_time": "2019-05-27T20:42:22.581Z", + "id": "24", "references": [], - "title": "riesco a rimuovere bootstrap-vue e usare solo element ?" + "title": "copy to clipboard" } ] } \ No newline at end of file diff --git a/README.md b/README.md index 0ffa0472..85d0598c 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,34 @@ -# gancio +## gancio +### event manager for radical communities -> My well-made Nuxt.js project +> :warning: Gancio is under heavy development, +> if something is not working as expected, it's expected :D -## Build Setup +## Install ``` bash # install dependencies $ yarn install -# serve with hot reload at localhost:3000 -$ yarn run dev - # build for production and launch server -$ yarn run build +$ yarn build $ yarn start -# generate static project -$ yarn run generate ``` +##### nginx setup +https://nuxtjs.org/faq/nginx-proxy + For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org). + + +## Hacking + +``` bash +$ yarn dev + +``` + +#### Add a new icon + +plugin/vue-awesome.js diff --git a/assets/style.less b/assets/style.less new file mode 100644 index 00000000..f185afee --- /dev/null +++ b/assets/style.less @@ -0,0 +1,55 @@ +html, body { + margin: 0px; + background-color: #222C32 !important; + width: 100%; + overflow-x: hidden; + box-sizing: border-box; + font-family: BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif !important; +} + +* { + box-sizing: border-box; +} + +.el-dialog { + margin-top: 0px !important; + border-radius: 0px; + width: 100%; + + .el-dialog__body { + word-break: break-word; + } +} + +.el-select-dropdown { + max-width: 100%; + left: 0px; +} + +.page-enter-active, .page-leave-active { + transition: opacity .2s, transform .3s; +} +.page-enter, .page-leave-active { + transition: opacity .3s, transform .2s; + opacity: 0; + // transform: translateY(30px); +} + +pre { + font-family: BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif !important; + margin-bottom: 0px; + white-space: pre-line; + font-family: unset; +} + +.el-popover { + word-break: normal; +} + +@media only screen and (min-width: 768px) { + .el-dialog { + margin-top: 10vh !important; + width: 700px; + border-radius: 3px; + } +} diff --git a/components/Calendar.vue b/components/Calendar.vue index d3c06ff1..fb0b8a92 100644 --- a/components/Calendar.vue +++ b/components/Calendar.vue @@ -1,37 +1,29 @@ - diff --git a/components/Home.vue b/components/Home.vue index edac84d1..db75cbab 100644 --- a/components/Home.vue +++ b/components/Home.vue @@ -1,108 +1,40 @@ - diff --git a/components/List.vue b/components/List.vue index a9dea5fc..f412e963 100644 --- a/components/List.vue +++ b/components/List.vue @@ -1,34 +1,83 @@ \ No newline at end of file + + diff --git a/components/Nav.vue b/components/Nav.vue index 67f0f3f7..013fdb2f 100644 --- a/components/Nav.vue +++ b/components/Nav.vue @@ -1,51 +1,59 @@ + diff --git a/components/Search.vue b/components/Search.vue index fbc3ed2d..16280382 100644 --- a/components/Search.vue +++ b/components/Search.vue @@ -1,23 +1,64 @@ + diff --git a/layouts/default.vue b/layouts/default.vue index fe2d459b..1a2ea589 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,71 +1,6 @@ - + diff --git a/pages/add/_edit.vue b/pages/add/_edit.vue index f9a8ae44..37047935 100644 --- a/pages/add/_edit.vue +++ b/pages/add/_edit.vue @@ -1,8 +1,7 @@ \ No newline at end of file diff --git a/pages/embed/list.vue b/pages/embed/list.vue index 8816a8e1..7ca16b0c 100644 --- a/pages/embed/list.vue +++ b/pages/embed/list.vue @@ -1,22 +1,26 @@ diff --git a/pages/event/_id.vue b/pages/event/_id.vue index 7fd32d5f..34483559 100644 --- a/pages/event/_id.vue +++ b/pages/event/_id.vue @@ -1,54 +1,81 @@ - diff --git a/pages/export.vue b/pages/export.vue index f722e2de..76c1907c 100644 --- a/pages/export.vue +++ b/pages/export.vue @@ -1,13 +1,12 @@ + diff --git a/pages/login.vue b/pages/login.vue index eac775f2..518a4982 100644 --- a/pages/login.vue +++ b/pages/login.vue @@ -1,15 +1,21 @@ @@ -17,18 +23,22 @@ const Cookie = process.client ? require('js-cookie') : undefined import { mapActions } from 'vuex' import { Message } from 'element-ui' -// import api from '@/plugins/api' +import get from 'lodash/get' export default { name: 'Login', data () { return { + open: true, password: '', email: '', loading: false } }, methods: { + close () { + this.$router.replace('/') + }, ...mapActions(['login']), async forgot () { if (!this.email) { @@ -37,7 +47,7 @@ export default { return } this.loading = true - // await api.forgotPassword(this.email) + await this.$axios.$post('/user/recover', { email: this.email }) this.loading = false Message({ message: this.$t('login.check_email'), type: 'success' }) }, @@ -49,12 +59,12 @@ export default { this.loading = false Message({ message: this.$t('login.ok'), type: 'success' }) } catch (e) { - Message({ message: this.$t('login.error') + e, type: 'error' }) + e = get(e, 'response.data.message', e) + Message({ message: this.$t('login.error') + this.$t(e), type: 'error' }) this.loading = false return } this.email = this.password = '' - this.$refs.modal.hide() } } } diff --git a/pages/register.vue b/pages/register.vue index c3b28087..b37d2917 100644 --- a/pages/register.vue +++ b/pages/register.vue @@ -1,9 +1,8 @@