From 8e71fd74cc891bc9b16cd825a3c74ff2563772b1 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 3 Mar 2021 14:50:00 +0100 Subject: [PATCH] add pages, profil card, profil settings, profil activity --- frontend/package.json | 2 + frontend/src/plugins/dashboard-plugin.js | 2 + frontend/src/routes/routes.js | 12 +++- .../src/views/KontoOverview/GddAddWork.vue | 23 ++----- frontend/src/views/Layout/DashboardLayout.vue | 14 +++++ frontend/src/views/Layout/DashboardNavbar.vue | 8 ++- .../src/views/Pages/UserProfileActivity.vue | 47 ++++++++++++++ frontend/src/views/Pages/UserProfileCard.vue | 38 ++++++++++++ frontend/src/views/Pages/UserProfileEdit.vue | 39 ++++++++++++ frontend/yarn.lock | 62 +++++++++++++++++-- 10 files changed, 221 insertions(+), 26 deletions(-) create mode 100644 frontend/src/views/Pages/UserProfileActivity.vue create mode 100644 frontend/src/views/Pages/UserProfileCard.vue create mode 100644 frontend/src/views/Pages/UserProfileEdit.vue diff --git a/frontend/package.json b/frontend/package.json index d0cb09f54..6d6897726 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -42,7 +42,9 @@ "vue-flatpickr-component": "^8.1.2", "vue-good-table": "^2.21.3", "vue-i18n": "^8.22.4", + "qrcode": "^1.4.4", "vue-qrcode-reader": "^2.3.16", + "vue-qrcode": "^0.3.5", "vue-router": "^3.0.6", "vue2-transitions": "^0.2.3", "vuex": "^3.6.0" diff --git a/frontend/src/plugins/dashboard-plugin.js b/frontend/src/plugins/dashboard-plugin.js index 41cfe0509..c3190fafa 100755 --- a/frontend/src/plugins/dashboard-plugin.js +++ b/frontend/src/plugins/dashboard-plugin.js @@ -27,6 +27,7 @@ import * as rules from 'vee-validate/dist/rules'; import { messages } from 'vee-validate/dist/locale/en.json'; import VueQrcodeReader from "vue-qrcode-reader"; +import VueQrcode from "vue-qrcode"; import VueGoodTablePlugin from 'vue-good-table'; @@ -50,6 +51,7 @@ export default { Vue.use(IconsPlugin); Vue.use(VueGoodTablePlugin); Vue.use(VueQrcodeReader); + Vue.use(VueQrcode); configure({ classes: { valid: 'is-valid', diff --git a/frontend/src/routes/routes.js b/frontend/src/routes/routes.js index 844b323b6..086910286 100755 --- a/frontend/src/routes/routes.js +++ b/frontend/src/routes/routes.js @@ -44,7 +44,17 @@ const routes = [ { path: '/profile', name: 'profile', - component: () => import('../views/Pages/UserProfile.vue') + component: () => import('../views/Pages/UserProfileCard.vue') + }, + { + path: '/profileedit', + name: 'profileedit', + component: () => import('../views/Pages/UserProfileEdit.vue') + }, + { + path: '/activity', + name: 'activity', + component: () => import('../views/Pages/UserProfileActivity.vue') } ] }, diff --git a/frontend/src/views/KontoOverview/GddAddWork.vue b/frontend/src/views/KontoOverview/GddAddWork.vue index a0bfb2f43..01f716946 100644 --- a/frontend/src/views/KontoOverview/GddAddWork.vue +++ b/frontend/src/views/KontoOverview/GddAddWork.vue @@ -19,9 +19,7 @@ -
- -
+
@@ -58,10 +56,7 @@ export default { return { show: true, form: { - img: '', - email: '', - amount1: '', - amount2: '' + } }; }, @@ -69,28 +64,18 @@ export default { onSubmit(event) { event.preventDefault() alert(JSON.stringify(this.form)) - this.modal = true - this.modal.h4 = 'TODO 1' + }, onReset(event) { event.preventDefault() // Reset our form values - this.form.email = '' - this.form.amount1 = '' - this.form.amount2 = '' + // Trick to reset/clear native browser form validation state this.show = false this.$nextTick(() => { this.show = true }) - }, - adressbook() { - this.modal = true - this.modaldata.h4 = 'Adressbuch' - this.modaldata.p = 'TODO ADRESSBUCH LISTE' } - }, - watch: { } }; \ No newline at end of file diff --git a/frontend/src/views/Layout/DashboardLayout.vue b/frontend/src/views/Layout/DashboardLayout.vue index d05f49b7e..a33537c49 100755 --- a/frontend/src/views/Layout/DashboardLayout.vue +++ b/frontend/src/views/Layout/DashboardLayout.vue @@ -17,6 +17,20 @@ path: '/profile', icon: 'ni ni-single-02 text-yellow' }"> + + + + diff --git a/frontend/src/views/Layout/DashboardNavbar.vue b/frontend/src/views/Layout/DashboardNavbar.vue index b6b31cef4..88c156db9 100755 --- a/frontend/src/views/Layout/DashboardNavbar.vue +++ b/frontend/src/views/Layout/DashboardNavbar.vue @@ -51,11 +51,15 @@
{{ $t('site.welcome') }}
- + + + {{ $t('site.overview.account_overview')}} + + {{ $t('site.navbar.my-profil')}} - + {{ $t('site.navbar.settings') }} diff --git a/frontend/src/views/Pages/UserProfileActivity.vue b/frontend/src/views/Pages/UserProfileActivity.vue new file mode 100644 index 000000000..37177dca4 --- /dev/null +++ b/frontend/src/views/Pages/UserProfileActivity.vue @@ -0,0 +1,47 @@ + + + diff --git a/frontend/src/views/Pages/UserProfileCard.vue b/frontend/src/views/Pages/UserProfileCard.vue new file mode 100644 index 000000000..75ac47a41 --- /dev/null +++ b/frontend/src/views/Pages/UserProfileCard.vue @@ -0,0 +1,38 @@ + + + diff --git a/frontend/src/views/Pages/UserProfileEdit.vue b/frontend/src/views/Pages/UserProfileEdit.vue new file mode 100644 index 000000000..41a7fff6f --- /dev/null +++ b/frontend/src/views/Pages/UserProfileEdit.vue @@ -0,0 +1,39 @@ + + + diff --git a/frontend/yarn.lock b/frontend/yarn.lock index fcf5528ae..4ba4377ee 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1689,7 +1689,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base64-js@^1.0.2: +base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -1950,12 +1950,30 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4 escalade "^3.1.1" node-releases "^1.1.70" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + buffer-equal@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= -buffer-from@^1.0.0: +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +buffer-from@^1.0.0, buffer-from@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== @@ -1979,6 +1997,14 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.4.3: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -3407,6 +3433,11 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dijkstrajs@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b" + integrity sha1-082BIh4+pAdCz83lVtTpnpjdxxs= + dir-glob@^2.0.0, dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -5075,7 +5106,7 @@ icss-utils@^2.1.0: dependencies: postcss "^6.0.1" -ieee754@^1.1.4: +ieee754@^1.1.13, ieee754@^1.1.4: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -7098,6 +7129,11 @@ pluralize@^7.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== +pngjs@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + popper.js@^1.16.1: version "1.16.1" resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" @@ -7595,6 +7631,19 @@ q@^1.1.2: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= +qrcode@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" + integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q== + dependencies: + buffer "^5.4.3" + buffer-alloc "^1.2.0" + buffer-from "^1.1.1" + dijkstrajs "^1.0.1" + isarray "^2.0.1" + pngjs "^3.3.0" + yargs "^13.2.4" + qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" @@ -9538,6 +9587,11 @@ vue-qrcode-reader@^2.3.16: vue "^2.6.11" webrtc-adapter "7.7.0" +vue-qrcode@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/vue-qrcode/-/vue-qrcode-0.3.5.tgz#d95bd81fea0c7f007f4e69244203d0eee2d573a5" + integrity sha512-AZJ+HzhOFokHuMVVwUIjG1FCWT1vJqn/Ro8XnQbyNlZTlQ8l4040JawVqUvTql3AdjJnI9bXaCTPplN502SnFw== + vue-router@^3.0.6: version "3.5.1" resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.1.tgz#edf3cf4907952d1e0583e079237220c5ff6eb6c9" @@ -9892,7 +9946,7 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== -yargs@^13.2.2, yargs@^13.3.2: +yargs@^13.2.2, yargs@^13.2.4, yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==